02 Feb, 2010

1 commit


30 Jan, 2010

1 commit


21 Jan, 2010

2 commits

  • The driver core allows for a platform-specific chipselect assert/deassert
    function, however the chipselect function in the core doesn't take advantage
    of this fact.

    This enables the use of a custom function, should it be defined.

    Signed-off-by: George Shore
    Signed-off-by: Grant Likely

    George Shore
     
  • Now dw_spi core fully supports 3 transfer modes: pure polling,
    DMA and IRQ mode. IRQ mode will use the FIFO half empty as
    the IRQ trigger, so each interface driver need set the fifo_len,
    so that core driver can handle it properly

    Signed-off-by: Feng Tang
    Signed-off-by: Grant Likely

    Feng Tang
     

19 Jan, 2010

1 commit


18 Dec, 2009

1 commit

  • * 'next-spi' of git://git.secretlab.ca/git/linux-2.6:
    spi: spi_txx9.c: use resource_size()
    spi: spi_sh_sci.c: use resource_size()
    spi: spi_mpc8xxx.c: use resource_size()
    spi: spi_bfin5xx.c: use resource_size()
    spi: atmel_spi.c: use resource_size()
    spi: Add s3c64xx SPI Controller driver
    atmel_spi: fix dma addr calculation for len > BUFFER_SIZE
    spi_s3c24xx: add FIQ pseudo-DMA support
    spi: controller driver for Designware SPI core
    spidev: add proper section markers
    spidev: use DECLARE_BITMAP instead of declaring the array

    Linus Torvalds
     

17 Dec, 2009

1 commit

  • Driver for the Designware SPI core, it supports multipul interfaces like
    PCI/APB etc. User can use "dw_apb_ssi_db.pdf" from Synopsys as HW
    datasheet.

    [randy.dunlap@oracle.com: fix build]
    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Feng Tang
    Cc: David Brownell
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Grant Likely

    Feng Tang
     

15 Dec, 2009

1 commit

  • * 'next-spi' of git://git.secretlab.ca/git/linux-2.6: (23 commits)
    spi: fix probe/remove section markings
    Add OMAP spi100k driver
    spi-imx: don't access struct device directly but use dev_get_platdata
    spi-imx: Add mx25 support
    spi-imx: use positive logic to distinguish cpu variants
    spi-imx: correct check for platform_get_irq failing
    ARM: NUC900: Add spi driver support for nuc900
    spi: SuperH MSIOF SPI Master driver V2
    spi: fix spidev compilation failure when VERBOSE is defined
    spi/au1550_spi: fix setupxfer not to override cfg with zeros
    spi/mpc8xxx: don't use __exit_p to wrap plat_mpc8xxx_spi_remove
    spi/i.MX: fix broken error handling for gpio_request
    spi/i.mx: drain MXC SPI transfer buffer when probing device
    MAINTAINERS: add SPI co-maintainer.
    spi/xilinx_spi: fix incorrect casting
    spi/mpc52xx-spi: minor cleanups
    xilinx_spi: add a platform driver using the xilinx_spi common module.
    xilinx_spi: add support for the DS570 IP.
    xilinx_spi: Switch to iomem functions and support little endian.
    xilinx_spi: Split into of driver and generic part.
    ...

    Linus Torvalds
     

13 Dec, 2009

2 commits

  • This patch is V2 of SPI Master support for the SuperH MSIOF.
    Full duplex, spi mode 0-3, active high cs, 3-wire and lsb
    first should all be supported, but the driver has so far
    only been tested with "mmc_spi".

    The MSIOF hardware comes with 32-bit FIFOs for receive and
    transmit, and this driver simply breaks the SPI messages
    into FIFO-sized chunks. The MSIOF hardware manages the pins
    for clock, receive and transmit (sck/miso/mosi), but the chip
    select pin is managed by software and must be configured as
    a regular GPIO pin by the board code.

    Performance wise there is still room for improvement, but
    on a Ecovec board with the built-in sh7724 MSIOF0 this driver
    gets Mini-sd read speeds of about half a megabyte per second.

    Future work include better clock setup and merging of 8-bit
    transfers into 32-bit words to reduce interrupt load and
    improve throughput.

    Signed-off-by: Magnus Damm
    Signed-off-by: Grant Likely

    Magnus Damm
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (151 commits)
    powerpc: Fix usage of 64-bit instruction in 32-bit altivec code
    MAINTAINERS: Add PowerPC patterns
    powerpc/pseries: Track previous CPPR values to correctly EOI interrupts
    powerpc/pseries: Correct pseries/dlpar.c build break without CONFIG_SMP
    powerpc: Make "intspec" pointers in irq_host->xlate() const
    powerpc/8xx: DTLB Miss cleanup
    powerpc/8xx: Remove DIRTY pte handling in DTLB Error.
    powerpc/8xx: Start using dcbX instructions in various copy routines
    powerpc/8xx: Restore _PAGE_WRITETHRU
    powerpc/8xx: Add missing Guarded setting in DTLB Error.
    powerpc/8xx: Fixup DAR from buggy dcbX instructions.
    powerpc/8xx: Tag DAR with 0x00f0 to catch buggy instructions.
    powerpc/8xx: Update TLB asm so it behaves as linux mm expects.
    powerpc/8xx: Invalidate non present TLBs
    powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate
    pseries/pseries: Add code to online/offline CPUs of a DLPAR node
    powerpc: stop_this_cpu: remove the cpu from the online map.
    powerpc/pseries: Add kernel based CPU DLPAR handling
    sysfs/cpu: Add probe/release files
    powerpc/pseries: Kernel DLPAR Infrastructure
    ...

    Linus Torvalds
     

