diff options
author | Maxime Bizon <mbizon@freebox.fr> | 2010-01-30 12:34:58 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-04-12 12:26:19 -0400 |
commit | 9538ca636f2fa28ae1514327328e2869f0215981 (patch) | |
tree | 61e0c7a208cf9519e887d415d0832038be03f94f /arch/mips | |
parent | e23a90eb736b18c16fd6d59e8c1fa6a16ac3bc0b (diff) |
MIPS: BCM63xx: Initialize gpio_out_low & out_high to current value at boot.
To avoid a glitch during GPIO initialisation read GPIO output register
values left by the firmware.
Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
To: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/903/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/bcm63xx/gpio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/bcm63xx/gpio.c b/arch/mips/bcm63xx/gpio.c index 37253452d396..315bc7f79ce1 100644 --- a/arch/mips/bcm63xx/gpio.c +++ b/arch/mips/bcm63xx/gpio.c | |||
@@ -125,6 +125,8 @@ static struct gpio_chip bcm63xx_gpio_chip = { | |||
125 | 125 | ||
126 | int __init bcm63xx_gpio_init(void) | 126 | int __init bcm63xx_gpio_init(void) |
127 | { | 127 | { |
128 | gpio_out_low = bcm_gpio_readl(GPIO_DATA_LO_REG); | ||
129 | gpio_out_high = bcm_gpio_readl(GPIO_DATA_HI_REG); | ||
128 | bcm63xx_gpio_chip.ngpio = bcm63xx_gpio_count(); | 130 | bcm63xx_gpio_chip.ngpio = bcm63xx_gpio_count(); |
129 | pr_info("registering %d GPIOs\n", bcm63xx_gpio_chip.ngpio); | 131 | pr_info("registering %d GPIOs\n", bcm63xx_gpio_chip.ngpio); |
130 | 132 | ||