Skip to content

Commit

Permalink
ARM: w1-gpio: fix erroneous gpio requests
Browse files Browse the repository at this point in the history
Fix regression introduced by commit d2323cf ("onewire: w1-gpio: add
ext_pullup_enable pin in platform data") which added a gpio entry to the
platform data, but did not add the required initialisers to the board
files using it. Consequently, the driver would request gpio 0 at probe,
which could break other uses of the corresponding pin.

On AT91 requesting gpio 0 changes the pin muxing for PIOA0, which, for
instance, breaks SPI0 on at91sam9g20.

Cc: stable <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
jhovold authored and gregkh committed Mar 12, 2013
1 parent f6161aa commit 2d798a3
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-at91/board-foxg20.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ static struct w1_gpio_platform_data w1_gpio_pdata = {
/* If you choose to use a pin other than PB16 it needs to be 3.3V */
.pin = AT91_PIN_PB16,
.is_open_drain = 1,
.ext_pullup_enable_pin = -EINVAL,
};

static struct platform_device w1_device = {
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-at91/board-stamp9g20.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ static struct spi_board_info portuxg20_spi_devices[] = {
static struct w1_gpio_platform_data w1_gpio_pdata = {
.pin = AT91_PIN_PA29,
.is_open_drain = 1,
.ext_pullup_enable_pin = -EINVAL,
};

static struct platform_device w1_device = {
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-ixp4xx/vulcan-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ static struct platform_device vulcan_max6369 = {

static struct w1_gpio_platform_data vulcan_w1_gpio_pdata = {
.pin = 14,
.ext_pullup_enable_pin = -EINVAL,
};

static struct platform_device vulcan_w1_gpio = {
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-pxa/raumfeld.c
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,7 @@ static struct w1_gpio_platform_data w1_gpio_platform_data = {
.pin = GPIO_ONE_WIRE,
.is_open_drain = 0,
.enable_external_pullup = w1_enable_external_pullup,
.ext_pullup_enable_pin = -EINVAL,
};

struct platform_device raumfeld_w1_gpio_device = {
Expand Down

0 comments on commit 2d798a3

Please sign in to comment.