10 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     

09 Dec, 2009

5 commits


19 Nov, 2009

1 commit

  • wl1251 supports also that NVS is stored in a separate EEPROM, add support
    for that.

    kvalo: use platform data instead Kconfig and use kernel style

    Signed-off-by: David-John Willis
    Signed-off-by: Kalle Valo
    Signed-off-by: John W. Linville

    David-John Willis
     

09 Nov, 2009

1 commit


05 Nov, 2009

1 commit


27 Sep, 2009

1 commit

  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: new driver for ADP5520/ADP5501 MFD PMICs
    backlight: extend event support to also support poll()
    backlight/eeepc-laptop: Update the backlight state when we change brightness
    backlight/acpi: Update the backlight state when we change brightness
    backlight: Allow drivers to update the core, and generate events on changes
    backlight: switch to da903x driver to dev_pm_ops
    backlight: Add support for the Avionic Design Xanthos backlight device.
    backlight: spi driver for LMS283GF05 LCD
    backlight: move hp680-bl's probe function to .devinit.text
    backlight: Add support for new Apple machines.
    backlight: mbp_nvidia_bl: add support for MacBookAir 1,1
    backlight: Add WM831x backlight driver

    Trivial conflicts due to '#ifdef CONFIG_PM' differences in
    drivers/video/backlight/da903x_bl.c

    Linus Torvalds
     

23 Sep, 2009

4 commits

  • A GPIO driver for the Freescale MC33880 High/Low side switch

    Signed-off-by: Richard Röjfors
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Röjfors
     
  • Support two new half-duplex SPI implementation restrictions, for links
    that talk to TX-only or RX-only devices. (Existing half-duplex flavors
    support both transfer directions, just not at the same time.)

    Move spi_async() into the spi.c core, and stop inlining it. Then make
    that function perform error checks and reject messages that demand more
    than the underlying controller can support.

    Based on a patch from Marek Szyprowski which did this only for the
    bitbanged GPIO driver.

    Cc: Marek Szyprowski
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • With this patch spi drivers can use standard spi_driver.id_table and
    MODULE_DEVICE_TABLE() mechanisms to bind against the devices. Just like
    we do with I2C drivers.

    This is useful when a single driver supports several variants of devices
    but it is not possible to detect them in run-time (like non-JEDEC chips
    probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is
    overkill.

    This patch also makes life a lot easier on OpenFirmware platforms, since
    with OF we extensively use proper device IDs in modaliases.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • Add missing kernel-doc notation in spi.h for struct spi_master:

    Warning(include/linux/spi/spi.h:289): No description found for parameter 'mode_bits'
    Warning(include/linux/spi/spi.h:289): No description found for parameter 'flags'

    Signed-off-by: Randy Dunlap
    Acked-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

07 Sep, 2009

1 commit

  • ADd support for the SPI part of LMS283GF05 LCD. The LCD uses SPI for
    initialization and powerdown sequences. No further defails are specified
    in the datasheet about the initialization/powerdown sequence, just the
    magic numbers that have to be sent over SPI bus. This LCD can be found in
    the Aeronix Zipit Z2 handheld.

    Signed-off-by: Marek Vasut
    Signed-off-by: Andrew Morton
    Signed-off-by: Richard Purdie

    Marek Vasut
     

01 Jul, 2009

2 commits

  • Add a new spi_master.flags word listing constraints relevant to that
    controller. Define the first constraint bit: a half duplex restriction.
    Include that constraint in the OMAP1 MicroWire controller driver.

    Have the mmc_spi host be the first customer of this flag. Its coding
    relies heavily on full duplex transfers, so it must fail when the
    underlying controller driver won't perform them.

    (The spi_write_then_read routine could use it too: use the
    temporarily-withdrawn full-duplex speedup unless this flag is set, in
    which case the existing code applies. Similarly, any spi_master
    implementing only SPI_3WIRE should set the flag.)

    Signed-off-by: David Brownell
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • 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
     

21 Jun, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (35 commits)
    Input: add driver for Synaptics I2C touchpad
    Input: synaptics - add support for reporting x/y resolution
    Input: ALPS - handle touchpoints buttons correctly
    Input: gpio-keys - change timer to workqueue
    Input: ads7846 - pin change interrupt support
    Input: add support for touchscreen on W90P910 ARM platform
    Input: appletouch - improve finger detection
    Input: wacom - clear Intuos4 wheel data when finger leaves proximity
    Input: ucb1400 - move static function from header into core
    Input: add driver for EETI touchpanels
    Input: ads7846 - more detailed model name in sysfs
    Input: ads7846 - support swapping x and y axes
    Input: ati_remote2 - use non-atomic bitops
    Input: introduce lm8323 keypad driver
    Input: psmouse - ESD workaround fix for OLPC XO touchpad
    Input: tsc2007 - make sure platform provides get_pendown_state()
    Input: uinput - flush all pending ff effects before destroying device
    Input: simplify name handling for certain input handles
    Input: serio - do not use deprecated dev.power.power_state
    Input: wacom - add support for Intuos4 tablets
    ...

    Linus Torvalds
     

19 Jun, 2009

2 commits

  • Move some common spi_setup() error checks into the SPI framework from the
    spi_master controller drivers:

    - Add a new "mode_bits" field to spi_master

    - Use that in spi_setup to validate the spi->mode value being
    requested. Setting this new field is now mandatory for any
    controller supporting more than vanilla SPI_MODE_0.

    - Update all spi_master drivers to:

    * Initialize that field
    * Remove current spi_setup() checks using that value.

    This is a net minor code shrink.

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

    David Brownell
     
  • Start moving some spi_setup() functionality into the SPI core from the
    various spi_master controller drivers:

    - Make that function stop being an inline;

    - Move two common idioms from drivers into that new function:
    * Default bits_per_word to 8 if that field isn't set
    * Issue a standardized dev_dbg() message

    This is a net minor source code shrink, and supports enhancments found in
    some follow-up patches.

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

    David Brownell
     

11 Jun, 2009

1 commit

  • This removes the dependency on GPIO framework and lets the SPI host
    driver handle the chip select. The SPI host driver is required to keep
    the CS active for the entire message unless cs_change says otherwise.
    This patch collects the two/three single SPI transfers into a message.
    Also the delay in read path in case use_dummy_writes are not used is
    moved into the SPI host driver.

    Tested-by: Mike Rapoport
    Tested-by: Andrey Yurovsky
    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Dan Williams
    Signed-off-by: John W. Linville

    Sebastian Andrzej Siewior
     

20 May, 2009

1 commit


19 May, 2009

1 commit


07 May, 2009

1 commit

  • wl12xx is a driver for TI wl1251 802.11 chipset designed for embedded
    devices, supporting both SDIO and SPI busses. Currently the driver
    supports only SPI. Adding support 1253 (the 5 GHz version) should be
    relatively easy. More information here:

    http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=4711&navigationId=12494&templateId=6123

    (Collapsed original sequence of pre-merge patches into single commit for
    initial merge. -- JWL)

    Signed-off-by: Kalle Valo
    Signed-off-by: Bob Copeland
    Signed-off-by: John W. Linville

    Kalle Valo
     

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
     

16 Apr, 2009

1 commit


12 Apr, 2009

1 commit


08 Apr, 2009

1 commit


07 Apr, 2009

1 commit

  • Some SPI controllers have restrictions on DMAable buffers alignemt.
    Currently if the buffer supplied by protocol driver is not properly
    aligned, the controller silently performs transfer in PIO mode. Addition
    of dma_alignment field to spi_master allows protocol drivers to perform
    proper alignment.

    Signed-off-by: Mike Rapoport
    Cc: Bryan Wu
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

03 Apr, 2009

1 commit

  • Change spi-gpio so that it is possible to drive SPI communications over
    GPIO without the need for a chipselect signal.

    This is useful in very small setups where there's only one slave device
    on the bus.

    This patch does not affect existing setups.

    I use this for a tiny communication channel between an embedded device and
    a microcontroller. There are not enough GPIOs available for chipselect
    and it's not needed anyway in this case.

    Signed-off-by: Michael Buesch
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch