Commit 0d0644eb authored by Sebastian Hesselbarth's avatar Sebastian Hesselbarth Committed by Jason Cooper

ARM: Kirkwood: fix unused mvsdio gpio pins

mvsdio_platform_data allows to pass card detect and write protect gpio
numbers to the driver. Some kirkwood boards don't use both pins as they
are not connected, and don't set the corresponding value in platform_data.

This will leave the unset values in platform_data initialized as 0, which
is in fact a valid gpio pin. mvsdio will grab that pin and configure it as
gpio, which in turn breaks nand controller as mpp0 also carries nand_io2.

This patch fixes the above by initializing unused gpio functions in the
platform_data with an invalid (-1) value.
Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Reported-by: default avatarSoeren Moch <smoch@web.de>
Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent 7f23f62f
...@@ -53,6 +53,8 @@ static struct mv_sata_platform_data guruplug_sata_data = { ...@@ -53,6 +53,8 @@ static struct mv_sata_platform_data guruplug_sata_data = {
static struct mvsdio_platform_data guruplug_mvsdio_data = { static struct mvsdio_platform_data guruplug_mvsdio_data = {
/* unfortunately the CD signal has not been connected */ /* unfortunately the CD signal has not been connected */
.gpio_card_detect = -1,
.gpio_write_protect = -1,
}; };
static struct gpio_led guruplug_led_pins[] = { static struct gpio_led guruplug_led_pins[] = {
......
...@@ -55,6 +55,7 @@ static struct mv_sata_platform_data openrd_sata_data = { ...@@ -55,6 +55,7 @@ static struct mv_sata_platform_data openrd_sata_data = {
static struct mvsdio_platform_data openrd_mvsdio_data = { static struct mvsdio_platform_data openrd_mvsdio_data = {
.gpio_card_detect = 29, /* MPP29 used as SD card detect */ .gpio_card_detect = 29, /* MPP29 used as SD card detect */
.gpio_write_protect = -1,
}; };
static unsigned int openrd_mpp_config[] __initdata = { static unsigned int openrd_mpp_config[] __initdata = {
......
...@@ -69,6 +69,7 @@ static struct mv_sata_platform_data rd88f6281_sata_data = { ...@@ -69,6 +69,7 @@ static struct mv_sata_platform_data rd88f6281_sata_data = {
static struct mvsdio_platform_data rd88f6281_mvsdio_data = { static struct mvsdio_platform_data rd88f6281_mvsdio_data = {
.gpio_card_detect = 28, .gpio_card_detect = 28,
.gpio_write_protect = -1,
}; };
static unsigned int rd88f6281_mpp_config[] __initdata = { static unsigned int rd88f6281_mpp_config[] __initdata = {
......
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