04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from the kernel documentation.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

03 Oct, 2012

1 commit

  • Pull spi updates from Mark Brown:
    "No framework work here, only a bunch of driver updates of varying
    sizes:

    - Factoring out of the core hardware support from the MXS MMC driver
    by Marek Vasut to allow the hardware to also be used for SPI.
    - Lots of error handling cleanups from Guenter Roeck
    - Removal of the existing Tegra driver which is quite comprehensively
    broken as detailed in the changelog for the removal.
    - DT suppport for the PL022 and GPIO drivers.
    - pinctrl support for OMAP and PL022."

    Pulling from Mark Brown as Grant Likely is still busy moving.

    * tag 'spi-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (53 commits)
    spi: remove completely broken Tegra driver
    spi/imx: set the inactive state of the clock according to the clock polarity
    spi/pl022: get/put resources on suspend/resume
    spi/pl022: use more managed resources
    spi/pl022: Devicetree support w/o platform data
    spi/s3c64xx: Don't free controller_data on non-dt platforms
    spi: omap2-mcspi: add pinctrl support
    spi/pl022: adopt pinctrl support
    spi: omap2-mcspi: Cleanup the omap2_mcspi_txrx_dma function
    spi/gpio: Fix stub for spi_gpio_probe_dt()
    spi/mxs: Make the SPI block clock speed configurable via DT
    spi: spi-sh-hspi: drop frees of devm_ alloc'd data
    spi/pl022: Fix chipselects pointer computation
    spi: spi-tle62x0: Use module_spi_driver macro
    mxs/spi: Rework the mxs_ssp_timeout to be more readable
    mxs/spi: Decrement the DMA/PIO border
    mxs/spi: Increment the transfer length only if transfer succeeded
    mxs/spi: Fix issues when doing long continuous transfer
    spi: spi-gpio: Add DT bindings
    spi: spi-gpio: store chipselect information in private structure
    ...

    Linus Torvalds
     

14 Sep, 2012

1 commit

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the ep93xx include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Hartley Sweeten
    Acked-by: Ryan Mallon
    Acked-by: Vinod Koul
    Cc: Grant Likely
    Cc: Jeff Garzik
    Cc: Dan Williams
    Cc: Dmitry Torokhov
    Cc: Florian Tobias Schandinat
    Cc: Liam Girdwood
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Mika Westerberg
    Cc: Axel Lin

    Arnd Bergmann
     

23 Aug, 2012

1 commit


08 Mar, 2012

1 commit

  • This rips the message queue in the PL022 driver out and pushes
    it into (optional) common infrastructure. Drivers that want to
    use the message pumping thread will need to define the new
    per-messags transfer methods and leave the deprecated transfer()
    method as NULL.

    Most of the design is described in the documentation changes that
    are included in this patch.

    Since there is a queue that need to be stopped when the system
    is suspending/resuming, two new calls are implemented for the
    device drivers to call in their suspend()/resume() functions:
    spi_master_suspend() and spi_master_resume().

    ChangeLog v1->v2:
    - Remove Kconfig entry and do not make the queue support optional
    at all, instead be more agressive and have it as part of the
    compulsory infrastructure.
    - If the .transfer() method is implemented, delete print a small
    deprecation notice and do not start the transfer pump.
    - Fix a bitrotted comment.
    ChangeLog v2->v3:
    - Fix up a problematic sequence courtesy of Chris Blair.
    - Stop rather than destroy the queue on suspend() courtesy of
    Chris Blair.

    Signed-off-by: Chris Blair
    Signed-off-by: Linus Walleij
    Tested-by: Mark Brown
    Reviewed-by: Mark Brown
    Signed-off-by: Grant Likely

    Linus Walleij
     

28 Sep, 2011

1 commit

  • There are numerous broken references to Documentation files (in other
    Documentation files, in comments, etc.). These broken references are
    caused by typo's in the references, and by renames or removals of the
    Documentation files. Some broken references are simply odd.

    Fix these broken references, sometimes by dropping the irrelevant text
    they were part of.

    Signed-off-by: Paul Bolle
    Signed-off-by: Jiri Kosina

    Paul Bolle
     

19 Jun, 2011

1 commit


09 Jun, 2011

