summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/max7301.c
Commit message (Collapse)AuthorAgeFilesLines
* gpio: fix probe() error return in gpio driver probesBen Dooks2009-01-151-2/+4
| | | | | | | | | | | | | | | | | | | | A number of drivers in drivers/gpio return -ENODEV when confronted with missing setup parameters such as the platform data. However, returning -ENODEV causes the driver layer to silently ignore the driver as it assumes the probe did not find anything and was only speculative. To make life easier to discern why a driver is not being attached, change to returning -EINVAL, which is a better description of the fact that the driver data was not valid. Also add a set of dev_dbg() statements to the error paths to provide an better explanation of the error as there may be more that one point in the driver. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gpio: max7301: fix the race between chip addition and pins reconfigurationDmitry Baryshkov2008-10-161-10/+8
| | | | | | | | | | | | | | | | There is a small race and code ugliness in max7301: pins are reconfigured after the chip is registered. Swap these calls so that the device is registered in correct state. Also this fixes the comile-time warning about unchecked gpiochip_remove. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Juergen Beisert <j.beisert@pengutronix.de> Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Cc: Russell King <rmk@arm.linux.org.uk> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* spi: core and gpio expanders use subsys_initDavid Brownell2008-10-161-2/+4
| | | | | | | | | | | | | | | Make the SPI external GPIO expander drivers register themselves at subsys_initcall() time when they're statically linked, and make the SPI core do its driver model initialization earlier so that's safe. SOC-integrated GPIOs are available starting very early -- often before initcalls start to run, or earily in arch_initcall() at latest -- so this improves consistency, letting more subsystems rely on GPIOs being usable by their own subsys_initcall() code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gpio: gpio driver for max7301 SPI GPIO expanderJuergen Beisert2008-07-221-0/+339
Maxim's MAX7301 is an SPI GPIO expander with 28 GPIOs. Note: MAX7301's interrupt feature is not supported yet. [akpm@linux-foundation.org: coding-style fixes] [g.liakhovetski@pengutronix.de: Fix inaccuracies in comments, check spi_setup() return code, mask off high byte in max7301_read()] Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
OpenPOWER on IntegriCloud