diff options
author | David Brownell <david-b@pacbell.net> | 2006-01-08 16:34:19 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-13 19:29:54 -0500 |
commit | 8ae12a0d85987dc138f8c944cb78a92bf466cea0 (patch) | |
tree | ca032f25bb26f88cc35d68c6f8065143ce64a6a8 /drivers/spi/Makefile | |
parent | 67daf5f11f06b9b15f8320de1d237ccc2e74fe43 (diff) |
[PATCH] spi: simple SPI framework
This is the core of a small SPI framework, implementing the model of a
queue of messages which complete asynchronously (with thin synchronous
wrappers on top).
- It's still less than 2KB of ".text" (ARM). If there's got to be a
mid-layer for something so simple, that's the right size budget. :)
- The guts use board-specific SPI device tables to build the driver
model tree. (Hardware probing is rarely an option.)
- This version of Kconfig includes no drivers. At this writing there
are two known master controller drivers (PXA/SSP, OMAP MicroWire)
and three protocol drivers (CS8415a, ADS7846, DataFlash) with LKML
mentions of other drivers in development.
- No userspace API. There are several implementations to compare.
Implement them like any other driver, and bind them with sysfs.
The changes from last version posted to LKML (on 11-Nov-2005) are minor,
and include:
- One bugfix (removes a FIXME), with the visible effect of making device
names be "spiB.C" where B is the bus number and C is the chipselect.
- The "caller provides DMA mappings" mechanism now has kerneldoc, for
DMA drivers that want to be fancy.
- Hey, the framework init can be subsys_init. Even though board init
logic fires earlier, at arch_init ... since the framework init is
for driver support, and the board init support uses static init.
- Various additional spec/doc clarifications based on discussions
with other folk. It adds a brief "thank you" at the end, for folk
who've helped nudge this framework into existence.
As I've said before, I think that "protocol tweaking" is the main support
that this driver framework will need to evolve.
From: Mark Underwood <basicmark@yahoo.com>
Update the SPI framework to remove a potential priority inversion case by
reverting to kmalloc if the pre-allocated DMA-safe buffer isn't available.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/spi/Makefile')
-rw-r--r-- | drivers/spi/Makefile | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile new file mode 100644 index 000000000000..afd2321753b3 --- /dev/null +++ b/drivers/spi/Makefile | |||
@@ -0,0 +1,23 @@ | |||
1 | # | ||
2 | # Makefile for kernel SPI drivers. | ||
3 | # | ||
4 | |||
5 | ifeq ($(CONFIG_SPI_DEBUG),y) | ||
6 | EXTRA_CFLAGS += -DDEBUG | ||
7 | endif | ||
8 | |||
9 | # small core, mostly translating board-specific | ||
10 | # config declarations into driver model code | ||
11 | obj-$(CONFIG_SPI_MASTER) += spi.o | ||
12 | |||
13 | # SPI master controller drivers (bus) | ||
14 | # ... add above this line ... | ||
15 | |||
16 | # SPI protocol drivers (device/link on bus) | ||
17 | # ... add above this line ... | ||
18 | |||
19 | # SPI slave controller drivers (upstream link) | ||
20 | # ... add above this line ... | ||
21 | |||
22 | # SPI slave drivers (protocol for that link) | ||
23 | # ... add above this line ... | ||