12 Jan, 2010

2 commits


16 Dec, 2009

6 commits

  • Drivers may use gpiolib sysfs as part of their public user space
    interface. The GPIO number and polarity might change from board to
    board. The gpio_export_link() call can be used to hide the GPIO number
    from user space. Add support for also hiding the GPIO line polarity
    changes from user space.

    Signed-off-by: Jani Nikula
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jani Nikula
     
  • A GPIO driver for the Timberdale FPGA found on the Intel Atom board
    Russellville.

    The GPIO driver also has an IRQ-chip to support interrupts on the pins.

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

    Richard Röjfors
     
  • The wrong test was used, gpio is unsigned and it had an off-by-one.

    Signed-off-by: Roel Kluin
    Cc: Alek Du
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • With generic modular drivers handling all of this stuff, the
    geode-specific code can go away. The cs5535-gpio, cs5535-mfgpt, and
    cs5535-clockevt drivers now handle this.

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: john stultz
    Cc: Chris Ball
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Changed number of gpio pins to 32 (according to datasheet)

    Added mask to disable some pins

    Added gpio_request for checking mask and disabling special pin functions

    Added pin names

    [dilinger@collabora.co.uk: make printk usage consistent]
    Signed-off-by: Tobias Mueller
    Signed-off-by: Andres Salomon
    Cc: Takashi Iwai
    Cc: Jordan Crouse
    Cc: David Brownell
    Cc: Alessandro Zummo
    Signed-off-by: Andres Salomon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tobias Mueller
     
  • This creates a CS5535/CS5536 GPIO driver which uses a gpio_chip backend
    (allowing GPIO users to use the generic GPIO API if desired) while also
    allowing architecture-specific users directly (via the cs5535_gpio_*
    functions).

    Tested on an OLPC machine. Some Leemotes also use CS5536 (with a mips
    cpu), which is why this is in drivers/gpio rather than arch/x86.
    Currently, it conflicts with older geode GPIO support; once MFGPT support
    is reworked to also be more generic, the older geode code will be removed.

    Signed-off-by: Andres Salomon
    Cc: Takashi Iwai
    Cc: Jordan Crouse
    Cc: David Brownell
    Reviewed-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     

14 Dec, 2009

5 commits


02 Dec, 2009

1 commit

  • - Remove wrong and unnecessary unmask operation

    - Remove extra GEDR reading

    This fixes the loss of interrupts which occurs when two or more pins are
    triggered in close succession.

    Signed-off-by: Alek Du
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alek Du
     

12 Nov, 2009

1 commit

  • In case of failure, device_create() returns not NULL but the error code.
    The current code checks for non-NULL though which causes kernel oops in
    sysfs_create_group() when device_create() fails. Check for error using
    IS_ERR() and propagate the error value using PTR_ERR() instead of fixed
    -ENODEV code returned now...

    Signed-off-by: Sergei Shtylyov
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergei Shtylyov
     

29 Oct, 2009

1 commit

  • The gpio_twl4030_probe() function calls gpio_twl4030_remove(), and the
    former has __devinit, so the latter cannot use __devexit. Otherwise we
    hit the section mismatch warning:

    WARNING: drivers/gpio/built-in.o(.devinit.text+0x71a): Section mismatch
    in reference from the function _gpio_twl4030_probe() to the function
    .devexit.text:_gpio_twl4030_remove()
    The function __devinit _gpio_twl4030_probe() references a function
    __devexit _gpio_twl4030_remove().
    This is often seen when error handling in the init function uses
    functionality in the exit path.
    The fix is often to remove the __devexit annotation of
    _gpio_twl4030_remove() so it may be used outside an exit section.

    Signed-off-by: Mike Frysinger
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

02 Oct, 2009

1 commit


24 Sep, 2009

1 commit

  • * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    i2c: Clearly mark ACPI drivers as such
    i2c: Add driver for SMBus Control Method Interface
    i2c-pnx: Correct use of request_region/request_mem_region
    MAINTAINERS: Add maintainer for AT24 and PCA9564/PCA9665
    i2c-piix4: Add AMD SB900 SMBus device ID
    i2c/chips: Remove deprecated pcf8574 driver
    i2c/chips: Remove deprecated pca9539 driver
    i2c/chips: Remove deprecated pcf8575 driver
    gpio/pcf857x: Copy i2c_device_id from old pcf8574 driver
    i2c/scx200_acb: Provide more information on bus errors
    i2c: Provide compatibility links for i2c adapters
    i2c: Convert i2c adapters to bus devices
    i2c: Convert i2c clients to a device type
    i2c/tsl2550: Use combined SMBus transactions
    i2c-taos-evm: Switch echo off to improve performance
    i2c: Drop unused i2c_driver.id field

    Linus Torvalds
     

23 Sep, 2009

