On Tue, Sep 22, 2009 at 9:59 AM, Michal Ludvig <mludvig@xxxxxxxxxxxx> wrote: > Hi all, > > I've got a digital IO board sitting on a ISA bus in an industrial x86 > computer. I've got a simple driver with ioctl interface for toggling the > IO pins Hi and Low and it works fine. > > Now I'm about to develop a bitbanging SPI driver with the use of > drivers/spi/spi_bitbang.c. Unfortunately I don't understand how to glue > it with my IO driver, more precisely - how to register a new SPI driver. > > The other modules in drivers/spi seem to use platform_driver_register() > or spi_register_driver() to get their blah_probe() called and then they > go from there. However, whatever I tried, my _probe() method never gets > called. The module is as simple as this (remove/exit methods omitted > from this email): > >From here: http://www.mjmwired.net/kernel/Documentation/spi/spi-summary it seemed that SPI's internal is very much board specifics, so perhaps u would like let us know the board identity? http://www.linuxforums.org/forum/linux-kernel/143191-question-about-adding-spi-driver-support.html This following is a board-specific howto: http://www.at91.com/samphpbb/viewtopic.php?f=12&t=18280 > static int inro_spi_probe(struct spi_device *dev) > { > printk(KERN_INFO PFX "inro_spi_probe() called\n"); > return -ENODEV; > } > static struct spi_driver inro_spi_drv = { > .probe = inro_spi_probe, > .driver = { .name = "inro_spi", .owner = THIS_MODULE, }, > }; > static int __init inro_spi_init(void) > { > printk(KERN_INFO PFX "inro_spi_init() called\n"); > return spi_register_driver(&inro_spi_drv); > } > module_init(inro_spi_init); > > I tried spi_register_driver() as well as platform_driver_register() both > to no avail. I assume I'd need some support in xxx_platform_data for > platform_driver_register() to work but since we're running an unmodified > Debian kernel on x86 I can't do that. What needs to be done for > spi_register_driver() to call my _probe() I have no idea. > check dmesg, is there anything indicating existing kernel already is able to detect the hardware? > > So my question is how to register/init the module and make it available > to the SPI subsystem? I somehow can't figure it out :-( > > Thanks for any hints! > > Michal > -- Regards, Peter Teoh -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