Commit ed781d39 authored by Linus Walleij's avatar Linus Walleij

ARM: ux500: switch over to Nomadik pinctrl driver

This converts the Ux500 family to use the pinctrl driver for
configuring pins.
Acked-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 65697e6b
This diff is collapsed.
/* /*
* Copyright (C) 2008-2009 ST-Ericsson * Copyright (C) 2008-2009 ST-Ericsson
* *
...@@ -618,10 +619,9 @@ static void __init mop500_init_machine(void) ...@@ -618,10 +619,9 @@ static void __init mop500_init_machine(void)
mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR;
mop500_pinmaps_init();
parent = u8500_init_devices(); parent = u8500_init_devices();
mop500_pins_init();
/* FIXME: parent of ab8500 should be prcmu */ /* FIXME: parent of ab8500 should be prcmu */
for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
mop500_platform_devs[i]->dev.parent = parent; mop500_platform_devs[i]->dev.parent = parent;
...@@ -651,10 +651,9 @@ static void __init snowball_init_machine(void) ...@@ -651,10 +651,9 @@ static void __init snowball_init_machine(void)
int i2c0_devs; int i2c0_devs;
int i; int i;
snowball_pinmaps_init();
parent = u8500_init_devices(); parent = u8500_init_devices();
snowball_pins_init();
for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++)
snowball_platform_devs[i]->dev.parent = parent; snowball_platform_devs[i]->dev.parent = parent;
...@@ -689,10 +688,9 @@ static void __init hrefv60_init_machine(void) ...@@ -689,10 +688,9 @@ static void __init hrefv60_init_machine(void)
*/ */
mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
hrefv60_pinmaps_init();
parent = u8500_init_devices(); parent = u8500_init_devices();
hrefv60_pins_init();
for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
mop500_platform_devs[i]->dev.parent = parent; mop500_platform_devs[i]->dev.parent = parent;
...@@ -781,6 +779,14 @@ static void __init u8500_init_machine(void) ...@@ -781,6 +779,14 @@ static void __init u8500_init_machine(void)
int i2c0_devs; int i2c0_devs;
int i; int i;
/* Pinmaps must be in place before devices register */
if (of_machine_is_compatible("st-ericsson,mop500"))
mop500_pinmaps_init();
else if (of_machine_is_compatible("calaosystems,snowball-a9500"))
snowball_pinmaps_init();
else if (of_machine_is_compatible("st-ericsson,hrefv60+"))
hrefv60_pinmaps_init();
parent = u8500_init_devices(); parent = u8500_init_devices();
i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
...@@ -794,14 +800,12 @@ static void __init u8500_init_machine(void) ...@@ -794,14 +800,12 @@ static void __init u8500_init_machine(void)
if (of_machine_is_compatible("st-ericsson,mop500")) { if (of_machine_is_compatible("st-ericsson,mop500")) {
mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR;
mop500_pins_init();
platform_add_devices(mop500_platform_devs, platform_add_devices(mop500_platform_devs,
ARRAY_SIZE(mop500_platform_devs)); ARRAY_SIZE(mop500_platform_devs));
mop500_sdi_init(parent); mop500_sdi_init(parent);
} else if (of_machine_is_compatible("calaosystems,snowball-a9500")) { } else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
snowball_pins_init();
platform_add_devices(snowball_platform_devs, platform_add_devices(snowball_platform_devs,
ARRAY_SIZE(snowball_platform_devs)); ARRAY_SIZE(snowball_platform_devs));
...@@ -814,7 +818,6 @@ static void __init u8500_init_machine(void) ...@@ -814,7 +818,6 @@ static void __init u8500_init_machine(void)
*/ */
mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES;
hrefv60_pins_init();
platform_add_devices(mop500_platform_devs, platform_add_devices(mop500_platform_devs,
ARRAY_SIZE(mop500_platform_devs)); ARRAY_SIZE(mop500_platform_devs));
......
...@@ -85,9 +85,9 @@ extern void hrefv60_sdi_init(struct device *parent); ...@@ -85,9 +85,9 @@ extern void hrefv60_sdi_init(struct device *parent);
extern void mop500_sdi_tc35892_init(struct device *parent); extern void mop500_sdi_tc35892_init(struct device *parent);
void __init mop500_u8500uib_init(void); void __init mop500_u8500uib_init(void);
void __init mop500_stuib_init(void); void __init mop500_stuib_init(void);
void __init mop500_pins_init(void); void __init mop500_pinmaps_init(void);
void __init hrefv60_pins_init(void); void __init snowball_pinmaps_init(void);
void __init snowball_pins_init(void); void __init hrefv60_pinmaps_init(void);
void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info, void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
unsigned n); unsigned n);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment