This patch makes the GPIO pin multiplexing configuration read the initial GPIO mode register value instead of setting it initially to 0, then setting the correct bits, this is safer. Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> --- diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c index cfe32af..6ae4242 100644 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -634,7 +634,7 @@ void __init board_prom_init(void) /* setup pin multiplexing depending on board enabled device, * this has to be done this early since PCI init is done * inside arch_initcall */ - val = 0; + val = bcm_gpio_readl(GPIO_MODE_REG); #ifdef CONFIG_PCI if (board.has_pci) {