summaryrefslogtreecommitdiff
path: root/arch/arm/plat-stmp3xxx
diff options
context:
space:
mode:
authorZhou Jingyu <b02241@shlinux1.ap.freescale.net>2009-12-21 13:15:41 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-02-12 17:19:50 +0100
commit4c84fa570af23da568fdc3aab90e71f587564b01 (patch)
treebdb01d1e0c97a1fbb7a6101d8eb3e9e0b6926bad /arch/arm/plat-stmp3xxx
parent72b65b400fdcbfaf960a81434e3991630b44d1c4 (diff)
ENGR00119305 imx23: fix ethernet standby issue
fix can not goto standby when using ethernet Signed-off-by: Zhou Jingyu <Jingyu.Zhou@freescale.com>
Diffstat (limited to 'arch/arm/plat-stmp3xxx')
-rw-r--r--arch/arm/plat-stmp3xxx/pinmux.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/plat-stmp3xxx/pinmux.c b/arch/arm/plat-stmp3xxx/pinmux.c
index 9dbf9dcc787e..0bfdcb21a91c 100644
--- a/arch/arm/plat-stmp3xxx/pinmux.c
+++ b/arch/arm/plat-stmp3xxx/pinmux.c
@@ -429,6 +429,16 @@ static void stmp3xxx_pin_unmask_irq(unsigned irq)
stmp3xxx_setl(1 << gpio, pm->pin2irq);
}
+static void stmp3xxx_pin_disable_irq(unsigned irq)
+{
+ struct stmp3xxx_pinmux_bank *pm;
+ unsigned gpio;
+
+ stmp3xxx_irq_to_gpio(irq, &pm, &gpio);
+ stmp3xxx_clearl(1 << gpio, pm->irqen);
+ stmp3xxx_clearl(1 << gpio, pm->pin2irq);
+}
+
static inline
struct stmp3xxx_pinmux_bank *to_pinmux_bank(struct gpio_chip *chip)
{
@@ -510,6 +520,7 @@ static struct irq_chip gpio_irq_chip = {
.ack = stmp3xxx_pin_ack_irq,
.mask = stmp3xxx_pin_mask_irq,
.unmask = stmp3xxx_pin_unmask_irq,
+ .disable = stmp3xxx_pin_disable_irq,
.set_type = stmp3xxx_set_irqtype,
};