linux/arch/arm/mach-omap2
Grygorii Strashko fe8291e82b ARM: OMAP2+: omap-device: fix race deferred probe of omap_hsmmc vs omap_device_late_init
Kernel fails to boot 50% of times (form build to build) with
RT-patchset applied due to the following race - on late boot
stages deferred_probe_work_func->omap_hsmmc_probe races with omap_device_late_ini.

The same issue has been reported now on linux-next (4.3) by Keerthy [1]

late_initcall
 - deferred_probe_initcal() tries to re-probe all pending driver's probe.

- later on, some driver is probing in this case It's cpsw.c
  (but could be any other drivers)
  cpsw_init
  - platform_driver_register
    - really_probe
       - driver_bound
         - driver_deferred_probe_trigger
  and boot proceed.
  So, at this moment we have deferred_probe_work_func scheduled.

late_initcall_sync
  - omap_device_late_init
    - omap_device_idle

CPU1					CPU2
  - deferred_probe_work_func
    - really_probe
      - omap_hsmmc_probe
	- pm_runtime_get_sync
					late_initcall_sync
					- omap_device_late_init
						if (od->_driver_status != BUS_NOTIFY_BOUND_DRIVER) {
							if (od->_state == OMAP_DEVICE_STATE_ENABLED) {
								- omap_device_idle [ops - IP is disabled]
	- [fail]
	- pm_runtime_put_sync
          - omap_hsmmc_runtime_suspend [ooops!]

== log ==
 omap_hsmmc 480b4000.mmc: unable to get vmmc regulator -517
 davinci_mdio 48485000.mdio: davinci mdio revision 1.6
 davinci_mdio 48485000.mdio: detected phy mask fffffff3
 libphy: 48485000.mdio: probed
 davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
 davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
 omap_hsmmc 480b4000.mmc: unable to get vmmc regulator -517
 cpsw 48484000.ethernet: Detected MACID = b4:99:4c:c7:d2:48
 cpsw 48484000.ethernet: cpsw: Detected MACID = b4:99:4c:c7:d2:49
 hctosys: unable to open rtc device (rtc0)
 omap_hsmmc 480b4000.mmc: omap_device_late_idle: enabled but no driver.  Idling
 ldousb: disabling
 Unhandled fault: imprecise external abort (0x1406) at 0x00000000
 [00000000] *pgd=00000000
 Internal error: : 1406 [#1] PREEMPT SMP ARM
 Modules linked in:
 CPU: 1 PID: 58 Comm: kworker/u4:1 Not tainted 4.1.2-rt1-00467-g6da3c0a-dirty #5
 Hardware name: Generic DRA74X (Flattened Device Tree)
 Workqueue: deferwq deferred_probe_work_func
 task: ee6ddb00 ti: edd3c000 task.ti: edd3c000
 PC is at omap_hsmmc_runtime_suspend+0x1c/0x12c
 LR is at _od_runtime_suspend+0xc/0x24
 pc : [<c0471998>]    lr : [<c0029590>]    psr: a0000013
 sp : edd3dda0  ip : ee6ddb00  fp : c07be540
 r10: 00000000  r9 : c07be540  r8 : 00000008
 r7 : 00000000  r6 : ee646c10  r5 : ee646c10  r4 : edd79380
 r3 : fa0b4100  r2 : 00000000  r1 : 00000000  r0 : ee646c10
 Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
 Control: 10c5387d  Table: 8000406a  DAC: 00000015
 Process kworker/u4:1 (pid: 58, stack limit = 0xedd3c218)
 Stack: (0xedd3dda0 to 0xedd3e000)
 dda0: ee646c70 ee646c10 c0029584 00000000 00000008 c0029590 ee646c70 ee646c10
 ddc0: c0029584 c03adfb8 ee646c10 00000004 0000000c c03adff0 ee646c10 00000004
 dde0: 0000000c c03ae4ec 00000000 edd3c000 ee646c10 00000004 ee646c70 00000004
 de00: fa0b4000 c03aec20 ee6ddb00 ee646c10 00000004 ee646c70 ee646c10 fffffdfb
 de20: edd79380 00000000 fa0b4000 c03aee90 fffffdfb edd79000 ee646c00 c0474290
 de40: 00000000 edda24c0 edd79380 edc81f00 00000000 00000200 00000001 c06dd488
 de60: edda3960 ee646c10 ee646c10 c0824cc4 fffffdfb c0880c94 00000002 edc92600
 de80: c0836378 c03a7f84 ee646c10 c0824cc4 00000000 c0880c80 c0880c94 c03a6568
 dea0: 00000000 ee646c10 c03a66ac ee4f8000 00000000 00000001 edc92600 c03a4b40
 dec0: ee404c94 edc83c4c ee646c10 ee646c10 ee646c44 c03a63c4 ee646c10 ee646c10
 dee0: c0814448 c03a5aa8 ee646c10 c0814220 edd3c000 c03a5ec0 c0814250 ee6be400
 df00: edd3c000 c004e5bc ee6ddb01 00000078 ee6ddb00 ee4f8000 ee6be418 edd3c000
 df20: ee4f8028 00000088 c0836045 ee4f8000 ee6be400 c004e928 ee4f8028 00000000
 df40: c004e8ec 00000000 ee6bf1c0 ee6be400 c004e8ec 00000000 00000000 00000000
 df60: 00000000 c0053450 2e56fa97 00000000 afdffbd7 ee6be400 00000000 00000000
 df80: edd3df80 edd3df80 00000000 00000000 edd3df90 edd3df90 edd3dfac ee6bf1c0
 dfa0: c0053384 00000000 00000000 c000f668 00000000 00000000 00000000 00000000
 dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 f1fc9d7e febfbdff
 [<c0471998>] (omap_hsmmc_runtime_suspend) from [<c0029590>] (_od_runtime_suspend+0xc/0x24)
 [<c0029590>] (_od_runtime_suspend) from [<c03adfb8>] (__rpm_callback+0x24/0x3c)
 [<c03adfb8>] (__rpm_callback) from [<c03adff0>] (rpm_callback+0x20/0x80)
 [<c03adff0>] (rpm_callback) from [<c03ae4ec>] (rpm_suspend+0xe4/0x618)
 [<c03ae4ec>] (rpm_suspend) from [<c03aee90>] (__pm_runtime_idle+0x60/0x80)
 [<c03aee90>] (__pm_runtime_idle) from [<c0474290>] (omap_hsmmc_probe+0x6bc/0xa7c)
 [<c0474290>] (omap_hsmmc_probe) from [<c03a7f84>] (platform_drv_probe+0x44/0xa4)
 [<c03a7f84>] (platform_drv_probe) from [<c03a6568>] (driver_probe_device+0x170/0x2b4)
 [<c03a6568>] (driver_probe_device) from [<c03a4b40>] (bus_for_each_drv+0x64/0x98)
 [<c03a4b40>] (bus_for_each_drv) from [<c03a63c4>] (device_attach+0x70/0x88)
 [<c03a63c4>] (device_attach) from [<c03a5aa8>] (bus_probe_device+0x84/0xac)
 [<c03a5aa8>] (bus_probe_device) from [<c03a5ec0>] (deferred_probe_work_func+0x58/0x88)
 [<c03a5ec0>] (deferred_probe_work_func) from [<c004e5bc>] (process_one_work+0x134/0x464)
 [<c004e5bc>] (process_one_work) from [<c004e928>] (worker_thread+0x3c/0x4fc)
 [<c004e928>] (worker_thread) from [<c0053450>] (kthread+0xcc/0xe4)
 [<c0053450>] (kthread) from [<c000f668>] (ret_from_fork+0x14/0x2c)
 Code: e594302c e593202c e584205c e594302c (e5932128)
 ---[ end trace 0000000000000002 ]---

The issue happens because omap_device_late_init() do not take into
account that some drivers are present, but their probes were not
finished successfully and where deferred instead. This is the valid
case, and omap_device_late_init() should not idle such devices.

To fix this issue, the value of omap_device->_driver_status field
should be checked not only for BUS_NOTIFY_BOUND_DRIVER (driver is
present and has been bound to device successfully), but also checked
for BUS_NOTIFY_BIND_DRIVER (driver about to be bound) - which means
driver is present and there was try to bind it to device.

[1] http://www.spinics.net/lists/arm-kernel/msg441880.html
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-09-01 13:59:24 -07:00
..
include/mach ARM: drop <mach/timex.h> for !ARCH_MULTIPLATFORM, too 2013-12-20 17:17:16 +01:00
am33xx-restart.c ARM: OMAP2+: PRM: provide generic API for system reset 2014-10-27 08:39:26 -07:00
am33xx.h
board-flash.c ARM: OMAP2+: Prepare to move GPMC to drivers by platform data header 2014-11-20 12:11:25 -08:00
board-flash.h ARM: OMAP2+: Prepare to move GPMC to drivers by platform data header 2014-11-20 12:11:25 -08:00
board-generic.c Merge branch 'dm814x-soc' into omap-for-v4.3/soc 2015-07-23 21:59:18 -07:00
board-ldp.c arm: omap: irq: drop omap3_intc_handle_irq() 2014-09-11 13:05:40 -07:00
board-n8x0.c ARM: SoC/OMAP GPMC driver cleanup and move for 3.19 2014-12-09 16:57:56 -08:00
board-rx51-peripherals.c media updates for v3.19-rc1 2014-12-11 11:49:23 -08:00
board-rx51-video.c ARM: OMAP2+: N900: remove omapdss init for DT boot 2014-04-18 16:37:43 -07:00
board-rx51.c arm: omap: irq: drop omap3_intc_handle_irq() 2014-09-11 13:05:40 -07:00
board-rx51.h
clkt2xxx_dpll.c
clkt2xxx_dpllcore.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
clkt2xxx_virt_prcm_set.c ARM: omap2: use clkdev_create() 2015-05-06 11:58:58 +01:00
clkt34xx_dpll3m2.c ARM: OMAP: Convert __clk_get_rate() to provider/consumer APIs 2015-08-24 16:48:45 -07:00
clock2xxx.h ARM: OMAP2: clock: remove unused apll code 2015-01-07 10:54:40 -08:00
clock3xxx.h CLK: TI: add omap3 clock init file 2014-01-17 12:35:48 -08:00
clock.c Merge branch 'cleanup-clk-h-includes' into clk-next 2015-07-28 11:59:09 -07:00
clock.h clk: ti: move low-level access and init code under clock driver 2015-06-02 12:31:46 +03:00
clockdomain.c
clockdomain.h ARM: OMAP2+: Add minimal clockdomains for dm814x 2015-07-16 02:09:33 -07:00
clockdomains2xxx_3xxx_data.c
clockdomains3xxx_data.c ARM: OMAP3: fix iva mmu programming issues 2014-03-12 09:48:26 -07:00
clockdomains7xx_data.c ARM: OMAP2+: DRA7: clockdomain: change l4per2_7xx_clkdm to SW_WKUP 2015-07-15 13:57:28 -06:00
clockdomains33xx_data.c
clockdomains43xx_data.c ARM: OMAP2+: CM: AM43x clockdomain data 2013-10-13 22:48:36 -06:00
clockdomains44xx_data.c
clockdomains54xx_data.c
clockdomains81xx_data.c ARM: OMAP2+: Add minimal clockdomains for dm814x 2015-07-16 02:09:33 -07:00
clockdomains2420_data.c
clockdomains2430_data.c
cm1_7xx.h ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions 2014-10-27 08:39:25 -07:00
cm1_44xx.h ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions 2014-10-27 08:39:25 -07:00
cm1_54xx.h ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions 2014-10-27 08:39:25 -07:00
cm2_7xx.h ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions 2014-10-27 08:39:25 -07:00
cm2_44xx.h ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions 2014-10-27 08:39:25 -07:00
cm2_54xx.h ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions 2014-10-27 08:39:25 -07:00
cm2xxx_3xxx.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
cm2xxx.c ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm2xxx.h ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm3xxx.c ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm3xxx.h ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm33xx.c ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm33xx.h ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm44xx.h ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
cm81xx.h ARM: OMAP2+: Add clock domain support for dm816x 2015-01-26 09:26:32 -08:00
cm_common.c ARM: OMAP2+: clock: add low-level support for regmap 2015-03-31 21:26:55 +03:00
cm-regbits-7xx.h ARM: OMAP: DRA7: CM: Add minimal regbit shifts 2013-08-23 04:28:36 -06:00
cm-regbits-24xx.h ARM: OMAP2: convert sys_ck and osc_ck to standard clock types 2014-07-02 14:26:06 +03:00
cm-regbits-33xx.h ARM: OMAP3: PRM/CM: Cleanup unused header 2013-07-21 22:10:03 -06:00
cm-regbits-34xx.h ARM: OMAP3: PRM/CM: Add back macros used by TI DSP/Bridge driver 2014-07-06 15:51:23 -06:00
cm-regbits-44xx.h ARM: OMAP4: PRM/CM: Cleanup unused header 2013-07-21 22:10:14 -06:00
cm-regbits-54xx.h ARM: OMAP5: PRM/CM: Cleanup unused header 2013-07-21 22:10:25 -06:00
cm.h ARM: OMAP2+: CM: determine CM base address from device tree 2015-03-27 10:55:57 +02:00
cminst44xx.c ARM: OMAP2+: CM: move SoC specific init calls within a generic API 2015-03-31 21:26:50 +03:00
common-board-devices.c
common-board-devices.h arm: omap2: n8x0: move i2c devices to DT 2014-09-16 14:43:11 -07:00
common.c ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 2015-03-16 16:23:28 -07:00
common.h ARM: DRA7: Provide proper IO map table 2015-07-16 00:06:05 -07:00
control.c ARM: OMAP2+: Fix scm compatible for dm814x 2015-07-16 02:09:10 -07:00
control.h ARM: OMAP3: Add support for configuring MMC pins as GPIO pins 2015-05-20 09:23:43 -07:00
cpuidle34xx.c cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic 2014-11-12 21:17:27 +01:00
cpuidle44xx.c Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
ctrl_module_wkup_44xx.h
devices.c mach-omap2: Remove use of deprecated marco, PTR_RET in devices.c 2015-05-20 13:54:35 -07:00
devices.h
display.c ARM: OMAP2+: display: detect DRA7 DSS 2015-06-04 09:02:14 +03:00
display.h ARM: OMAP2+: add omapdss_init_of() 2014-03-19 10:52:23 +02:00
dma.c ARM: OMAP2+: Remove unnessary return statement from the void function, omap2_show_dma_caps 2015-06-01 15:01:51 -07:00
drm.c ARM: OMAP2+: display: Create omapdrm device inside omap_display_init 2013-10-08 14:02:35 -07:00
dss-common.c ARM: OMAP2+: remove pdata quirks for displays 2014-04-04 09:55:18 +03:00
dss-common.h ARM: OMAP2+: pdata-quirks: add legacy display init for IGEPv2 board 2013-10-09 07:54:34 -07:00
fb.c ARM: OMAP2+: Remove calls to deprecacted marco,PTR_RET in the files,fb.c and pmu.c 2015-05-20 10:43:37 -07:00
gpio.c
gpmc-nand.c ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME 2015-03-06 12:39:48 +02:00
gpmc-onenand.c ARM: Show proper respect for Heinrich Hertz by using the correct unit for frequency 2015-05-14 16:22:05 +01:00
gpmc-smsc911x.c ARM: OMAP2+: smsc911x: fix return value check in gpmc_smsc911x_init() 2013-11-14 10:40:36 -08:00
gpmc-smsc911x.h
gpmc.h ARM: OMAP2+: Prepare to move GPMC to drivers by platform data header 2014-11-20 12:11:25 -08:00
hdq1w.c arm: mach-omap2: Convert pr_warning to pr_warn 2014-09-18 09:53:57 -07:00
hdq1w.h
hsmmc.c ARM: Show proper respect for Heinrich Hertz by using the correct unit for frequency 2015-05-14 16:22:05 +01:00
hsmmc.h mmc: omap_hsmmc: remove unused slot_id parameter 2014-11-26 14:30:56 +01:00
i2c.c arm: mach-omap2: Convert pr_warning to pr_warn 2014-09-18 09:53:57 -07:00
i2c.h
id.c ARM: SoC late changes for v4.1 2015-04-22 09:24:55 -07:00
id.h
io.c ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
iomap.h ARM: DRA7: Provide proper IO map table 2015-07-16 00:06:05 -07:00
Kconfig Merge branch 'fixes' into next/cleanup 2015-08-06 10:11:36 +02:00
l3_2xxx.h
l3_3xxx.h
l4_2xxx.h
l4_3xxx.h
Makefile ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
Makefile.boot
mcbsp.c ARM: OMAP3: McBSP: do not access CM register directly 2013-10-19 10:11:51 -06:00
mmc.h ARM: OMAP2: MMC: include mmc-omap platform header directly 2014-11-26 14:30:53 +01:00
msdi.c arm: mach-omap2: Convert pr_warning to pr_warn 2014-09-18 09:53:57 -07:00
mux34xx.c ARM: OMAP2+: mux: fix trivial typo in name 2013-09-18 12:02:01 -07:00
mux34xx.h
mux.c ARM: OMAP2+: remove superfluous NULL pointer check 2015-03-26 10:33:25 -07:00
mux.h ARM: OMAP2+: remove OMAP_PACKAGE_ZAC and OMAP_PACKAGE_ZAF 2014-02-28 15:36:34 -08:00
omap2-restart.c ARM: OMAP2+: PRM: provide generic API for system reset 2014-10-27 08:39:26 -07:00
omap3-restart.c ARM: OMAP2+: sparse: add missing function declarations 2015-07-15 23:43:41 -06:00
omap4-common.c ARM: SoC fixes for v4.1 2015-04-22 09:03:30 -07:00
omap4-restart.c ARM: OMAP2+: sparse: add missing function declarations 2015-07-15 23:43:41 -06:00
omap4-sar-layout.h
omap24xx.h
omap34xx.h [media] omap3isp: Replace many MMIO regions by two 2015-04-02 16:45:07 -03:00
omap44xx.h
omap54xx.h ARM: DRA7: Provide proper IO map table 2015-07-16 00:06:05 -07:00
omap_device.c ARM: OMAP2+: omap-device: fix race deferred probe of omap_hsmmc vs omap_device_late_init 2015-09-01 13:59:24 -07:00
omap_device.h ARM: OMAP2+: omap_device: add fail hook for runtime_pm when bad data is detected 2013-12-10 09:39:52 -08:00
omap_hwmod_2xxx_3xxx_interconnect_data.c ARM: OMAP2: hwmod_data: Remove legacy mailbox data and addrs 2014-07-15 05:08:56 -07:00
omap_hwmod_2xxx_3xxx_ipblock_data.c ARM: AM43xx: hwmod: add DSS hwmod data 2014-07-05 17:44:57 -06:00
omap_hwmod_2xxx_interconnect_data.c ARM: OMAP2+: Remove legacy hwmod entries for omap2 2013-11-25 15:31:18 -08:00
omap_hwmod_2xxx_ipblock_data.c ARM: OMAP2+: sparse: add missing static declaration 2015-07-15 23:42:12 -06:00
omap_hwmod_3xxx_data.c ARM: OMAP3: Fix crypto support for HS devices 2015-06-01 19:23:04 -06:00
omap_hwmod_7xx_data.c ARM: DRA7: hwmod: fix gpmc hwmod 2015-07-15 16:21:06 -06:00
omap_hwmod_33xx_43xx_common_data.h ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod 2015-06-01 19:22:11 -06:00
omap_hwmod_33xx_43xx_interconnect_data.c ARM: AM33xx: hwmod_data: Remove legacy mailbox addrs 2014-07-15 05:08:56 -07:00
omap_hwmod_33xx_43xx_ipblock_data.c ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod 2015-06-01 19:22:11 -06:00
omap_hwmod_33xx_data.c ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod 2015-06-01 19:22:11 -06:00
omap_hwmod_43xx_data.c ARM: OMAP2+: sparse: add missing static declaration 2015-07-15 23:42:12 -06:00
omap_hwmod_44xx_data.c memory: omap-gpmc: Add Kconfig option for debug 2015-06-01 19:22:10 -06:00
omap_hwmod_54xx_data.c ARM: OMAP: Work around hardcoded interrupts 2015-01-17 08:56:12 -08:00
omap_hwmod_81xx_data.c Merge branch 'dm814x-soc' into omap-for-v4.3/soc 2015-07-23 21:59:18 -07:00
omap_hwmod_2420_data.c ARM: OMAP2: hwmod_data: Remove legacy mailbox data and addrs 2014-07-15 05:08:56 -07:00
omap_hwmod_2430_data.c ARM: OMAP1/2+: MMC: separate platform data for mmc and mmc hs driver 2014-11-26 14:30:53 +01:00
omap_hwmod_common_data.c
omap_hwmod_common_data.h ARM: OMAP2: hwmod_data: Remove legacy mailbox data and addrs 2014-07-15 05:08:56 -07:00
omap_hwmod_common_ipblock_data.c ARM: AM43xx: hwmod: add DSS hwmod data 2014-07-05 17:44:57 -06:00
omap_hwmod_reset.c
omap_hwmod.c ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
omap_hwmod.h Merge branch 'dm814x-soc' into omap-for-v4.3/soc 2015-07-23 21:59:18 -07:00
omap_opp_data.h
omap_phy_internal.c ARM: OMAP2+: Remove unused ti81xx platform init code 2015-01-14 17:21:00 -08:00
omap_twl.c mfd: twl-core: Fix idle mode signaling for omaps when booted with device tree 2014-04-23 15:31:05 +01:00
omap-headsmp.S ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode 2015-01-05 15:48:21 -08:00
omap-hotplug.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
omap-iommu.c ARM: OMAP2+: Remove module references from IOMMU machine layer 2015-07-16 00:14:50 -07:00
omap-mpuss-lowpower.c ARM: OMAP2+: sparse: add missing static declaration 2015-07-15 23:42:12 -06:00
omap-pm-noop.c ARM: OMAP2+: omap-pm-noop.c: Remove some unused functions 2015-01-07 09:53:51 -08:00
omap-pm.h ARM: OMAP2+: omap-pm-noop.c: Remove some unused functions 2015-01-07 09:53:51 -08:00
omap-secure.c RX-51: Add support for OMAP3 ROM Random Number Generator 2013-10-08 12:02:12 -07:00
omap-secure.h ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 2015-03-16 16:23:28 -07:00
omap-smc.S ARM: OMAP3: Add secure function omap_smc3() which calling instruction smc #1 2013-10-08 11:55:32 -07:00
omap-smp.c ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode 2015-01-05 15:48:21 -08:00
omap-wakeupgen.c ARM: OMAP: wakeupgen: Restore the irq_set_type() mechanism 2015-08-20 00:25:25 +02:00
omap-wakeupgen.h ARM: omap: convert wakeupgen to stacked domains 2015-03-15 00:56:13 +00:00
opp2xxx.h
opp3xxx_data.c
opp4xxx_data.c
opp2420_data.c
opp2430_data.c ARM: Show proper respect for Heinrich Hertz by using the correct unit for frequency 2015-05-14 16:22:05 +01:00
opp.c ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
pdata-quirks.c ARM: DT updates for v4.3 2015-09-01 13:09:20 -07:00
pm24xx.c ARM: OMAP2+: Include clk.h 2015-07-20 10:52:36 -07:00
pm34xx.c ARM: OMAP2+: PRM: add generic API for clear_mod_irqs 2015-03-25 11:03:37 +02:00
pm44xx.c ARM: OMAP4+: PM: Centralize static dependency mapping table 2014-11-10 16:01:40 -08:00
pm-debug.c
pm.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
pm.h ARM: OMAP5 / DRA7: Enable CPU RET on suspend 2014-09-08 11:38:43 -05:00
pmu.c ARM: OMAP2+: Remove calls to deprecacted marco,PTR_RET in the files,fb.c and pmu.c 2015-05-20 10:43:37 -07:00
powerdomain-common.c ARM: OMAP4: PRCM: remove references to cm-regbits-44xx.h from PRCM core files 2014-05-15 22:35:10 -06:00
powerdomain.c ARM: OMAP2+: voltage: Remove some unused functions 2015-01-07 09:53:51 -08:00
powerdomain.h ARM: OMAP2+: powerdomain.c: Remove some unused functions 2015-01-07 09:53:51 -08:00
powerdomains2xxx_3xxx_data.c
powerdomains2xxx_3xxx_data.h
powerdomains2xxx_data.c
powerdomains3xxx_data.c ARM: OMAP2+: Fix power domain operations regression caused by 81xx 2015-08-06 22:09:40 -07:00
powerdomains7xx_data.c ARM: OMAP: DRA7: powerdomain data: fix powerdomain powerstate 2014-09-08 11:22:31 -05:00
powerdomains33xx_data.c
powerdomains43xx_data.c ARM: OMAP2+: PM: AM43x powerdomain data 2013-10-13 22:48:25 -06:00
powerdomains44xx_data.c
powerdomains54xx_data.c ARM: OMAP5: powerdomain data: fix powerdomain powerstate 2014-09-08 11:22:40 -05:00
prcm43xx.h ARM: AM43xx: Add the PRM IRQ register offsets 2015-07-23 05:54:38 -06:00
prcm44xx.h ARM: OMAP: DRA7: PRCM: Add DRA7XX local MPU PRCM regsiters 2013-08-23 04:28:36 -06:00
prcm_mpu7xx.h ARM: OMAP: DRA7: PRCM: Add DRA7XX local MPU PRCM regsiters 2013-08-23 04:28:36 -06:00
prcm_mpu44xx.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
prcm_mpu44xx.h ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
prcm_mpu54xx.h
prcm_mpu_44xx_54xx.h
prcm-common.h Merge branch 'dm814x-soc' into omap-for-v4.3/soc 2015-07-23 21:59:18 -07:00
prm2xxx_3xxx.c ARM: OMAP2+: PRM: add generic API for checking hardreset status 2014-10-27 08:39:25 -07:00
prm2xxx_3xxx.h ARM: OMAP2+: PRM: add generic API for checking hardreset status 2014-10-27 08:39:25 -07:00
prm2xxx.c ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm2xxx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm3xxx.c ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm3xxx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm7xx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm33xx.c ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm33xx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm44xx_54xx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm44xx.c ARM: OMAP4+: PRM: Add AM437x specific data 2015-07-23 06:08:24 -06:00
prm44xx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm54xx.h ARM: OMAP2+: PRM: move SoC specific init calls within a generic API 2015-03-31 21:26:36 +03:00
prm_common.c ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
prm-regbits-24xx.h ARM: OMAP2: PRM/CM: Cleanup unused header 2013-07-21 21:13:59 -06:00
prm-regbits-33xx.h ARM: OMAP2+: Add back the define for AM33XX_RST_GLOBAL_WARM_SW_MASK 2013-08-29 19:10:59 -07:00
prm-regbits-34xx.h ARM: OMAP2+: Fix omap off idle power consumption creeping up 2015-05-04 08:54:41 -07:00
prm-regbits-44xx.h ARM: OMAP2+: Fix omap off idle power consumption creeping up 2015-05-04 08:54:41 -07:00
prm.h ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init 2015-03-31 21:26:53 +03:00
prminst44xx.c ARM: OMAP4+: PRM: add support for passing status register/bit info to reset 2015-05-08 13:05:15 -06:00
prminst44xx.h ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility 2015-03-31 21:26:44 +03:00
scrm44xx.h
scrm54xx.h
sdram-hynix-h8mbx00u0mer-0em.h
sdram-micron-mt46h32m32lf-6.h
sdram-nokia.c
sdram-nokia.h
sdram-numonyx-m65kxxxxam.h
sdram-qimonda-hyb18m512160af-6.h
sdrc2xxx.c ARM: Show proper respect for Heinrich Hertz by using the correct unit for frequency 2015-05-14 16:22:05 +01:00
sdrc.c
sdrc.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
serial.c ARM: OMAP2+: use symbolic defines for console loglevels instead of numbers 2015-05-20 10:13:26 -07:00
serial.h
sleep24xx.S
sleep34xx.S ARM: OMAP3: Fix booting with thumb2 kernel 2015-05-28 07:22:08 -07:00
sleep44xx.S ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 2015-03-16 16:23:28 -07:00
smartreflex-class3.c arm: mach-omap2: Convert pr_warning to pr_warn 2014-09-18 09:53:57 -07:00
soc.h ARM: OMAP2+: Fix ti81xx class type 2015-01-14 17:37:16 -08:00
sr_device.c arm: mach-omap2: Convert pr_warning to pr_warn 2014-09-18 09:53:57 -07:00
sram34xx.S
sram242x.S ARM: Show proper respect for Heinrich Hertz by using the correct unit for frequency 2015-05-14 16:22:05 +01:00
sram243x.S ARM: Show proper respect for Heinrich Hertz by using the correct unit for frequency 2015-05-14 16:22:05 +01:00
sram.c ARM: OMAP4+: Remove static iotable mappings for SRAM 2014-09-18 09:47:35 -07:00
sram.h ARM: OMAP4+: Remove static iotable mappings for SRAM 2014-09-18 09:47:35 -07:00
ti81xx-restart.c ARM: OMAP2+: Fix reboot for 81xx 2015-01-14 17:37:16 -08:00
ti81xx.h
timer.c ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
twl-common.c ARM: OMAP: Work around hardcoded interrupts 2015-01-17 08:56:12 -08:00
twl-common.h
usb-host.c usb: phy: rename <linux/usb/usb_phy_gen_xceiv.h> to <linux/usb/usb_phy_generic.h> 2014-04-21 14:07:24 -05:00
usb-musb.c ARM: OMAP2+: Remove unused ti81xx platform init code 2015-01-14 17:21:00 -08:00
usb-tusb6010.c ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME 2015-03-06 12:39:48 +02:00
usb.h ARM: OMAP2+: Remove unused ti81xx platform init code 2015-01-14 17:21:00 -08:00
vc3xxx_data.c ARM: OMAP2+: Fix omap off idle power consumption creeping up 2015-05-04 08:54:41 -07:00
vc44xx_data.c ARM: OMAP2+: Fix omap off idle power consumption creeping up 2015-05-04 08:54:41 -07:00
vc.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
vc.h ARM: OMAP2+: Fix omap off idle power consumption creeping up 2015-05-04 08:54:41 -07:00
voltage.c ARM: OMAP2+: voltage: Remove some unused functions 2015-01-07 09:53:51 -08:00
voltage.h ARM: OMAP2+: voltage: Remove some unused functions 2015-01-07 09:53:51 -08:00
voltagedomains2xxx_data.c
voltagedomains3xxx_data.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
voltagedomains44xx_data.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
voltagedomains54xx_data.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
vp3xxx_data.c ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone 2015-03-25 11:03:39 +02:00
vp44xx_data.c ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone 2015-03-25 11:03:39 +02:00
vp.c
vp.h ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone 2015-03-25 11:03:39 +02:00
wd_timer.c arm: mach-omap2: Convert pr_warning to pr_warn 2014-09-18 09:53:57 -07:00
wd_timer.h