android_kernel_samsung_msm8976/drivers
David Brownell 8ae12a0d85 [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>
2006-01-13 16:29:54 -08:00
..
acorn [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
acpi [PATCH] i386: Handle missing local APIC timer interrupts on C3 state 2006-01-11 19:04:54 -08:00
amba [ARM] Remove asm/irq.h includes from ARM drivers 2006-01-09 13:56:42 +00:00
atm [ATM]: Remove unneeded kmalloc() return value casts + tiny whitespace cleanup 2006-01-10 13:09:01 -08:00
base [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge 2006-01-12 10:21:22 -08:00
bluetooth [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
cdrom [PATCH] powerpc: remove bitfields from HvLpEvent 2006-01-12 20:09:29 +11:00
char Merge branch 'drm-forlinus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2006-01-12 13:53:40 -08:00
connector [PATCH] Switch getnstimestamp() calls to ktime_get_ts() 2006-01-10 08:01:39 -08:00
cpufreq [CPUFREQ] CPU frequency display in /proc/cpuinfo 2005-12-06 19:35:11 -08:00
crypto [CRYPTO] Allow AES C/ASM implementations to coexist 2006-01-09 14:15:39 -08:00
dio
eisa
fc4 [SPARC]: introduce a SPARC Kconfig symbol 2005-12-22 23:09:54 -08:00
firmware [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
hwmon [PATCH] drivers/*rest*: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:23 -08:00
i2c [ARM] 3237/1: PXA I2C driver updates 2006-01-12 16:30:23 +00:00
ide [PATCH] Revert ide softirq handling 2006-01-12 12:00:47 -08:00
ieee1394 [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2006-01-08 20:18:44 -08:00
input [PATCH] m68k: namespace pollution fix (custom->amiga_custom) 2006-01-12 09:09:00 -08:00
isdn [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
macintosh [PATCH] m68k: NULL noise removal 2006-01-12 09:09:04 -08:00
mca
md [PATCH] md: remove slashes from disk names when creation dev names in sysfs 2006-01-12 09:08:49 -08:00
media V4L/DVB (3354): VIDEO_SAA7134_ALSA shouldn't select SND_PCM_OSS 2006-01-12 00:37:59 -02:00
message [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
mfd [MMC+MFD] Convert mmc to mutexes 2006-01-12 18:43:35 +00:00
misc Input: ibmasm - fix input initialization error path 2006-01-10 02:00:39 -05:00
mmc [MMC+MFD] Convert mmc to mutexes 2006-01-12 18:43:35 +00:00
mtd [PATCH] turn "const static" into "static const" 2006-01-10 08:01:55 -08:00
net [PATCH] via-velocity: use NETIF_F_IP_CSUM (hardware only support IPv4) 2006-01-12 16:39:45 -05:00
nubus
oprofile [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
parisc [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
parport [PARISC] Fix parport_gsc by selecting PARPORT_NOT_PC 2006-01-10 21:52:25 -05:00
pci Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2006-01-12 14:00:47 -08:00
pnp [PATCH] x86: Fixed pnp bios limits 2006-01-06 08:33:35 -08:00
rapidio [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
s390 [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
sbus [PATCH] sbus/char/uctrl: missing prototypes and NULL noise removal 2005-12-15 10:01:28 -08:00
scsi [PATCH] m68k: fix PIO case in esp 2006-01-12 09:09:05 -08:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2006-01-12 14:00:47 -08:00
sh
sn
spi [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00
tc
telephony [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
usb [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
video [PATCH] m68k: fix macfb init 2006-01-12 09:09:05 -08:00
w1 spelling: s/usefull/useful/ 2006-01-10 00:08:17 +01:00
zorro [PATCH] m68k: zorro __user annotations 2006-01-12 09:09:04 -08:00
Kconfig [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00
Makefile [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00