aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2011-05-265-150/+418
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: gpio/via: rename VIA local config struct basic_mmio_gpio: split into a gpio library and platform device gpio: remove some legacy comments in build files gpio: add trace events for setting direction and value gpio/pca953x: Use handle_simple_irq instead of handle_edge_irq gpiolib: export gpiochip_find gpio: remove redundant Kconfig depends on GPIOLIB basic_mmio_gpio: convert to non-__raw* accessors basic_mmio_gpio: support direction registers basic_mmio_gpio: support different input/output registers basic_mmio_gpio: detect output method at probe time basic_mmio_gpio: request register regions basic_mmio_gpio: allow overriding number of gpio basic_mmio_gpio: convert to platform_{get,set}_drvdata() basic_mmio_gpio: remove runtime width/endianness evaluation
| * basic_mmio_gpio: split into a gpio library and platform deviceJamie Iles2011-05-203-148/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow GPIO_BASIC_MMIO_CORE to be used to provide an accessor library for implementing GPIO drivers whilst abstracting the register access detail. Based on a patch from Anton Vorontsov[1] and adapted to allow bgpio_chip to be embedded in another structure. Changes since v1: - Register the gpio_chip in the platform device probe 1. https://lkml.org/lkml/2011/4/19/401 Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio: remove some legacy comments in build filesLinus Walleij2011-05-202-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | The build files for drivers/gpio has some wording and comments about the directory being reserved exclusively for GPIO expanders (according to the gpio.txt file these are on external busses) and this has been false for some time. We already have PL061 and Xilinx drivers which are in silicon and now I'm moving more silicon drivers here, so delete this and reword it a bit. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio: add trace events for setting direction and valueUwe Kleine-König2011-05-201-2/+16
| | | | | | | | | | | | | | This patch allows to trace gpio operations using ftrace Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio/pca953x: Use handle_simple_irq instead of handle_edge_irqErik Botö2011-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | Make pca953x driver use the simple irq handler since no hardware control is necessary and the driver lacks an irq_ack function. handle_edge_irq() calls chip->irq_ack() which crashes since this function does not exist. Signed-off-by: Erik Botö <erik.boto@pelagicore.com> Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpiolib: export gpiochip_findJean Delvare2011-05-201-0/+1
| | | | | | | | | | | | | | Export function gpiochip_find so that modules can use it. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio: remove redundant Kconfig depends on GPIOLIBH Hartley Sweeten2011-05-201-5/+4
| | | | | | | | | | | | | | | | Since all the drivers are in a 'if GPIOLIB/endif block', the depends on GPIOLIB is redundant so remove them. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: convert to non-__raw* accessorsJamie Iles2011-05-201-8/+8
| | | | | | | | | | | | | | | | | | | | The __raw_* accessors don't include memory barriers and can cause problems when writes get stuck in write buffers. Suggested-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: support direction registersJamie Iles2011-05-201-2/+112
| | | | | | | | | | | | | | | | | | | | Most controllers require the direction of a GPIO to be set by writing to a direction register. Add support for either an input direction register or an output direction register. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: support different input/output registersJamie Iles2011-05-201-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | Some controllers have separate input and output registers. For these controllers, use "set" for the output and "dat" for the input. Changes since v2: reuse "set" for output and "dat" for input rather than adding a new "in" register. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: detect output method at probe timeJamie Iles2011-05-201-31/+59
| | | | | | | | | | | | | | | | | | | | | | | | Rather than detecting the output method each time in the .set() callback, do it at probe time and set the appropriate callback. Changes since v2: moved the reg_dat initialization into bgpio_setup_io(). Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: request register regionsJamie Iles2011-05-201-3/+13
| | | | | | | | | | | | | | | | | | Make sure that we get the register regions with request_mem_region() before ioremap() to make sure we have exclusive access. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: allow overriding number of gpioJamie Iles2011-05-201-6/+12
| | | | | | | | | | | | | | | | | | Some platforms may have a number of GPIO that is less than the register width of the peripheral. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: convert to platform_{get,set}_drvdata()Jamie Iles2011-05-201-2/+2
| | | | | | | | | | | | | | | | | | Use the platform drvdata helpers rather than working on the struct device itself. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * basic_mmio_gpio: remove runtime width/endianness evaluationJamie Iles2011-05-201-44/+92
| | | | | | | | | | | | | | | | | | | | Remove endianness/width calculations at runtime by installing function pointers for bit-to-mask conversion and register accessors. Reported-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Jamie Iles <jamie@jamieiles.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | mfd: Use mfd cell platform_data for janz cells platform bitsSamuel Ortiz2011-05-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | With the addition of a platform device mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Cc: Ira W. Snyder <iws@ovro.caltech.edu> Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | mfd: Use mfd cell platform_data for rdc321x cells platform bitsSamuel Ortiz2011-05-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | With the addition of a platform device mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Wim Van Sebroeck <wim@iguana.be> Cc: Florian Fainelli <florian@openwrt.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | mfd: Use mfd cell platform_data for timberdale cells platform bitsSamuel Ortiz2011-05-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | With the addition of a device platform mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Acked-by: Richard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | drivers/gpio/ml_ioh_gpio.c needs slab.hAndrew Morton2011-05-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alpha allmodconfig: drivers/gpio/ml_ioh_gpio.c: In function 'ioh_gpio_probe': drivers/gpio/ml_ioh_gpio.c:205: error: implicit declaration of function 'kzalloc' drivers/gpio/ml_ioh_gpio.c:205: warning: assignment makes pointer from integer without a cast also fix this: drivers/gpio/ml_ioh_gpio.c:145: warning: 'ioh_gpio_save_reg_conf' defined but not used drivers/gpio/ml_ioh_gpio.c:154: warning: 'ioh_gpio_restore_reg_conf' defined but not used Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | drivers/gpio/vx855_gpio.c needs slab.hAndrew Morton2011-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | alpha allmodconfig: drivers/gpio/vx855_gpio.c: In function 'vx855gpio_probe': drivers/gpio/vx855_gpio.c:233: error: implicit declaration of function 'kzalloc' drivers/gpio/vx855_gpio.c:233: warning: assignment makes pointer from integer without a cast Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | treewide: cleanup continuations and remove logging message whitespaceJoe Perches2011-04-261-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Using C line continuation inside format strings is error prone. Clean up the unintended whitespace introduced by misuse of \. Neaten correctly used line continations as well for consistency. drivers/scsi/arcmsr/arcmsr_hba.c has these errors as well, but arcmsr needs a lot more work and the driver should likely be moved to staging instead. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | Merge branch 'master' into for-nextJiri Kosina2011-04-2619-123/+634
|\| | | | | | | | | Fast-forwarded to current state of Linus' tree as there are patches to be applied for files that didn't exist on the old branch.
| * Merge branch 'spi/merge' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2011-04-113-2/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | * 'spi/merge' of git://git.secretlab.ca/git/linux-2.6: dt/fsldma: fix build warning caused by of_platform_device changes spi: Fix race condition in stop_queue() gpio/pch_gpio: Fix output value of pch_gpio_direction_output() gpio/ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() gpio/pca953x: fix error handling path in probe() call
| | * gpio/pch_gpio: Fix output value of pch_gpio_direction_output()Peter Tyser2011-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pch_gpio_direction_output() function was missing a write to set the desired output value. The function would properly set the GPIO direction, but not the output value. The value would have to manually be set with a follow up call to pch_gpio_set(). Add the missing write so that pch_gpio_direction_output() sets both the GPIO direction and value. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Tested-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| | * gpio/ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()Peter Tyser2011-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ioh_gpio_direction_output() function was missing a write to set the desired output value. The function would properly set the GPIO direction, but not the output value. The value would have to manually be set with a follow up call to ioh_gpio_set(). Add the missing write so that ioh_gpio_direction_output() sets both the GPIO direction and value. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Tested-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| | * gpio/pca953x: fix error handling path in probe() callBen Dooks2011-03-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the device fails to respond, then the error path tries to remove an interrupt that never got registered, which causes an backtrace from the interrupt handling code. Fix this by ensuring that the cleanup path has two labels and use the correct path as needed. fixes the following error: WARNING: at kernel/irq/manage.c:908 __free_irq+0x80/0x160() Trying to free already-free IRQ 0 Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | Fix common misspellingsLucas De Marchi2011-03-311-1/+1
| |/ | | | | | | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
| * gpio: ab8500: Mark brokenThomas Gleixner2011-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | This driver is broken in several aspects. 1) old style irq_chip functions. Sigh 2) Abuse of the unlock callback. That's not supposed to be a state machine for evrything and some more. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| * gpio: driver for 42 AB8500 GPIO pinsBibek Basu2011-03-283-0/+528
| | | | | | | | | | | | | | | | | | | | | | | | To get rid of port expanders, the free GPIOs of ab8500 can be used. There are 42 GPIO pins. Out of which 16 are interrupt capable.This patch implements 16 virtual IRQ mapped to 16 interrupt capable AB8500 GPIOs. Signed-off-by: Bibek Basu <bibek.basu@stericsson.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> [Renamed header file as per MFD structure] Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
| * Merge branch 'irq-cleanup-for-linus' of ↵Linus Torvalds2011-03-2510-95/+49
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (23 commits) genirq: Expand generic show_interrupts() gpio: Fold irq_set_chip/irq_set_handler to irq_set_chip_and_handler gpio: Cleanup genirq namespace arm: ep93xx: Add basic interrupt info arm/gpio: Remove three copies of broken and racy debug code xtensa: Use generic show_interrupts() xtensa: Convert genirq namespace xtensa: Use generic IRQ Kconfig and set GENERIC_HARDIRQS_NO_DEPRECATED xtensa: Convert s6000 gpio irq_chip to new functions xtensa: Convert main irq_chip to new functions um: Use generic show_interrupts() um: Convert genirq namespace m32r: Use generic show_interrupts() m32r: Convert genirq namespace h8300: Use generic show_interrupts() h8300: Convert genirq namespace avr32: Cleanup eic_set_irq_type() avr32: Use generic show_interrupts() avr: Cleanup genirq namespace avr32: Use generic IRQ config, enable GENERIC_HARDIRQS_NO_DEPRECATED ... Fix up trivial conflict in drivers/gpio/timbgpio.c
| | * gpio: Fold irq_set_chip/irq_set_handler to irq_set_chip_and_handlerThomas Gleixner2011-03-252-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | Converted with coccinelle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Grant Likely <grant.likely@secretlab.ca> LKML-Reference: <20110324212509.118888535@linutronix.de>
| | * gpio: Cleanup genirq namespaceThomas Gleixner2011-03-259-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | Converted with coccinelle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Grant Likely <grant.likely@secretlab.ca> LKML-Reference: <20110324212509.025730689@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| | * arm/gpio: Remove three copies of broken and racy debug codeThomas Gleixner2011-03-251-45/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gpiolib plus two gpio implementations in arm fiddle in the guts of irq_desc in a racy and buggy way. Remove the stuff. I already told the gpio folks that we can provide that information in a proper way if necessary. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Grant Likely <grant.likely@secretlab.ca> LKML-Reference: <20110324212508.931638262@linutronix.de>
| * | gpio: Add Tunnel Creek support to sch_gpioDenis Turischev2011-03-232-20/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost the same driver for both Poulsbo and Tunnel Creek. The difference is in quantity of GPIOs powered by the core power rail and by suspend power supply, default values for some GPIOs, etc. Detect actual hardware by platform device ID assigned in lpc_sch and set configuration accordingly. Signed-off-by: Denis Turischev <denis@compulab.co.il> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * | rdc321x-southbridge: Use mfd_data instead of driver_dataAndres Salomon2011-03-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use mfd_data for passing information from mfd drivers to soc clients. The mfd_cell's driver_data field is being phased out. Clients that were using driver_data now access .mfd_data via mfd_get_data(). Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * | mfd: mfd_cell is now implicitly available to janz driversAndres Salomon2011-03-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The cell's platform_data is now accessed with a helper function; change clients to use that, and remove the now-unused data_size. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * | mfd: mfd_cell is now implicitly available to timberdale driversAndres Salomon2011-03-231-3/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | The cell's platform_data is now accessed with a helper function; change clients to use that, and remove the now-unused data_size. Note that the mfd's platform_data is marked __devinitdata. This is still correct in all cases except for the timbgpio driver, whose remove hook has been changed to no longer reference the pdata. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* / treewide: remove extra semicolonsJustin P. Mattock2011-04-101-1/+1
|/ | | | | Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2011-03-188-105/+218
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'spi/next' of git://git.secretlab.ca/git/linux-2.6: (34 commits) spi/dw_spi: move dw_spi.h into drivers/spi spi/dw_spi: Fix missing header gpio/langwell: Clear edge bit before handling gpio/langwell: Simplify demux loop gpio/langwell: Convert irq name space gpio/langwell: Fix broken irq_eoi change. gpio; Make Intel chipset gpio drivers depend on x86 gpio/cs5535-gpio: Fix section mismatch spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices spi/davinci: Support DMA transfers larger than 65535 words spi/davinci: Use correct length parameter to dma_map_single calls gpio: Use __devexit at necessary places gpio: add MODULE_DEVICE_TABLE to pch_gpio and ml_ioh_gpio gpio/mcp23s08: support mcp23s17 variant of_mmc_spi: add card detect irq support spi/omap_mcspi: catch xfers of non-multiple SPI word size spi/omap_mcspi: Off-by-one error in finding the right divisor gpio/pca953x: Fix wrong pointer type spi/pl022: rid dangling labels spi: add support for SuperH SPI ...
| * gpio/langwell: Clear edge bit before handlingThomas Gleixner2011-03-171-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't have the specs for this beast, but it looks a lot like the PXA GPIO block. Though I bet it's the same IP and the driver should have reused the PXA code. Acknowleding the edge detect status after handling one or more gpio interrupts looks wrong. We might lose an edge which came in while we handled the previous one. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Alek Du <alek.du@intel.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio/langwell: Simplify demux loopThomas Gleixner2011-03-171-6/+7
| | | | | | | | | | | | | | | | | | | | | | Use __ffs() to find the pending interrupt source instead of looping 32 times. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Feng Tang <feng.tang@intel.com> Cc: Alek Du <alek.du@intel.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio/langwell: Convert irq name spaceThomas Gleixner2011-03-171-5/+5
| | | | | | | | | | | | | | | | | | | | Convert to the new irq function names. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Feng Tang <feng.tang@intel.com> Cc: Alek Du <alek.du@intel.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio/langwell: Fix broken irq_eoi change.Thomas Gleixner2011-03-171-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 0766d20fd (langwell_gpio: modify EOI handling following change of kernel irq subsystem) changes - desc->chip->eoi(irq); + + if (desc->chip->irq_eoi) + desc->chip->irq_eoi(irq_get_irq_data(irq)); + else + dev_warn(pg->chip.dev, "missing EOI handler for irq %d\n", irq); With the following explanation: "Latest kernel has many changes in IRQ subsystem and its interfaces, like adding irq_eoi" for struct irq_chip, this patch will make it support both the new and old interface." This is completely bogus. #1) The changelog does not match the patch at all #2) This driver relies on the assumption that it sits behind an eoi capable interrupt line. If the implementation of the underlying chip changes from eoi to irq_eoi then this driver has to follow that change and not add a total bogosity. #3) Just mechanically changing eoi to irq_eoi without checking the background of that change is sloppy at best. Remove the sillyness and retrieve the interrupt data from irq_desc directly. No need to go through a sparse irq lookup. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Feng Tang <feng.tang@intel.com> Cc: Alek Du <alek.du@intel.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio; Make Intel chipset gpio drivers depend on x86Thomas Gleixner2011-03-171-3/+3
| | | | | | | | | | | | | | | | Nothing outside of x86 can use that code. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio/cs5535-gpio: Fix section mismatchNikanth Karthikesan2011-03-171-3/+3
| | | | | | | | | | | | | | Fix section mismatch by annotating using variable name suffix. Signed-off-by: Nikanth Karthikesan <knikanth@suse.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio: Use __devexit at necessary placesAxel Lin2011-03-122-2/+2
| | | | | | | | | | | | | | | | The function gen_74x164_remove and mc33880_remove are used only wrapped by __devexit_p so define it using __devexit. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio: add MODULE_DEVICE_TABLE to pch_gpio and ml_ioh_gpioAxel Lin2011-03-122-0/+2
| | | | | | | | | | | | | | | | | | | | | | The device table is required to load modules based on modaliases. After adding MODULE_DEVICE_TABLE, below entries will be added to modules.pcimap: pch_gpio 0x00008086 0x00008803 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0 ml_ioh_gpio 0x000010db 0x0000802e 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0 Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * gpio/mcp23s08: support mcp23s17 variantPeter Korsgaard2011-03-122-51/+146
| | | | | | | | | | | | | | | | | | | | | | mpc23s17 is very similar to the mcp23s08, except that registers are 16bit wide, so extend the interface to work with both variants. The s17 variant also has an additional address pin, so adjust platform data structure to support up to 8 devices per SPI chipselect. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * Merge commit 'v2.6.38-rc8' into spi/nextGrant Likely2011-03-121-6/+22
| |\ | | | | | | | | | | | | Conflicts: drivers/spi/pxa2xx_spi_pci.c
| * | gpio/pca953x: Fix wrong pointer typeDirk Eibach2011-02-241-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pca953x_get_alt_pdata() uses uint16_t* as result type for of_get_property(), but numeric of values are __be32. Checking for negative values is bogus because of-property values are unsigned by definition. Instead check for proper property size. v3: - assume big-endian properties - check property size v2: - removed bogus check for negative property values Signed-off-by: Dirk Eibach <eibach@gdsys.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>