12 Jan, 2010
2 commits
-
Signed-off-by: Michael Hennerich
Signed-off-by: Mike Frysinger
Cc: Jean Delvare
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Previously enabled poll(2) support on one edge was never reconfigured when
sysfs polarity change was triggered from kernel, because 'struct device
*dev' shadowed an earlier definition.Found by sparse, which I should've run much earlier.
Signed-off-by: Jani Nikula
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
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 -
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 -
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 -
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 -
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 -
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
14 Dec, 2009
5 commits
-
This patch renames function names like twl4030_i2c_write_u8,
twl4030_i2c_read_u8 to twl_i2c_write_u8, twl_i2c_read_u8
and also common variable in twl-core.cSigned-off-by: Rajendra Nayak
Signed-off-by: Balaji T K
Signed-off-by: Santosh Shilimkar
Acked-by: Kevin Hilman
Signed-off-by: Samuel Ortiz -
The upcoming TWL6030 is companion chip for OMAP4 like the current TWL4030
for OMAP3. The common modules like RTC, Regulator creates opportunity
to re-use the most of the code from twl4030.This patch renames few common drivers twl4030* files to twl* to enable
the code re-use.Signed-off-by: Rajendra Nayak
Signed-off-by: Balaji T K
Signed-off-by: Santosh Shilimkar
Acked-by: Kevin Hilman
Signed-off-by: Samuel Ortiz -
Signed-off-by: Mark Brown
Signed-off-by: Samuel Ortiz -
The common adp5520 mfd defines were namespaced to avoid collisions, so
update the define used in this driver accordingly. The structs were also
renamed to fix a spelling typo.Signed-off-by: Michael Hennerich
Signed-off-by: Mike Frysinger
Signed-off-by: Samuel Ortiz -
This supports future devices with fewer GPIOs.
Signed-off-by: Mark Brown
Signed-off-by: Samuel Ortiz
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
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
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
02 Oct, 2009
1 commit
-
[akpm@linux-foundation.org: fix KVM]
Signed-off-by: Alexey Dobriyan
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
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
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 -
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 -
Drivers should be including not .
Signed-off-by: H Hartley Sweeten
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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.pdfSigned-off-by: Alek Du
Acked-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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 -
Cc: Eric Miao
Cc: Russell King
Cc: David Brownell
Cc: Samuel Ortiz
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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 -
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 -
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
21 Sep, 2009
1 commit
-
Trivial patch which adds the __init/__exit macro to the init/exit functions of
drivers/gpio/bt8xxgpio.cSigned-off-by: Peter Huewe
Acked-by: Michael Buesch
Signed-off-by: Jiri Kosina
19 Sep, 2009
1 commit
-
The deprecated pcf8574 driver is going to be removed. Make sure the
replacement driver inherits all i2c_device_ids for a smooth transition.Signed-off-by: Wolfram Sang
Cc: David Brownell
Signed-off-by: Jean Delvare
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
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_PREEMPTThis 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
03 Jul, 2009
2 commits
-
Signed-off-by: Yoichi Yuasa
Signed-off-by: Ralf Baechle -
Signed-off-by: Yoichi Yuasa
Signed-off-by: Ralf Baechle
01 Jul, 2009
2 commits
-
IRQ handling is wrong for any GPIO >= PL061_GPIO_NR.
Fix this by implementing and using a proper .to_irq method.
Signed-off-by: Baruch Siach
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Note that IRQ has not been initialized when kmalloc() fails.
Also, use DECLARE_BITMAP() to make the code clearer.
Signed-off-by: Baruch Siach
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
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
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 -
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 -
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 -
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