diff options
author | Olof Johansson <olof@lixom.net> | 2015-08-18 16:33:09 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-08-18 16:33:09 -0400 |
commit | 443d7920a5ea454b4d46839a029fb26fd5a2cdee (patch) | |
tree | 63e5b0a380ca92440059be6256bc231bdacdd969 | |
parent | 207b504a63b849519cc285c3ddb37411d67beead (diff) | |
parent | ed293d1ad2b0c28b6abc3bd728b07754bc00f1cd (diff) |
Merge tag 'omap-for-v4.3/soc-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Fix omap PM regression in Linux next and kill set_irq_flags usage
for GPMC.
* tag 'omap-for-v4.3/soc-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
memory: kill off set_irq_flags usage
ARM: OMAP2+: Fix power domain operations regression caused by 81xx
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/mach-omap2/powerdomains3xxx_data.c | 6 | ||||
-rw-r--r-- | drivers/memory/omap-gpmc.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/powerdomains3xxx_data.c b/arch/arm/mach-omap2/powerdomains3xxx_data.c index 7829d274e037..d31c495175c1 100644 --- a/arch/arm/mach-omap2/powerdomains3xxx_data.c +++ b/arch/arm/mach-omap2/powerdomains3xxx_data.c | |||
@@ -580,7 +580,9 @@ void __init omap3xxx_powerdomains_init(void) | |||
580 | if (!cpu_is_omap34xx() && !cpu_is_ti81xx()) | 580 | if (!cpu_is_omap34xx() && !cpu_is_ti81xx()) |
581 | return; | 581 | return; |
582 | 582 | ||
583 | pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations); | 583 | /* Only 81xx needs custom pwrdm_operations */ |
584 | if (!cpu_is_ti81xx()) | ||
585 | pwrdm_register_platform_funcs(&omap3_pwrdm_operations);; | ||
584 | 586 | ||
585 | rev = omap_rev(); | 587 | rev = omap_rev(); |
586 | 588 | ||
@@ -588,9 +590,11 @@ void __init omap3xxx_powerdomains_init(void) | |||
588 | pwrdm_register_pwrdms(powerdomains_am35x); | 590 | pwrdm_register_pwrdms(powerdomains_am35x); |
589 | } else if (rev == TI8148_REV_ES1_0 || rev == TI8148_REV_ES2_0 || | 591 | } else if (rev == TI8148_REV_ES1_0 || rev == TI8148_REV_ES2_0 || |
590 | rev == TI8148_REV_ES2_1) { | 592 | rev == TI8148_REV_ES2_1) { |
593 | pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations); | ||
591 | pwrdm_register_pwrdms(powerdomains_ti814x); | 594 | pwrdm_register_pwrdms(powerdomains_ti814x); |
592 | } else if (rev == TI8168_REV_ES1_0 || rev == TI8168_REV_ES1_1 | 595 | } else if (rev == TI8168_REV_ES1_0 || rev == TI8168_REV_ES1_1 |
593 | || rev == TI8168_REV_ES2_0 || rev == TI8168_REV_ES2_1) { | 596 | || rev == TI8168_REV_ES2_0 || rev == TI8168_REV_ES2_1) { |
597 | pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations); | ||
594 | pwrdm_register_pwrdms(powerdomains_ti816x); | 598 | pwrdm_register_pwrdms(powerdomains_ti816x); |
595 | } else { | 599 | } else { |
596 | pwrdm_register_pwrdms(powerdomains_omap3430_common); | 600 | pwrdm_register_pwrdms(powerdomains_omap3430_common); |
diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c index 3a27a84ad3ec..972209977e4e 100644 --- a/drivers/memory/omap-gpmc.c +++ b/drivers/memory/omap-gpmc.c | |||
@@ -1176,8 +1176,8 @@ static int gpmc_setup_irq(void) | |||
1176 | gpmc_client_irq[i].irq = gpmc_irq_start + i; | 1176 | gpmc_client_irq[i].irq = gpmc_irq_start + i; |
1177 | irq_set_chip_and_handler(gpmc_client_irq[i].irq, | 1177 | irq_set_chip_and_handler(gpmc_client_irq[i].irq, |
1178 | &gpmc_irq_chip, handle_simple_irq); | 1178 | &gpmc_irq_chip, handle_simple_irq); |
1179 | set_irq_flags(gpmc_client_irq[i].irq, | 1179 | irq_modify_status(gpmc_client_irq[i].irq, IRQ_NOREQUEST, |
1180 | IRQF_VALID | IRQF_NOAUTOEN); | 1180 | IRQ_NOAUTOEN); |
1181 | } | 1181 | } |
1182 | 1182 | ||
1183 | /* Disable interrupts */ | 1183 | /* Disable interrupts */ |
@@ -1200,7 +1200,6 @@ static int gpmc_free_irq(void) | |||
1200 | for (i = 0; i < GPMC_NR_IRQ; i++) { | 1200 | for (i = 0; i < GPMC_NR_IRQ; i++) { |
1201 | irq_set_handler(gpmc_client_irq[i].irq, NULL); | 1201 | irq_set_handler(gpmc_client_irq[i].irq, NULL); |
1202 | irq_set_chip(gpmc_client_irq[i].irq, &no_irq_chip); | 1202 | irq_set_chip(gpmc_client_irq[i].irq, &no_irq_chip); |
1203 | irq_modify_status(gpmc_client_irq[i].irq, 0, 0); | ||
1204 | } | 1203 | } |
1205 | 1204 | ||
1206 | irq_free_descs(gpmc_irq_start, GPMC_NR_IRQ); | 1205 | irq_free_descs(gpmc_irq_start, GPMC_NR_IRQ); |