04 Oct, 2006
1 commit
-
Remove many duplicated words under Documentation/ and do other small
cleanups.Examples:
"and and" --> "and"
"in in" --> "in"
"the the" --> "the"
"the the" --> "to the"
...Signed-off-by: Paolo Ornati
Signed-off-by: Adrian Bunk
17 May, 2006
2 commits
-
We need to be able to have a "SPI bus 0" matching chip numbering; but
that number was wrongly used to flag dynamic allocation of a bus number.This patch resolves that issue; now negative numbers trigger dynamic alloc.
It also updates the how-to-write-a-controller-driver overview to mention
this stuff.Signed-off-by: David Brownell
Signed-off-by: Greg Kroah-Hartman -
This driver turns a PXA2xx synchronous serial port (SSP) into a SPI master
controller (see Documentation/spi/spi_summary). The driver has the following
features:- Support for any PXA2xx SSP
- SSP PIO and SSP DMA data transfers.
- External and Internal (SSPFRM) chip selects.
- Per slave device (chip) configuration.
- Full suspend, freeze, resume support.Signed-off-by: Stephen Street
Signed-off-by: Andrew Morton
Cc: David Brownell
Signed-off-by: Greg Kroah-Hartman
07 Feb, 2006
1 commit
-
This resolves some minor version skew glitches that accumulated for the AVR
Butterfly adapter driver, which caused among other things the existence of
a duplicate Kconfig entry. Most of it boils down to comment updates, but in
one case it removes some now-superfluous code that would be better if not
copied into other controller-level drivers.Signed-off-by: David Brownell
14 Jan, 2006
5 commits
-
This adds a bitbanging parport based adaptor cable for AVR Butterfly, giving
SPI links to its DataFlash chip and (eventually) firmware running in the card.Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
This collects some small SPI patches that seem to be missing from the MM tree:
- spi_butterfly kbuild hooks got dropped somehow; this restores them
- quick fix for a (theoretical?) m25p80_write() oops noted by Andrew
- quick fix for a potential config-specific oops for mtd_dataflash()
- minor doc tweaksSigned-off-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
This includes various updates to the SPI core:
- Fixes a driver model refcount bug in spi_unregister_master() paths.
- The spi_master structures now have wrappers which help keep drivers
from needing class-level get/put for device data or for refcounts.- Check for a few setup errors that would cause oopsing later.
- Docs say more about memory management. Highlights the use of DMA-safe
i/o buffers, and zero-initializing spi_message and such metadata.- Provide a simple alloc/free for spi_message and its spi_transfer;
this is only one of the possible memory management policies.Nothing to break code that already works.
Signed-off-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
This is a refresh of the "Simple SPI Framework" found in 2.6.15-rc3-mm1
which makes the following changes:* There's now a "struct spi_driver". This increase the footprint
of the core a bit, since it now includes code to do what the driver
core was previously handling directly. Documentation and comments
were updated to match.* spi_alloc_master() now does class_device_initialize(), so it can
at least be refcounted before spi_register_master(). To match,
spi_register_master() switched over to class_device_add().* States explicitly that after transfer errors, spi_devices will be
deselected. We want fault recovery procedures to work the same
for all controller drivers.* Minor tweaks: controller_data no longer points to readonly data;
prevent some potential cast-from-null bugs with container_of calls;
clarifies some existing kerneldoc,And a few small cleanups.
Signed-off-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
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
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
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman