From: <nwk...@gmail.com> Reply-To: "beagleboard@googlegroups.com" <beagleboard@googlegroups.com> Date: Tuesday, July 29, 2014 at 7:33 AM To: "beagleboard@googlegroups.com" <beagleboard@googlegroups.com> Subject: Re: [beagleboard] Using SPI in a kernel module
> Thanks, John. > > I Iooked at kernel/drivers/iio/dac/ad/5064.c > > There's the following struct which is passed to spi_register_driver(): > static struct spi_driver ad5064_spi_driver = { > .driver = { > .name = "ad5064", > .owner = THIS_MODULE, > }, > .probe = ad5064_spi_probe, > .remove = ad5064_spi_remove, > .id_table = ad5064_spi_ids, > }; > > I compiled the module and loaded it but the probe function never gets called. > Why? >From this I can see that this driver isn¹t DeviceTree enabled so I¹m not sure which SPI interface it is using. Either you can add the devicetree support to this driver so that you can specify which SPI interface to use, or e-mail the Linux-IIO mailing list and see how to use this driver. Regards, John > > > > Am Montag, 28. Juli 2014 18:09:34 UTC+2 schrieb john3909: >> >> From: Nils <nwk...@gmail.com <javascript:> > >> Reply-To: "beagl...@googlegroups.com <javascript:> " >> <beagl...@googlegroups.com <javascript:> > >> Date: Monday, July 28, 2014 at 7:00 AM >> To: "beagl...@googlegroups.com <javascript:> " <beagl...@googlegroups.com >> <javascript:> > >> Subject: [beagleboard] Using SPI in a kernel module >> >>> Hello, >>> >>> I'm currently working on a kernel module which needs to communicate via SPI >>> to an external microchip. >>> >>> I used the cape manager to enable SPI. The device is accessible through >>> /dev/spidev1.0. >>> But since it's a kernel module, I guess it's not recommended to access files >>> via sys_open()? >>> >>> Another approach I found would be adding a struct to >>> arch/arm/mach-omap2/board-am335xevm.c and then use spi_register_driver() in >>> my kernel module. But in my kernel sources (3.8.13) this file doesn't exist. >> There is no board files since the introduction of device tree. >>> >>> >>> What would be the right way to use SPI in my kernel module? >> Look at examples in /drivers/staging/iio or /drivers/iio >> >> There are plenty of examples of using SPI calls in a kernel module. >> >> Use the power of GIT to find what you are looking for. In the Kernel source >> do the following: >> >> git grep spi_sync_transfer >> >> Regards, >> John >>> >>> >>> Regards, >>> Nils >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to beagleboard...@googlegroups.com <javascript:> . >>> For more options, visit https://groups.google.com/d/optout. > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.