summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2009-12-06ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driverDmitry Artamonow
Many features of h3100/h3600 (LCD, PCMCIA, Flash write, etc.) depend on correct functioning of GPIO expander handled by htc-egpio driver, so force its building in Kconfig. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5825/1: SA1100: h3600: update defconfigDmitry Artamonow
Update defconfig to current kernel, enable support for iPAQ H3100 and following drivers: gpio-keys, htc-egpio, ide_cs. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100Dmitry Artamonow
Both iPAQs h3600 and h3100 share the same control GPIOs for PCMCIA, so driver can be reused. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keysDmitry Artamonow
Add support for "Power" and "Action" (joystick center) buttons - the only buttons on iPaq h3100/h3600 connected to GPIOs (other buttons are controlled by microcontroller) Also remove setting PWER for wakeup on Power button press - gpio-keys driver will handle it. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5822/1: SA1100: h3100/h3600: clean up #includesDmitry Artamonow
After a code reorganization and following split, there's some #includes now unused. Clean them up and sort remaining alphabetticaly where possible. Compile tested. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplatesDmitry Artamonow
Correct boilerplates after files split. Also shorten them a bit - use standart GPL wording (as per http://lkml.org/lkml/2007/5/1/220) and drop changelog, which only entry about h3800 support and abstracted EGPIOs is just confusing now, as both of these features are gone. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5820/1: SA1100: h3100/h3600: split h3600.cDmitry Artamonow
Split common h3600.c into three separate files: h3100.c, h3600.c and h3xxx.c (the latter contains common code for h3100/h3600) Copyright boilerplates and #includes are copied intact and will be cleaned up later. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.hDmitry Artamonow
Combine both headers into one, rename to h3xxx.h and change all users accordingly. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitionsDmitry Artamonow
As all existing code was converted to gpiolib, drop no more used pre-gpiolib (bit-shifted) GPIO definintions. Supply new gpiolib-friendly definitions for GPIOs which don't have them yet. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputsDmitry Artamonow
After conversion to gpiolib there's still some GPIOs left, that get configured in *_mach_init() as outputs (using direct operations on GPCR/GPDR registers), but otherwise unused. These GPIOs are mainly sound related and should be configured by corresponding driver once it is written. Drop this initialisation and configure all GPIOs as input. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitionsDmitry Artamonow
As all the remaining users of these definitions (in pcmcia/sa1100_h3600 driver) were converted to gpio_to_irq(), they can be safely removed. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlersDmitry Artamonow
As all users of assign_h3600_egpio now converted to gpiolib, we can safely remove all assign_h3600_egpio handling code and definitions. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to ↵Dmitry Artamonow
gpiolib Use of gpio_request/gpio_free in some callbacks may look ugly, but corresponding drivers (sa1100_serial and sa1100_fb) don't provide (yet) init/exit hooks and registering these gpios in *_mach_init is also not possible, because htc-gpio driver starts a bit later... Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driverDmitry Artamonow
It will be used for future conversion of assign_h3600_egpio calls to gpiolib. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpersDmitry Artamonow
h3100 and h3600 have different sets of LCD-controlling gpios, which mapped to the same "abstracted" EGPIO. As we plan to get rid of those abstracted egpios completely, we need to separate these helper functions. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolibDmitry Artamonow
Convert all operations with GPLR/GPCR/GPSR to gpiolibs calls. Also change all IRQ_GPIO* to gpio_to_irq(*GPIO*) Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pinsDmitry Artamonow
sa1100_fb driver handles this Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.hDmitry Artamonow
PM_SUSPEND, PM_RESUME and machine_is_h3xxx() are not used anywhere in kernel (checked with git grep), so it's safe to remove them. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5796/1: SA1100: h3600: remove IRDA bits from serial PM callbackDmitry Artamonow
IRDA is handled by separate sa1100-ir driver and has nothing to do with sa1100_serial Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5797/1: SA1100: h3100/h3600: remove dead links from Kconfig help textDmitry Artamonow
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: 5795/1: SA1100: h3100/h3600: mark *_mach_init functions as __initDmitry Artamonow
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: iPAQ: no need to set PWER_RTCRussell King
The rtc-sa1100 driver takes care of this. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: iPAQ: move serial port support functionsRussell King
No point calling sa1100_register_uart_fns early - these aren't used until late in the boot sequence. Also convert to gpiolib support. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: iPAQ: convert H3100 IrDA to use generic gpio supportRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: iPAQ: provide a way to setup platform-controlled GPIOsRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: iPAQ: separate IrDA machine specificsRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: h3600: provide each iPAQ machine type with own init functionRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06ARM: sa11x0: convert set_xxx_data() to register_xxx()Russell King
Only register devices if we have platform data for those which require platform data. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-06i2c-stub: Documentation updateJean Delvare
There is nothing sensors-specific to i2c-stub. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c-stub: Allow user to disable some commandsJean Delvare
Add a module parameter to override the functionality bitfield. This lets the user disable some commands. This can be used to force a chip driver to take different code paths. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c-stub: Implement I2C block supportJean Delvare
This is required to test some drivers, for example at24. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c: Refactor for_each callbacksJean Delvare
Functions i2c_do_add_adapter() and __attach_adapter() do essentially the same thing, differing only in how the parameters are passed. Same for i2c_do_add_adapter() and __detach_adapter(). Introduce wrappers to normalize the parameters, so that we do not have to duplicate the code. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: David Brownell <dbrownell@users.sourceforge.net>
2009-12-06i2c-i801: Retry on lost arbitrationJean Delvare
The Intel 82801 is sometimes used on systems with a BMC connected. The BMC can access the SMBus, resulting in lost arbitration for the 82801. We should let i2c-core retry transactions for us in this case. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c: Remove big kernel lock from i2cdev_openVincent Sanders
The BKL is held over a kmalloc so cannot protect anything beyond that. The two calls before the kmalloc have their own locking. Improve device open function by removing the now unnecessary ret variable Signed-off-by: Vincent Sanders <vince@simtec.co.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06ics932s401: Clean up detect functionJean Delvare
As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: "Darrick J. Wong" <djwong@us.ibm.com>
2009-12-06i2c: Simplify i2c_detect_addressJean Delvare
The kind parameter of i2c_detect_address() always has value -1, so we can get rid of it. Next step is to update all i2c detect callback functions to get rid of this now useless parameter. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c: Drop probe, ignore and force module parametersJean Delvare
The legacy probe and force module parameters are obsolete now, the same can be achieved using the new_device sysfs interface, which is both more flexible and cheaper (it is implemented by i2c-core rather than replicated in every driver module.) The legacy ignore module parameters can be dropped as well. Ignoring can be done by instantiating a "dummy" device at the problematic address. This is the first step of a huge cleanup to i2c-core's i2c_detect function, i2c.h's I2C_CLIENT_INSMOD* macros, and all drivers that made use of them. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c: Add missing __devinit markers to old i2c adapter driversJean Delvare
These _setup functions are called from _probe so they can be marked __devinit. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDRJean Delvare
I2C bus drivers don't have to support I2C_M_REV_DIR_ADDR. It is a deviation from the I2C specification, which only makes sense to implement when really needed. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Ben Dooks <ben-linux@fluff.org>
2009-12-06i2c: Prevent priority inversion on top of bus lockMika Kuoppala
Low priority thread holding the i2c bus mutex could block higher priority threads to access the bus resulting in unacceptable latencies. Change the mutex type to rt_mutex preventing priority inversion. Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@nokia.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06i2c-voodoo3: DeleteJean Delvare
Superseded by tdfxfb. I2C/DDC support used to live in a separate driver but this caused driver conflicts. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
2009-12-06i2c-powermac: Drop temporary name bufferJean Delvare
We no longer need to write the adapter name to a temporary buffer. We can write it directly to the i2c_adapter's name field. This is more efficient. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Michel Daenzer <michel@daenzer.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-12-06i2c-powermac: Include the i2c_adapter in struct pmac_i2c_busJean Delvare
Include the i2c_adapter in struct pmac_i2c_bus. This avoids memory fragmentation and allows for several code cleanups. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Michel Daenzer <michel@daenzer.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-12-06i2c-powermac: Log errorsJean Delvare
Log errors when they happen, otherwise we have no idea what went wrong. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Michel Daenzer <michel@daenzer.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org>
2009-12-06i2c-powermac: Refactor i2c_powermac_smbus_xferJean Delvare
I wanted to add some error logging to the i2c-powermac driver, but found that it was very difficult due to the way the i2c_powermac_smbus_xfer function is organized. Refactor the code in this function so that each low-level function is only called once. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Michel Daenzer <michel@daenzer.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org>
2009-12-06i2c-powermac: Reject unsupported I2C transactionsJean Delvare
The i2c-powermac driver doesn't support arbitrary multi-message I2C transactions, only SMBus ones. Make it clear by returning an error if a multi-message I2C transaction is attempted. This is better than only processing the first message, because most callers won't recover from the short transaction. Anyone wishing to issue multi-message transactions should use the SMBus API instead of the raw I2C API. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Michel Daenzer <michel@daenzer.net> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org>
2009-12-06i2c/chips: Move ds1682 to drivers/miscWolfram Sang
As i2c/chips is deprecated, move ds1682 to a more apropriate location. Build tested. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-12-06PM: Add flag for devices capable of generating run-time wake-up eventsRafael J. Wysocki
Apparently, there are devices that can wake up the system from sleep states and yet are incapable of generating wake-up events at run time. Thus, introduce a flag indicating if given device is capable of generating run-time wake-up events. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2009-12-06PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status()Rafael J. Wysocki
Some braces in __pm_runtime_set_status() are not necessary, so remove them. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2009-12-06PM / Runtime: Make documentation of runtime_idle() agree with the codeRafael J. Wysocki
Currently the ->runtime_idle() callback is documented as having no return value, but in fact it returns int. Although its return value is ignored at the PM core level, it may be used by bus type routines executing the drivers' ->runtime_idle() callbacks. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Reported-by: Alan Stern <stern@rowland.harvard.edu>