aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-08-18 16:33:09 -0400
committerOlof Johansson <olof@lixom.net>2015-08-18 16:33:09 -0400
commit443d7920a5ea454b4d46839a029fb26fd5a2cdee (patch)
tree63e5b0a380ca92440059be6256bc231bdacdd969
parent207b504a63b849519cc285c3ddb37411d67beead (diff)
parented293d1ad2b0c28b6abc3bd728b07754bc00f1cd (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.c6
-rw-r--r--drivers/memory/omap-gpmc.c5
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);