1 commit

  • This patch adds DMA support for the EP93xx SPI driver. By default the DMA is
    not enabled but it can be enabled by setting ep93xx_spi_info.use_dma to true
    in board configuration file.

    Note that the SPI driver still uses PIO for small transfers (
    Acked-by: H Hartley Sweeten
    Acked-by: Vinod Koul
    Signed-off-by: Grant Likely

    Mika Westerberg
     

31 Mar, 2011

1 commit


01 Dec, 2010

1 commit

  • The PXA-SPI driver relies on some files / defines which are arm specific
    and are within the ARM tree. The CE4100 SoC which is x86 has also the
    SPI core.
    This patch moves the ssp and spi files from arm/mach-pxa and plat-pxa to
    include/linux where the CE4100 can access them.

    This move got verified by building the following defconfigs:
    cm_x2xx_defconfig corgi_defconfig em_x270_defconfig ezx_defconfig
    imote2_defconfig pxa3xx_defconfig spitz_defconfig zeus_defconfig
    raumfeld_defconfig magician_defconfig

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Dirk Brandewie

    Sebastian Andrzej Siewior
     

25 May, 2010

2 commits

  • This patch adds an SPI master driver for the Cirrus EP93xx SPI controller found
    in EP93xx chips.

    Signed-off-by: Mika Westerberg
    Signed-off-by: H Hartley Sweeten
    Acked-by: H Hartley Sweeten
    Signed-off-by: Grant Likely

    Mika Westerberg
     
  • Fix this warning:

    Documentation/spi/spidev_fdx.c: In function `do_msg':
    Documentation/spi/spidev_fdx.c:61: warning: cast from pointer to integer of different size
    Documentation/spi/spidev_fdx.c:64: warning: cast from pointer to integer of different size

    buf should be unsigned long to match native arch on 32-bit x86 compile.

    Signed-off-by: Prarit Bhargava
    Signed-off-by: Grant Likely

    Prarit Bhargava
     

30 Apr, 2010

1 commit

  • The sample application spidev_test.c is using SPI_IOC_MESSAGE ioctl to do
    an SPI transfer. This ioctl returns the number of bytes successfully
    transmitted or a negative error code upon erroneous completion. The
    application however is returning an error if the result of the ioclt if
    the return value is 1. This makes the application to fail upon 1-byte
    length transfers.

    Signed-off-by: Hector Palacios
    Signed-off-by: Andrew Morton
    Signed-off-by: Grant Likely

    Hector Palacios
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

23 Sep, 2009

2 commits


01 Jul, 2009

1 commit

  • Add two new spi_device.mode bits to accomodate more protocol options, and
    pass them through to usermode drivers:

    * SPI_NO_CS ... a second 3-wire variant, where the chipselect
    line is removed instead of a data line; transfers are still
    full duplex.

    This obviously has STRONG protocol implications since the
    chipselect transitions can't be used to synchronize state
    transitions with the SPI master.

    * SPI_READY ... defines open drain signal that's pulled low
    to pause the clock. This defines a 5-wire variant (normal
    4-wire SPI plus READY) and two 4-wire variants (READY plus
    each of the 3-wire flavors).

    Such hardware flow control can be a big win. There are ADC
    converters and flash chips that expose READY signals, but not
    many host controllers support it today.

    The spi_bitbang code should be changed to use SPI_NO_CS instead of its
    current nonportable hack. That's a mode most hardware can easily support
    (unlike SPI_READY).

    Signed-off-by: David Brownell
    Cc: "Paulraj, Sandeep"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

22 Apr, 2009

1 commit

  • This is a doc-only patch which I hope will reduce the number of
    spi_master controller driver patches starting out with a common
    implementation bug.

    (As in: almost every spi_master driver I see starts out with its
    version of this bug. Sigh.)

    It just re-emphasizes that the setup() method may be called for one
    device while a transfer is active on another ... which means that most
    driver implementations shouldn't touch any registers.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

07 Jan, 2009

1 commit

  • This fixes a byteswap bug in the LM70 temperature sensor driver,
    which was previously covered up by a converse bug in the driver
    for the LM70EVAL-LLP board (which is also fixed).

    Other fixes: doc updates, remove an annoying msleep(), and improve
    three-wire protocol handling.

    Signed-off-by: Kaiwan N Billimoria
    [ dbrownell@users.sourceforge.net: doc and whitespace tweaks ]
    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    Kaiwan N Billimoria
     

02 Dec, 2008

1 commit


31 Oct, 2008

1 commit


17 Oct, 2008

1 commit

  • Make the chip info structure data optional by providing reasonable
    defaults. Improve corresponding documentation, and highlight the drawback
    of not providing explicit chipselect control.

    DMA can determine appropriate dma_burst_size and thresholds automatically
    so use DMA even if dma_burst_size is not specified.

    Signed-off-by: Vernon Sauder
    Reviewed-by: Ned Forrester
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vernon Sauder
     

13 Aug, 2008

1 commit

  • Currently source files in the Documentation/ sub-dir can easily bit-rot
    since they are not generally buildable, either because they are hidden in
    text files or because there are no Makefile rules for them. This needs to
    be fixed so that the source files remain usable and good examples of code
    instead of bad examples.

    Add the ability to build source files that are in the Documentation/ dir.
    Add to Kconfig as "BUILD_DOCSRC" config symbol.

    Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the
    Documentation/ sources. Or enable BUILD_DOCSRC in the *config system.
    However, this symbol depends on HEADERS_CHECK since the header files need
    to be installed (for userspace builds).

    Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,
    sparc64, powerpc, sh, m68k, & mips.

    Signed-off-by: Randy Dunlap
    Reviewed-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

07 Aug, 2008

1 commit


28 Apr, 2008

1 commit


09 Apr, 2008

1 commit

  • Update SPI documentation to clarify some areas of recent confusion: clock
    polarity takes effect when chipselect goes active; and zero length buffers are
    OK in certain cases.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

20 Oct, 2007

1 commit

  • * Convert files to UTF-8.

    * Also correct some people's names
    (one example is Eißfeldt, which was found in a source file.
    Given that the author used an ß at all in a source file
    indicates that the real name has in fact a 'ß' and not an 'ss',
    which is commonly used as a substitute for 'ß' when limited to
    7bit.)

    * Correct town names (Goettingen -> Göttingen)

    * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313)

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Adrian Bunk

    Jan Engelhardt
     

17 Oct, 2007

2 commits


01 Aug, 2007

1 commit

  • This is a simple utility used to test SPI functionality. It could stand
    growing options to support using other test data patterns; this initial
    version only issues full duplex transfers, which rules out 3WIRE or
    Microwire links.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

18 Jul, 2007

1 commit

  • This adds a driver for the LM70-LLP parport adapter, which is an eval board
    for the LM70 temperature sensor. For those without that board, it may be a
    simpler example of a parport-to-SPI adapter then spi_butterfly.

    Signed-off-by: Kaiwan N Billimoria

    Doc, coding style, and interface updates; build fixes. Minor rename.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kaiwan N Billimoria
     

24 May, 2007

1 commit


09 May, 2007

2 commits

  • Various documentation updates for the SPI infrastructure, to clarify things
    that may not have been clear, to cope with lack of editing, and fix
    omissions.

    Also, plug SPI into the kernel-api DocBook template, and fix all the
    resulting glitches in document generation.

    Signed-off-by: David Brownell
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Add a filesystem API for stack. The initial version of
    this interface is purely synchronous.

    dbrownell@users.sourceforge.net:

    Cleaned up, bugfixed; much simplified; added preliminary documentation.

    Works with mdev given CONFIG_SYSFS_DEPRECATED; and presumably udev.

    Updated SPI_IOC_MESSAGE ioctl to full spi_message semantics, supporting
    groups of one or more transfers (each of which may be full duplex if
    desired).

    This is marked as EXPERIMENTAL with an explicit disclaimer that the API
    (notably the ioctls) is subject to change.

    Signed-off-by: Andrea Paterniani
    Signed-off-by: David Brownell
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrea Paterniani
     

22 Apr, 2007

1 commit

  • This patch removes the unnecessary bit number from CKENnn_XXXX
    definitions for PXA, so that

    CKEN0_PWM0 --> CKEN_PWM0
    CKEN1_PWM1 --> CKEN_PWM1
    ...
    CKEN24_CAMERA --> CKEN_CAMERA

    The reasons for the change of these defitions are:

    1. they do not scale - they are currently valid for pxa2xx, but
    definitely not valid for pxa3xx, e.g., pxa3xx has bit 3 for camera
    instead of bit 24

    2. they are unnecessary - the peripheral name within the definition
    has already announced its usage, we don't need those bit numbers
    to know which peripheral we are going to enable/disable clock for

    3. they are inconvenient - think about this: a driver programmer
    for pxa has to remember which bit in the CKEN register to turn
    on/off

    Another change in the patch is to make the definitions equal to its
    clock bit index, so that

    #define CKEN_CAMERA (24)

    instead of

    #define CKEN_CAMERA (1 << 24)

    this change, however, will add a run-time bit shift operation in
    pxa_set_cken(), but the benefit of this change is that it scales
    when bit index exceeds 32, e.g., pxa3xx has two registers CKENA
    and CKENB, totally 64 bit for this, suppose CAMERA clock enabling
    bit is CKENB:10, one can simply define CKEN_CAMERA to be (32 + 10)
    and so that pxa_set_cken() need minimum change to adapt to that.

    Signed-off-by: eric miao
    Signed-off-by: Russell King

    Eric Miao
     

13 Feb, 2007

2 commits


11 Dec, 2006

1 commit

  • Stabilize PIO mode transfers against a range of word sizes and FIFO
    thresholds and fixes word size setup/override issues.

    1) 16 and 32 bit DMA/PIO transfers broken due to timing differences.
    2) Potential for bad transfer counts due to transfer size assumptions.
    3) Setup function broken is multiple ways.
    4) Per transfer bit_per_word changes break DMA setup in pump_tranfers.
    5) False positive timeout are not errors.
    6) Changes in pxa2xx_spi_chip not effective in calls to setup.
    7) Timeout scaling wrong for PXA255 NSSP.
    8) Driver leaks memory while busy during unloading.

    Known issues:

    SPI_CS_HIGH and SPI_LSB_FIRST settings in struct spi_device are not handled.

    Testing:

    This patch has been test against the "random length, random bits/word,
    random data (verified on loopback) and stepped baud rate by octaves
    (3.6MHz to 115kHz)" test. It is robust in PIO mode, using any
    combination of tx and rx thresholds, and also in DMA mode (which
    internally computes the thresholds).

    Much thanks to Ned Forrester for exhaustive reviews, fixes and testing.
    The driver is substantially better for his efforts.

    Signed-off-by: Stephen Street
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Street
     

04 Oct, 2006

1 commit


17 May, 2006

1 commit

  • 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

    David Brownell