--- David Brownell <[EMAIL PROTECTED]> wrote:

> The last couple times SPI frameworks came up here,
> some of the feedback
> included "make it use the driver model properly;
> don't be like I2C".
> 
> In hopes that it'll be useful, here's a small SPI
> core with driver model
> support driven from board-specific tables listing
> devices.  I expect the
> I/O call(s) could stand to change; but at least this
> one starts out right,
> based on async I/O.  (There's a synchronous call;
> it's a trivial wrapper.)
> 
>  arch/arm/Kconfig       |    2 
>  drivers/Kconfig        |    2 
>  drivers/Makefile       |    1 
>  drivers/spi/Kconfig    |  302
> +++++++++++++++++++++++++++++++++++++++++++++
>  drivers/spi/Makefile   |   32 ++++
>  drivers/spi/spi_init.c |  233
> ++++++++++++++++++++++++++++++++++
>  include/linux/spi.h    |  179
> ++++++++++++++++++++++++++
>  7 files changed, 751 insertions(+)
> 
> Here's one instance of the sysfs "spi_host" class:
> 
>       [EMAIL PROTECTED] sys]# cd /sys/class
>       [EMAIL PROTECTED] class]# ls
>       i2c-adapter/   misc/          pcmcia_socket/
> spi_host/      usb_host/
>       input/         mtd/           scsi_device/   tty/  
>         vc/
>       mem/           net/           scsi_host/     usb/
>       [EMAIL PROTECTED] class]# ls spi_host
>       spi2/
>       [EMAIL PROTECTED] class]# ls -l spi_host/spi2
>       drwxr-xr-x    2 root     root            0 Aug 29
> 18:46 ./
>       drwxr-xr-x    3 root     root            0 Dec 31 
> 1969 ../
>       lrwxrwxrwx    1 root     root            0 Aug 29
> 18:46 device ->
> ../../../devices/platform/omap-uwire/
>       [EMAIL PROTECTED] class]#
> 
> Here are the real sysfs objects for that host and
> its single child
> (on chipselect 0).  Notice that the device exists,
> but is waiting for
> driver-modelized ads7846 support (touchscreen and
> other sensors):
> 
>       [EMAIL PROTECTED] class]# cd
> /sys/devices/platform/omap-uwire
>       [EMAIL PROTECTED] omap-uwire]# ls
>       bus@            driver@         power/         
> spi2.0-ads7846/
>       [EMAIL PROTECTED] omap-uwire]# ls -l spi*
>       lrwxrwxrwx    1 root     root            0 Aug 29
> 18:46 bus -> ../../../../bus/spi/
>       -r--r--r--    1 root     root         4096 Aug 29
> 18:46 modalias
>       drwxr-xr-x    2 root     root            0 Aug 29
> 18:46 power/
>       [EMAIL PROTECTED] omap-uwire]# cat spi*/modalias
>       ads7846
>       [EMAIL PROTECTED] omap-uwire]#
> 
> For your viewing pleasure, and without the broadast
> flag that would
> prevent further redistribution, a patch is appended.
> 
> - Dave
> 
> 
> -----------------------------------------     SNIP!!
> This is the start of a small SPI framework that
> started fresh, so it
> doesn't continue the "i2c driver model mess".

-= snip =-

Well I guess great minds think alike ;-). After
looking though my SPI core layer I released that it in
no way reflected the new driver model (not surprising
as it was a copy of i2c-core.c) and I would probably
get laughed off the kernel mailing list if I sent it
as was ;-).  
I am now writing a new spi-core.c which uses the new
driver model.

For registering an adapter:
1) Register an adapter that has a cs table showing
where devices sit on the adapter.
2) This causes spi-core to enumerate the devices on
the cs table and register them.

For un-registering an adapter:
1) Unregister an adapter
2) This causes spi-core to remove all the children of
the adapter

I have a test adapter and a couple of test devices and
am currently debugging a usage count problem. I will
send a patch once I have a working system.

Mark




                
___________________________________________________________ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to