diff options
author | Tony Lindgren <tony@atomide.com> | 2019-01-29 07:53:47 -0800 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2019-01-29 07:53:47 -0800 |
commit | 072167d13ce46d5fcef1a80a53a667a46c9b17e7 (patch) | |
tree | d978e8c7d523702d8da2964c02a10f3301015847 /drivers | |
parent | d0243693fbf6fbd48b4efb2ba7210765983b03e3 (diff) | |
parent | 0840242e887586268f665bf58d5e1a7d6ebf35ed (diff) | |
download | linux-072167d13ce46d5fcef1a80a53a667a46c9b17e7.tar.bz2 |
Merge branch 'pwm-dmtimer-fixes' into omap-for-v5.0/fixes-v2
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/bus/ti-sysc.c | 6 | ||||
-rw-r--r-- | drivers/clocksource/timer-ti-dm.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index f94d33525771..d299ec79e4c3 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -781,12 +781,12 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = { SYSC_QUIRK("smartreflex", 0, -1, 0x38, -1, 0x00000000, 0xffffffff, SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("timer", 0, 0, 0x10, 0x14, 0x00000015, 0xffffffff, - SYSC_QUIRK_LEGACY_IDLE), + 0), /* Some timers on omap4 and later */ SYSC_QUIRK("timer", 0, 0, 0x10, -1, 0x50002100, 0xffffffff, - SYSC_QUIRK_LEGACY_IDLE), + 0), SYSC_QUIRK("timer", 0, 0, 0x10, -1, 0x4fff1301, 0xffff00ff, - SYSC_QUIRK_LEGACY_IDLE), + 0), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff, SYSC_QUIRK_LEGACY_IDLE), /* Uarts on omap4 and later */ diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c index 595124074821..c364027638e1 100644 --- a/drivers/clocksource/timer-ti-dm.c +++ b/drivers/clocksource/timer-ti-dm.c @@ -154,6 +154,10 @@ static int omap_dm_timer_of_set_source(struct omap_dm_timer *timer) if (IS_ERR(parent)) return -ENODEV; + /* Bail out if both clocks point to fck */ + if (clk_is_match(parent, timer->fclk)) + return 0; + ret = clk_set_parent(timer->fclk, parent); if (ret < 0) pr_err("%s: failed to set parent\n", __func__); @@ -864,7 +868,6 @@ static int omap_dm_timer_probe(struct platform_device *pdev) timer->pdev = pdev; pm_runtime_enable(dev); - pm_runtime_irq_safe(dev); if (!timer->reserved) { ret = pm_runtime_get_sync(dev); |