summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2012-03-19power: ab8500_bm: Switch to correct state after initKalle Komierowski
A correction of the INITMEASURING state in the fuel gauge algorithm. Now a transition to the correct state should be functional again. ST-Ericsson ID: 414842 ST-Ericsson Linux next: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I9cc91635c25918897f754fa3e1a00e979979a1c1 Signed-off-by: Kalle Komierowski <karl.komierowski@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47616
2012-03-19power: ab8500_bm: Added support for BATT_OVVHakan Berg
Add support for the battery over-voltage situation ST-Ericsson ID: 402073 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: - Change-Id: I2870ce43fc9d3504adcc6aafe10cf51510064d90 Signed-off-by: Hakan Berg <hakan.berg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47601 Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com> Reviewed-by: QABUILD
2012-03-19tty: serial: amba-pl011: fix cancel_delayed_work() usageRabin Vincent
PL011 calls del_timer_sync() (via cancel_delayed_work()) from atomic context. Fix it. ====================================================== [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] 3.0.8+ #1188 ------------------------------------------------------ kworker/u:0/5 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (&(&uap->clk_off_work)->timer){+.-...}, at: [<c01d82b4>] del_timer_sync+0x0/0xc8 and this task is already holding: (&port_lock_key){-.-...}, at: [<c03ca2b0>] pl011_clock_on+0x80/0xc4 which would create a new lock dependency: (&port_lock_key){-.-...} -> (&(&uap->clk_off_work)->timer){+.-...} but this new dependency connects a HARDIRQ-irq-safe lock: (&port_lock_key){-.-...} ... which became HARDIRQ-irq-safe at: [<c01fc734>] mark_irqflags+0x68/0x170 [<c01ff788>] __lock_acquire+0x598/0x788 [<c01fff84>] lock_acquire+0x10c/0x130 [<c06513cc>] _raw_spin_lock_irqsave+0x5c/0x98 [<c03cb788>] pl011_int+0x10/0x128 [<c0217a80>] handle_irq_event_percpu+0x98/0x1f4 [<c0217c18>] handle_irq_event+0x3c/0x5c [<c021a0f4>] handle_fasteoi_irq+0xc8/0x100 [<c02175e4>] generic_handle_irq+0x28/0x30 [<c0197078>] asm_do_IRQ+0x78/0xb8 [<c019cc90>] __irq_svc+0x50/0xf4 [<c04b21a0>] enter_sleep+0x550/0x608 [<c04b02ac>] cpuidle_idle_call+0x1c4/0x33c [<c019e1fc>] cpu_idle+0xa4/0x10c [<c0008a28>] start_kernel+0x228/0x27c [<00008040>] 0x8040 to a HARDIRQ-irq-unsafe lock: (&(&uap->clk_off_work)->timer){+.-...} ... which became HARDIRQ-irq-unsafe at: ... [<c01fc7b8>] mark_irqflags+0xec/0x170 [<c01ff788>] __lock_acquire+0x598/0x788 [<c01fff84>] lock_acquire+0x10c/0x130 [<c01d78a4>] call_timer_fn+0x68/0x1e4 [<c01d7be8>] run_timer_softirq+0x1c8/0x224 [<c01d0244>] __do_softirq+0x110/0x23c [<c01d05b8>] irq_exit+0x5c/0xc0 [<c0197308>] do_local_timer+0x50/0x80 [<c019cc90>] __irq_svc+0x50/0xf4 [<c064f30c>] __mutex_unlock_slowpath+0x150/0x17c [<c02c6d08>] sysfs_addrm_finish+0x10/0x74 [<c02c5afc>] sysfs_add_file_mode+0x70/0xb0 [<c02c8368>] create_files+0x7c/0xb4 [<c02c8458>] internal_create_group+0xb8/0x118 [<c03f08a8>] device_add_groups+0x1c/0x70 [<c03f0e2c>] device_add_attrs+0x50/0xa8 [<c03f0f94>] device_add+0x110/0x2b4 [<c0601114>] hci_register_sysfs+0x54/0x114 [<c05f2fec>] hci_register_dev+0x378/0x4d8 [<c04dbe58>] register_bluetooth+0xb4/0x124 [<c04dbf44>] probe_common+0x7c/0xcc [<c06482e0>] btcg2900_evt_probe+0x38/0x6c [<c03f3f18>] platform_drv_probe+0x18/0x1c [<c03f2c98>] really_probe+0x98/0x148 [<c03f2d90>] driver_probe_device+0x48/0x60 [<c03f21f0>] bus_for_each_drv+0x44/0x74 [<c03f2f10>] device_attach+0x78/0xa4 [<c03f2028>] bus_probe_device+0x24/0x40 [<c03f0ff8>] device_add+0x174/0x2b4 [<c03f4530>] platform_device_add+0x104/0x160 [<c0405d34>] mfd_add_device+0x194/0x1d4 [<c0405ef8>] mfd_add_devices+0x70/0xbc [<c04d6eec>] work_power_off_chip+0x11c/0x1c8 [<c01e250c>] process_one_work+0x2ac/0x4c8 [<c01e29f8>] worker_thread+0x144/0x234 [<c01e8280>] kthread+0x80/0x88 [<c019dc88>] kernel_thread_exit+0x0/0x8 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&(&uap->clk_off_work)->timer); local_irq_disable(); lock(&port_lock_key); lock(&(&uap->clk_off_work)->timer); <Interrupt> lock(&port_lock_key); *** DEADLOCK *** Change-Id: I55d565d484baaee2dc76f258a5066aacbb6e6dee Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> ST-Ericsson ID: 413918 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I1a45effb0afeb4344f03ca500a5b0767bd760ec3 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47174 Reviewed-by: QABUILD Reviewed-by: Shreshtha Kumar SAHU <shreshthakumar.sahu@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com> Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2012-03-19mfd: ab8500: Configure AB8505Bengt Jonsson
ST-Ericsson ID: 371953 Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
2012-03-19drivers: power: ab8500_charger: Remove pointless checkJonas Aaberg
Remove pointless check for NULL that didn't return a proper return value. (di can't be NULL, since then containerof would have failed.) ST-Ericsson Linux next: - ST-Ericsson ID: 370799 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ic3a725150c739e50e73d36255be4c3f02ae9bb6f Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47966 Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com>
2012-03-19mfd/ab8500: remaining mainline differencesLinus Walleij
This collects the AB9540 changes that could not be included in the mainline patch set due to differences in the internal code (esp re GPIO driver). Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Change-Id: Ia5ed55f1f44da923e8b9ae22f9b47b681bbb8403 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47743
2012-03-19mfd/ab8500: support AB9540 variantLinus Walleij
The AB9540 variant of the AB8500 is basically close enough to use the same driver. This adds the new registers and deviations for this new chip variant. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@stericsson.com> Signed-off-by: Alex Macro <alex.macro@stericsson.com> Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Change-Id: I3995011686b0ed14219b3aacda4355705031bef2 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47742 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Tested-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-03-19mfd/ab8500: parametrize IRQ masks and registersLinus Walleij
This makes the AB8500 state struct contain the IRQ mask and register offsets previously hard-coded so as to make room for more AB8500 variants. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@stericsson.com> Signed-off-by: Alex Macro <alex.macro@stericsson.com> Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Change-Id: If54ddf5e5857583222f98d21e288834f30871b27 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47741 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Tested-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-03-19mfd/ab8500: add version detection and enforcingLinus Walleij
There are currently four different versions of the AB8500 around: AB8500, AB8505, AB9540 and AB8540. Unfortunately: - Some of the chips (AB8500, AB8505, AB9540) cannot read the AB8500_REV_REG register but return errors - Some of them have the same ID value in the hardware register AB8500_REV_REV, for example the first versions of AB8505 and AB9540 have 0xFF in this register - just like the AB8500. So we need to be able to enforce a certain version from the platform. We do this by using the id of the platform device that provides the read/write functions. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@stericsson.com> Signed-off-by: Alex Macro <alex.macro@stericsson.com> Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Change-Id: I87be719fd88c71356bb7b67374f957205b9e00fe Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47740 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Tested-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-03-19tty: serial: amba-pl011: use pm_runtime_irq_safe()Rabin Vincent
PL011 should use pm_runtime_irq_safe() since it calls the pm_runtime routines with interrupts disabled. Found via lockdep: ================================= [ INFO: inconsistent lock state ] 3.0.8+ #1187 --------------------------------- inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. kworker/u:0/5 [HC0[0]:SC0[0]:HE1:SE1] takes: (&port_lock_key){?.....}, at: [<c03ca23c>] pl011_clock_on+0xc/0xc4 {IN-HARDIRQ-W} state was registered at: [<c01fc734>] mark_irqflags+0x68/0x170 [<c01ff788>] __lock_acquire+0x598/0x788 [<c01fff84>] lock_acquire+0x10c/0x130 [<c06513cc>] _raw_spin_lock_irqsave+0x5c/0x98 [<c03cb788>] pl011_int+0x10/0x128 [<c0217a80>] handle_irq_event_percpu+0x98/0x1f4 [<c0217c18>] handle_irq_event+0x3c/0x5c [<c021a0f4>] handle_fasteoi_irq+0xc8/0x100 [<c02175e4>] generic_handle_irq+0x28/0x30 [<c0197078>] asm_do_IRQ+0x78/0xb8 [<c019cc90>] __irq_svc+0x50/0xf4 [<c0651e44>] _raw_spin_unlock_irq+0x28/0x54 [<c03c7394>] uart_carrier_raised+0x3c/0x44 [<c03c486c>] tty_port_carrier_raised+0x1c/0x20 [<c03c4d6c>] tty_port_block_til_ready+0x220/0x2cc [<c03bf2b0>] tty_open+0x1f0/0x32c [<c0273580>] chrdev_open+0x20c/0x238 [<c026e874>] __dentry_open+0x220/0x338 [<c026ea44>] nameidata_to_filp+0x50/0x5c [<c027c670>] do_last+0x43c/0x4c4 [<c027d480>] path_openat+0xb8/0x37c [<c027d824>] do_filp_open+0x30/0x7c [<c026e594>] do_sys_open+0xd8/0x170 [<c019d240>] ret_fast_syscall+0x0/0x3c irq event stamp: 60637 hardirqs last enabled at (60636): [<c0650558>] mutex_lock_nested+0x364/0x3c8 hardirqs last disabled at (60637): [<c065138c>] _raw_spin_lock_irqsave+0x1c/0x98 softirqs last enabled at (60509): [<c01d05b8>] irq_exit+0x5c/0xc0 softirqs last disabled at (60490): [<c01d05b8>] irq_exit+0x5c/0xc0 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&port_lock_key); <Interrupt> lock(&port_lock_key); *** DEADLOCK *** 7 locks held by kworker/u:0/5: #0: ((hdev->name)){.+.+.+}, at: [<c01e242c>] process_one_work+0x1cc/0x4c8 #1: ((&hdev->power_on)){+.+.+.}, at: [<c01e242c>] process_one_work+0x1cc/0x4c8 #2: (&hdev->req_lock){+.+.+.}, at: [<c05f51e8>] hci_dev_open+0x28/0x334 #3: (&main_info->man_mutex#2){+.+.+.}, at: [<c04d5f10>] cg2900_open+0xa8/0x49c #4: (&(uart_info->sleep_state_lock)){+.+.+.}, at: [<c04dd648>] uart_set_chip_power+0x64/0x228 #5: (&tty->termios_mutex){+.+...}, at: [<c04de6cc>] cg2900_hci_uart_set_baudrate+0x34/0x8c #6: (&port_lock_key){?.....}, at: [<c03ca23c>] pl011_clock_on+0xc/0xc4 stack backtrace: [<c01a36ac>] (unwind_backtrace+0x0/0xec) from [<c01fc014>] (print_usage_bug+0x184/0x1c4) [<c01fc014>] (print_usage_bug+0x184/0x1c4) from [<c01fc110>] (mark_lock_irq+0xbc/0x280) [<c01fc110>] (mark_lock_irq+0xbc/0x280) from [<c01fc59c>] (mark_lock+0x2c8/0x3f8) [<c01fc59c>] (mark_lock+0x2c8/0x3f8) from [<c01fc898>] (mark_held_locks+0x5c/0x80) [<c01fc898>] (mark_held_locks+0x5c/0x80) from [<c01fcba8>] (trace_hardirqs_on_caller+0x138/0x18c) [<c01fcba8>] (trace_hardirqs_on_caller+0x138/0x18c) from [<c0651e40>] (_raw_spin_unlock_irq+0x24/0x54) [<c0651e40>] (_raw_spin_unlock_irq+0x24/0x54) from [<c03f8df8>] (rpm_callback+0x3c/0x5c) [<c03f8df8>] (rpm_callback+0x3c/0x5c) from [<c03f9abc>] (rpm_resume+0x2ec/0x3c0) [<c03f9abc>] (rpm_resume+0x2ec/0x3c0) from [<c03f9e04>] (__pm_runtime_resume+0x48/0x60) [<c03f9e04>] (__pm_runtime_resume+0x48/0x60) from [<c03ca264>] (pl011_clock_on+0x34/0xc4) [<c03ca264>] (pl011_clock_on+0x34/0xc4) from [<c03ca34c>] (pl011_set_termios+0x28/0x308) [<c03ca34c>] (pl011_set_termios+0x28/0x308) from [<c03c76b8>] (uart_change_speed+0x90/0x94) [<c03c76b8>] (uart_change_speed+0x90/0x94) from [<c03c7724>] (uart_set_termios+0x68/0x1b4) [<c03c7724>] (uart_set_termios+0x68/0x1b4) from [<c04de710>] (cg2900_hci_uart_set_baudrate+0x78/0x8c) [<c04de710>] (cg2900_hci_uart_set_baudrate+0x78/0x8c) from [<c04dd6e4>] (uart_set_chip_power+0x100/0x228) [<c04dd6e4>] (uart_set_chip_power+0x100/0x228) from [<c04d6090>] (cg2900_open+0x228/0x49c) [<c04d6090>] (cg2900_open+0x228/0x49c) from [<c04dc4b4>] (btcg2900_open+0x84/0x188) [<c04dc4b4>] (btcg2900_open+0x84/0x188) from [<c05f5254>] (hci_dev_open+0x94/0x334) [<c05f5254>] (hci_dev_open+0x94/0x334) from [<c05f5508>] (hci_power_on+0x14/0x6c) [<c05f5508>] (hci_power_on+0x14/0x6c) from [<c01e250c>] (process_one_work+0x2ac/0x4c8) [<c01e250c>] (process_one_work+0x2ac/0x4c8) from [<c01e29f8>] (worker_thread+0x144/0x234) [<c01e29f8>] (worker_thread+0x144/0x234) from [<c01e8280>] (kthread+0x80/0x88) [<c01e8280>] (kthread+0x80/0x88) from [<c019dc88>] (kernel_thread_exit+0x0/0x8) Change-Id: I8b05184e348656a0d422b5b68267ee03246c6563 Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> ST-Ericsson ID: 413918 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Id5a17f56dfa1b1b8c469237be5b9c236ad212137 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47173 Reviewed-by: QABUILD Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2012-03-19RTC: pl031: Removed RTC Timer interrupt handling.Rajkumar Kasirajan
Removed RTT interrupt handling, since PIE mode interrupts now emulated in generic code via an hrtimer. ST-Ericsson ID: 345151 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Rajkumar Kasirajan <rajkumar.kasirajan@stericsson.com> Change-Id: I27f3803c50120a8e7369104fe0eb2c5536f314cb Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47378 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2012-03-19power: ab8500_bm: Semi colon lackingKalle Komierowski
Should build now. ST-Ericsson Linux next: NA ST-Ericsson ID: 406251 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I09ae0e9a49c39a86368407a97c87bcbe94bbf927 Signed-off-by: Kalle Komierowski <karl.komierowski@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47217 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: QATOOLS Reviewed-by: QABUILD
2012-03-19power: ab8500_bm: Don't turn off charging during chargalg initKalle Komierowski
This is to prevent the charging to be terminated when booting upp from trickle charging. With this patch charging should be on from trickle charging up to USB enumeration. Valid for USB host charger type. ST-Ericsson ID: 406251 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: Ibd744516ff2a6754d015d804ea42dcd1e429c615 Signed-off-by: Kalle Komierowski <karl.komierowski@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47120 Reviewed-by: Peter ENDERBORG <peter.enderborg@stericsson.com> Reviewed-by: Hakan BERG <hakan.berg@stericsson.com>
2012-03-19power:ab8500-bm: start usb std host charging with 100mAArun Murthy
On detection on usb cable as standard host, charging can be started with 100mA without waiting for the usb enumerated value as per the usb charging spec. ST-Ericsson Linux next: NA ST-Ericsson ID: 406251 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I826ca3d8c466223e6f249ac58b7a614e3bf995cb Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47118 Reviewed-by: Peter ENDERBORG <peter.enderborg@stericsson.com> Reviewed-by: Hakan BERG <hakan.berg@stericsson.com> Tested-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19mfd: ab8500: implement api to dump all registersMian Yousaf Kaukab
ST-Ericsson Linux next: - ST-Ericsson ID: 402239 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I46b16d38d8d521e0f994e6a92a0b3892eaa5382f Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46910 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19mfd: abx500: add api to dump all registersMian Yousaf Kaukab
Some drivers can detect sub system failures e.g. shared memory driver can detect modem sub system failures. It would be helpful in analyzing these failures if AB register dump is available at that point. This patch adds the API for the drivers to dump AB registers in the kernel log. ST-Ericsson Linux next: - ST-Ericsson ID: 402239 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I544e40b4e2f68a80a6aa73135d4a15c433ec6a8b Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46909 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19mfd: ab8500: add debugfs node to read all registersMian Yousaf Kaukab
Update the ab8500_registers_print() to reuse it from multiple places. ST-Ericsson Linux next: - ST-Ericsson ID: 402239 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ie3ea115f8f408befbe095a5d426954f30db18156 Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46908 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19mfd/stmpe: Change implementation of noirq modeChris Blair
Removes the extra platform data member added to support no-irq mode and instead implements it using an invalid value for the existing irq member. This is propagated through to the sub-device drivers by having alternate versions of the cell data structures which do not have an irq resource defined. ST-Ericsson ID: 399362 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: Id7cfd625c8deea387f4388d0745272707c7e9da0 Signed-off-by: Chris Blair <chris.blair@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46685 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-03-19spi-pl022: Add high priority message pump supportChris Blair
This switches the PL022 worker to a kthread in order to get hold of a mechanism to control the message pump priority. On low-latency systems elevating the message kthread to realtime priority give a real sleek response curve. This has been confirmed by measurements. Realtime priority elevation for a certain PL022 port can be requested from platform data. ST-Ericsson ID: 411788 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: I3056068125eccdd8ae10cc052a35064fdf98af40 Signed-off-by: Chris Blair <chris.blair@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46411 Reviewed-by: QATOOLS Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Reviewed-by: QATEST Reviewed-by: Bibek BASU <bibek.basu@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19mfd/stmpe: Corrections and cleanup for no-irq modeChris Blair
Corrects initialisation, error condition and driver removal cleanup for the no-irq configuration. ST-Ericsson ID: 399362 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: Ie04dc1cf906c2a09170c596aeed128fed7da5f6f Signed-off-by: Chris Blair <chris.blair@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46379 Reviewed-by: QATOOLS Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-03-19mfd/stmpe: Add support for no-interrupt configChris Blair
Adds support for boards which have an STMPE device without the interrupt pin connected. ST-Ericsson ID: 399362 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Signed-off-by: Chris Blair <chris.blair@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41352 Change-Id: Ib5945fa7e0c5b798d363d756db978e42a57f371d Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46240 Reviewed-by: QATOOLS Reviewed-by: Michel JAOUEN <michel.jaouen@stericsson.com> Tested-by: Michel JAOUEN <michel.jaouen@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19RTC: pl031: configured correct wday for 1.1.2000.Rajkumar Kasirajan
The reset date of DB5500 RTC (PL031) is 1.1.2000. The correct wday for 1.1.2000 is saturday, but pl031 is initialized to sunday. This may lead to alarm malfunction. Configure the correct wday if RTC_DR has reset value. ST-Ericsson ID: 345151 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Change-Id:I3e96e2552f332cdf5b71a2ab452e536269deb99c Signed-off-by: Rajkumar Kasirajan <rajkumar.kasirajan@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45610 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2012-03-19power: Change handling of OTP emulation registersRobert Marklund
Change so we use a safer way to enable the autopower functionallity of the ab8500. Make sure that this always is disabled when no charger is connected. ST-Ericsson ID: 407161, 407516 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: I1167b94079953ff3fea230076b9bd014e058567e Signed-off-by: Robert Marklund <robert.marklund@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45467 Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com> Tested-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19power: ab8500_bm: Change BATT OVV enable sequenceJohan Bjornstedt
Change BATT OVV sequence so that the threshold is set before OVV detection is enabled. ST-Ericsson ID: 410374 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I10c3eb228e7afd4e16256d449b47bdb2570281e1 Signed-off-by: Johan Bjornstedt <johan.bjornstedt@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45520 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19power: ab5500-btemp: enable btemp auto triggerRajagopala V
Fix and enable battery temperature auto trigger. ST-Ericsson Linux next: NA ST-Ericsson ID: 372448 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I83d57133d5bebea00b658d170139a62be8e6f79f Signed-off-by: Rajagopala V <rajagopala.v@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/43250 Reviewed-by: QABUILD Reviewed-by: Arun MURTHY <arun.murthy@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19power: ab5500-btemp: support btemp_ball node measurementRajagopala V
Support battery temperature measurement through btemp_ball node for btemp gpadc auto trigger. ST-Ericsson Linux next: NA ST-Ericsson ID: 372448 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I7e99a106a5840d21a108a0bae04e79f091bb26e1 Signed-off-by: Rajagopala V <rajagopala.v@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/43249 Reviewed-by: QABUILD Reviewed-by: Arun MURTHY <arun.murthy@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19power: ab5500-btemp: manual mode monitoring as platform dataRajagopala V
Move battery temperature manual mode monitoring selection to platform data. ST-Ericsson Linux next: NA ST-Ericsson ID: 372448 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I9224e5cc8bed77be6a10344d32e480a7717a1d22 Signed-off-by: Rajagopala V <rajagopala.v@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/43248 Reviewed-by: QABUILD Reviewed-by: Arun MURTHY <arun.murthy@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19drivers:watchdog:ux500: Disable when timeout == 0Per Fransson
Setting the watchdog timeout to 0 makes any attempt to open the dev node fail. This makes it possible to disable the watchdog functionality on the kernel commandline with "ux500_wdt.timeout=0", ST-Ericsson ID: 365851 ST-Ericsson Linux next:NA ST-Ericsson FOSS-OUT ID:Trivial Change-Id: I917258c9310ea2267c877c3c13d00dc08c30a147 Signed-off-by: Per Fransson <per.xx.fransson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45299 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19serial/amba-pl011: Return early in deadlock work-around if there is no ttyKalle Vahlman
The first amba port does not always have an attached tty, which will result in a crash if the work-around is activated. This seems to be the case for example on Snowball which has no modem hw, which seems to be the main use-case for this work-around.
2012-03-19mfd: ab8500-denc: Changes for porting on 3.3Philippe Langlais
Signed-off-by: Philippe Langlais <philippe.langlais@stericsson.com>
2012-03-19Add support for the 9100 Li-ION battery and adjust the bkup battery charger ↵Gregory Hermant
parameters Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
2012-03-19smsc911x: Enable fsmc clock and vape regulatorPhilippe Langlais
Now fsmc clock is disabled at boot and vape is not maintained, so to have the ethernet driver working on Snowball we have to enable them. So add fsmc clock management if any and use the not use vddvario regulator mapped on vape for Snowball board. Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
2012-03-19power: ab8500_charger autopower bug-fixJohan Bjornstedt
When the charger is removed the autopower feature is turned off by clearing a bit in one of the registers ST-Ericsson Linux next: NA ST-Ericsson ID: ER405539 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ic61f355eed2c77c327d0e73f92a2ef22337f6f38 Signed-off-by: Johan Bjornstedt <johan.bjornstedt@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/43337 Reviewed-by: QABUILD Reviewed-by: Peter ENDERBORG <peter.enderborg@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com>
2012-03-19power: ab5500-fg: optimize delays during probeRajagopala V
Optimize delays during fg psy registration by powering up fuel gauge before registration and scheduling periodic workqueues at 250msec so that enough samples are available for conversion. ST-Ericsson Linux next: NA ST-Ericsson ID: 373975 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Iff0ec497a90399d0dcc514df24b12d594eb06459 Signed-off-by: Rajagopala V <rajagopala.v@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/44315 Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19watchdog: Add 5500 supportVirupax Sadashivpetimath
ST-Ericsson Linux next: NA ST-Ericsson ID: 316540 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I55bf6d145fe3cf4a1fc8de8c45266832c9769a54 Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/42473 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19watchdog: Driver renameVirupax Sadashivpetimath
Rename the u8500 watchdog driver as ux500 watchdog driver. This is done inorder to add 5500 support. ST-Ericsson Linux next: NA ST-Ericsson ID: 316540 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Iae9ec02191620da09780881169045b58bdc0230a Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/42935 Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19ab8500_btemp: limit number of batctrl readingsKarl-Johan Perntz
Read as many batctrl values as possible during 250 ms but do not spend more time than that. This is done with cc_lock taken (the ab8500_fg_inst_curr_start call in the ab8500_fg driver) so finishing as quick as possible is good (lock freed by the ab8500_fg_inst_curr_finalize call). ST-Ericsson Linux next: - ST-Ericsson ID: 404432 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ieee4c01a6e1750a747abceaec60e3e4dd62419f0 Signed-off-by: Karl-Johan Perntz <karl-johan.perntz@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/43177 Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19power:ab8500_charger autopower settingsPeter Enderborg
Change the power loss handling so we do a reboot instead of poweroff when charger is connected. ST-Ericsson Linux next: NA ST-Ericsson ID: 373445 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Idfafba3f359829b87a0725d89cf86a72652dc1be Signed-off-by: pender01 <peter.enderborg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40696 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com>
2012-03-19power: ab8500_fg: Bug in instant current functionsKalle Komierowski
The FG turn of check bit was never reset to zero after use which forced the FG to be turned off and stopping the whole FG state machine. ST-Ericsson Linux next: - ST-Ericsson ID: 402157 ST-Ericsson FOSS-OUT ID Trivial Change-Id: I49232ff56245b887827428211256a19499a15a92 Signed-off-by: Kalle Komierowski <karl.komierowski@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/42141
2012-03-19power: ab8500_bm: Temperature vs battery internal resistance tableKalle Komierowski
This patch adds the functionallity of being able to use a different internal battery resistance depending on the battery packs temperature. ST-Ericsson Linux next: NA ST-Ericsson ID: 400643 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I5ce103418738616a0641aba3f2126db6c56e535c Signed-off-by: Kalle Komierowski <karl.komierowski@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41640 Reviewed-by: Hakan BERG <hakan.berg@stericsson.com> Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com>
2012-03-19power: ab8500_bm: Report actual capacity during bootJohan Bjornstedt
Previously we reported 100% capacity until the battery was identified. Since the driver that identifies the battery starts after the fuel gauge driver, we reported 100% for some time even though we had a calculated capacity ready ST-Ericsson ID: 374234 ST-Ericsson Linux next: Not tested ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I5b2b4057ffcf4a8b686c28f0272132d5d84c3c6d Signed-off-by: Johan Bjornstedt <johan.bjornstedt@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41827 Reviewed-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com> Tested-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com>
2012-03-19drivers/leds/leds-lm3530.c: initialize arrayAnil Kumar
Declare array with initializer to avoid using uninitialized values ST-Ericsson ID: 401383 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I908280e8a6a73c42f0dc56bb65fefeadc3418bc6 Signed-off-by: Anil Kumar <anil.kumar@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41378 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19ab5500_bm: Add interface to reinit FG algorithmArun Murthy
A function has been added to enable reinitialisation of the fuel gauge algorithm. This can be used to to reinitialise with a different battery voltage at start-up, for verification reasons. ST-Ericsson Linux next: NA ST-Ericsson ID: 357480 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I80d6e770a57affbe7f3af0fdf82052ca1b7fe8b4 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40903 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19drivers/leds/leds-lp5521.c: assign valid valueAnil Kumar
Assign a valid value to variable ret to prevent returning it uninitialized ST-Ericsson ID: 401383 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ib1759f8483ecaf898f642118dfb82ce56cfeb45b Signed-off-by: Anil Kumar <anil.kumar@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41588 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2012-03-19power: ab8500_bm: Change maintenance chargingJohan Bjornstedt
Due to a problem in the AB8500, we will not allow charging when the battery voltage is above the requested charge voltage. This is normal when we go from normal charge state to maintenance state ST-Ericsson ID: 366119 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I12553d14ad87b766f900c3456f6eec2163d3bf51 Signed-off-by: Johan Bjornstedt <johan.bjornstedt@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39749 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com>
2012-03-19power: ab8500_bm: Estimate capacity in maintenanceJohan Bjornstedt
Battery capacity will be estimated when the charging algorithm reports that we're in maintenance state. Previously we always reported "100%" in maintenance. ST-Ericsson ID: 398336 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I931b570a26733ced091d7f3cfb1f6ad9d9a5f8f6 Signed-off-by: Johan Bjornstedt <johan.bjornstedt@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39748 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-03-19misc: bh1780gli: Fix some obvious short commingsJonas Aaberg
Unbalanced regulator handling on error during probe and msleep on times less than 10 ms. ST-Ericsson Linux next: - ST-Ericsson ID: 370799 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ic1080bf38a2f1e1922ec015b305b5a2de3b30f0e Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39196 Reviewed-by: Bengt JONSSON <bengt.g.jonsson@stericsson.com>
2012-03-19power: ab5500-fg: battery capacity based on fuel gaugeArun Murthy
On enabling reset_on_read in fuel gauge register with offset 0x0C, the accumulator should be reset after reading. But it doesnt due to the hardware issue reported in ER374581. This patch adds a software workaround for the above mentione issue. ST-Ericsson Linux next: NA ST-Ericsson ID: 375503 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I92e06e3429faa2b58318015c6d93647d67c31160 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40341 Reviewed-by: Rajagopala VENKATARAVANAPPA X <rajagopala.v@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Vijaya Kumar K-1 <vijay.kilari@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2012-03-19power: re-order in makefileArun Murthy
Change the oder in which linking happens, the expected result is ab5500_charger should be probed first followed by ab5500_btemp and ab5500_fg. ST-Ericsson Linux next: NA ST-Ericsson ID: 375503 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I56456ea36f23d5c461c1913e942afa6cd8cdb757 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40450 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2012-03-19power: ab5500-btemp: optimize the delay in battery identificationArun Murthy
In battery identification, a current source is to be enabled before reading the batctrl/bdata pin. After enabling the current some delay is required so as to be able to read the bdata/batctrl pin. ST-Ericsson Linux next: NA ST-Ericsson ID: 364300 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ib090bd617fc8363ea63379c731189859553d7627 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40454 Reviewed-by: Vijaya Kumar K-1 <vijay.kilari@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>