MIPS: BCM63xx: Move bcm63xx_gpio_init() to bcm63xx_register_devices().
authorNicolas Schichan <nschichan@freebox.fr>
Thu, 12 Mar 2015 16:00:58 +0000 (17:00 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 25 Mar 2015 12:47:55 +0000 (13:47 +0100)
commit2ec459f2a77b808c1e5a3616c88b613d3f720c8d
tree2132aad12bf88b37f477664f16be281a530350a2
parentc5b367835cfc7a8ef53b9670a409ffcc95194344
MIPS: BCM63xx: Move bcm63xx_gpio_init() to bcm63xx_register_devices().

When called from prom init code, bcm63xx_gpio_init() will fail as it
will call gpiochip_add() which relies on a working kmalloc() to alloc
the gpio_desc array and kmalloc is not useable yet at prom init time.

Move bcm63xx_gpio_init() to bcm63xx_register_devices() (an
arch_initcall) where kmalloc works.

Fixes: 14e85c0e69d5 ("gpio: remove gpio_descs global array")

Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: Alexandre Courbot <acourbot@nvidia.com>
Patchwork: https://patchwork.linux-mips.org/patch/9530/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm63xx/prom.c
arch/mips/bcm63xx/setup.c