9 commits

  • Signed-off-by: Michael Hennerich
    Signed-off-by: Bryan Wu
    Signed-off-by: Mike Frysinger
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Hennerich
     
  • Many gpio chips allow to generate interrupts when the value of a pin
    changes. This patch gives usermode application the opportunity to make
    use of this feature by calling poll(2) on the /sys/class/gpio/gpioN/value
    sysfs file. The edge to trigger can be set in the edge file in the same
    directory. Possible values are "none", "rising", "falling", and "both".

    Using level triggers is not possible with current sysfs since nothing
    changes the GPIO value (and the IRQ keeps triggering). Edge triggering
    will "just work". Note that if there was an event between read() and
    poll(), the poll() returns immediately.

    Also note that this version only supports true GPIO interrupts. Some
    later patch might be able to synthesize this behavior by timer-driven
    polling; some systems seem to need that.

    [dbrownell@users.sourceforge.net: align ids to 16 bit ids; whitespace]
    Signed-off-by: Daniel Glöckner
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Glöckner
     
  • Drivers should be including not .

    Signed-off-by: H Hartley Sweeten
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     
  • MAX7315 is pin and software compatible with PCA9534, so add it to the I2C
    device ID table of pca953x driver.
    http://www.datasheetcatalog.org/datasheet/maxim/MAX7315.pdf

    Signed-off-by: Alek Du
    Acked-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alek Du
     
  • The Langwell chip is the IO hub for Intel Moorestown platform which has a
    64-pin gpio block device inside. It is exposed as a dedicated PCI device.
    We use it to control outside peripheral as well as to do IRQ demuxing.
    The gpio block uses MSI to send level type interrupt to IOAPIC.

    Signed-off-by: Alek Du
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alek Du
     
  • Cc: Eric Miao
    Cc: Russell King
    Cc: David Brownell
    Cc: Samuel Ortiz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marek Vasut
     
  • 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
     
  • Commit 926b663ce8215ba448960e1ff6e58b67a2c3b99b (gpiolib: allow GPIOs to
    be named) already provides naming on the chip level. This patch provides
    more flexibility by allowing multiple names where ever in sysfs on a per
    GPIO basis.

    Adapted from David Brownell's comments on a similar concept:
    http://lkml.org/lkml/2009/4/20/203.

    [randy.dunlap@oracle.com: fix build for CONFIG_GENERIC_GPIO=n]
    Signed-off-by: Jani Nikula
    Acked-by: David Brownell
    Cc: Daniel Silverstone
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jani Nikula
     
  • This makes it consistent with other buses (platform, i2c, vio, ...). I'm
    not sure why we use the prefixes, but there must be a reason.

    This was easy enough to do it, and I did it.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Benjamin Herrenschmidt
    Cc: Dmitry Torokhov
    Cc: Samuel Ortiz
    Cc: "John W. Linville"
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

21 Sep, 2009

1 commit


19 Sep, 2009

1 commit


17 Sep, 2009

1 commit

  • Add support for the GPIO pins on the WM831x. No direct support is
    currently supplied for configuring non-gpiolib functionality such
    as pull configuration and alternate functions, soft configuration
    of these will be provided in a future patch.

    Currently use of these pins as interrupts is not supported due to
    the ongoing issues with generic irq not support interrupt controllers
    on interrupt driven buses. Users can directly request the interrupts
    with the wm831x-specific APIs currently provided if required.

    Signed-off-by: Mark Brown
    Acked-by: David Brownell
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

13 Jul, 2009

1 commit

  • * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
    It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

    This will make hardirq.h inclusion cheaper for every PREEMPT=n config
    (which includes allmodconfig/allyesconfig, BTW)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

03 Jul, 2009

2 commits


01 Jul, 2009

2 commits


20 Jun, 2009

1 commit

  • This is a driver for the ARM PrimeCell PL061 GPIO AMBA peripheral. The
    driver is implemented using the gpiolib framework.

    This driver also includes support for the use of the PL061 as an interrupt
    controller (secondary).

    Signed-off-by: Baruch Siach
    Cc: David Brownell
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Baruch Siach
     

19 Jun, 2009

4 commits

  • PCA9556 is the software-compatible predecessor to the PCA9557, so add it
    to the supported I2C device ID table.

    Signed-off-by: Nate Case
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nate Case
     
  • On OpenFirmware platforms, it makes the most sense to get platform_data
    from the device tree. Make an attempt to translate OF node properties
    into platform_data struct before bailing out.

    Note that the implementation approach taken differs from other device
    drivers that make use of device tree information. This is because I2C
    chips are already registered automatically by of_i2c, so we can get by
    with a small translator function in the driver.

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: kfree(NULL) is legal]
    Signed-off-by: Nate Case
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nate Case
     
  • The remove member of the spi_driver max7301_driver uses __devexit_p(), so
    the remove function itself should be marked with __devexit. Even more so
    considering the probe function is marked with __devinit.

    Signed-off-by: Mike Frysinger
    Acked-by: Juergen Beisert
    Cc: Dmitry Baryshkov
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • Add support to the PCA953x driver to use the GPIOLIB naming facility for
    GPIOs.

    Signed-off-by: Daniel Silverstone
    Cc: Ben Gardner
    Cc: Jean Delvare
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Silverstone