From d5baf7fbe002aa3e0937d0a7d0266eea2a7edae9 Mon Sep 17 00:00:00 2001 From: Tarun Kanti DebBarma Date: Fri, 27 Apr 2012 19:43:37 +0530 Subject: [PATCH] --- yaml --- r: 307680 b: refs/heads/master c: 4e962e8998cc6cb5e58beae5feb6a65cb1a27f26 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-omap2/gpio.c | 2 ++ trunk/arch/arm/plat-omap/include/plat/gpio.h | 2 ++ trunk/drivers/gpio/gpio-omap.c | 4 ++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 57b4007fd35f..9fe26c8eca4c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9c4ed9e6c01e7a8bd9079da8267e1f03cb4761fc +refs/heads/master: 4e962e8998cc6cb5e58beae5feb6a65cb1a27f26 diff --git a/trunk/arch/arm/mach-omap2/gpio.c b/trunk/arch/arm/mach-omap2/gpio.c index 86f91a6ed4e4..a144e22969a3 100644 --- a/trunk/arch/arm/mach-omap2/gpio.c +++ b/trunk/arch/arm/mach-omap2/gpio.c @@ -101,6 +101,8 @@ static int __init omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) pdata->regs->dataout = OMAP4_GPIO_DATAOUT; pdata->regs->set_dataout = OMAP4_GPIO_SETDATAOUT; pdata->regs->clr_dataout = OMAP4_GPIO_CLEARDATAOUT; + pdata->regs->irqstatus_raw0 = OMAP4_GPIO_IRQSTATUSRAW0; + pdata->regs->irqstatus_raw1 = OMAP4_GPIO_IRQSTATUSRAW1; pdata->regs->irqstatus = OMAP4_GPIO_IRQSTATUS0; pdata->regs->irqstatus2 = OMAP4_GPIO_IRQSTATUS1; pdata->regs->irqenable = OMAP4_GPIO_IRQSTATUSSET0; diff --git a/trunk/arch/arm/plat-omap/include/plat/gpio.h b/trunk/arch/arm/plat-omap/include/plat/gpio.h index d903e7df3fb1..50fb7cc000ea 100644 --- a/trunk/arch/arm/plat-omap/include/plat/gpio.h +++ b/trunk/arch/arm/plat-omap/include/plat/gpio.h @@ -172,6 +172,8 @@ struct omap_gpio_reg_offs { u16 clr_dataout; u16 irqstatus; u16 irqstatus2; + u16 irqstatus_raw0; + u16 irqstatus_raw1; u16 irqenable; u16 irqenable2; u16 set_irqenable; diff --git a/trunk/drivers/gpio/gpio-omap.c b/trunk/drivers/gpio/gpio-omap.c index c89c38869c0c..2c70617e6b45 100644 --- a/trunk/drivers/gpio/gpio-omap.c +++ b/trunk/drivers/gpio/gpio-omap.c @@ -1286,14 +1286,14 @@ static int omap_gpio_runtime_resume(struct device *dev) old0 = __raw_readl(bank->base + bank->regs->leveldetect0); old1 = __raw_readl(bank->base + bank->regs->leveldetect1); - if (cpu_is_omap24xx() || cpu_is_omap34xx()) { + if (!bank->regs->irqstatus_raw0) { __raw_writel(old0 | gen, bank->base + bank->regs->leveldetect0); __raw_writel(old1 | gen, bank->base + bank->regs->leveldetect1); } - if (cpu_is_omap44xx()) { + if (bank->regs->irqstatus_raw0) { __raw_writel(old0 | l, bank->base + bank->regs->leveldetect0); __raw_writel(old1 | l, bank->base +