From 1dace8cbe0ba32a4876cede2c9ee226462955dcd Mon Sep 17 00:00:00 2001 From: Mirko Parthey Date: Mon, 26 Jun 2017 18:25:46 +0200 Subject: brcm47xx: resolve GPIO conflict for WRT54GSv1 On the Linksys WRT54GSv1, the adm6996 switch driver and the gpio_button_hotplug module both claim GPIO 6, which is connected to the Reset button. When the switch driver's request wins, the Reset button cannot work. This makes it impossible to enter failsafe mode without a serial console. Stop requesting the "adm_rc" GPIO in the switch driver, since it is not used anywhere. Fixes FS#792. Signed-off-by: Mirko Parthey --- target/linux/generic/files/drivers/net/phy/adm6996.c | 5 ----- .../linux/generic/files/include/linux/platform_data/adm6996-gpio.h | 1 - 2 files changed, 6 deletions(-) (limited to 'target/linux/generic/files') diff --git a/target/linux/generic/files/drivers/net/phy/adm6996.c b/target/linux/generic/files/drivers/net/phy/adm6996.c index 25776b8366..d9ea828929 100644 --- a/target/linux/generic/files/drivers/net/phy/adm6996.c +++ b/target/linux/generic/files/drivers/net/phy/adm6996.c @@ -67,7 +67,6 @@ struct adm6996_priv { u8 eecs; u8 eesk; u8 eedi; - u8 eerc; enum adm6996_model model; @@ -1141,7 +1140,6 @@ static int adm6996_gpio_probe(struct platform_device *pdev) priv->eecs = pdata->eecs; priv->eedi = pdata->eedi; - priv->eerc = pdata->eerc; priv->eesk = pdata->eesk; priv->model = pdata->model; @@ -1152,9 +1150,6 @@ static int adm6996_gpio_probe(struct platform_device *pdev) if (ret) return ret; ret = devm_gpio_request(&pdev->dev, priv->eedi, "adm_eedi"); - if (ret) - return ret; - ret = devm_gpio_request(&pdev->dev, priv->eerc, "adm_eerc"); if (ret) return ret; ret = devm_gpio_request(&pdev->dev, priv->eesk, "adm_eesk"); diff --git a/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h b/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h index e4fcfafa74..d5af9bbf6e 100644 --- a/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h +++ b/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h @@ -23,7 +23,6 @@ struct adm6996_gpio_platform_data { u8 eecs; u8 eesk; u8 eedi; - u8 eerc; enum adm6996_model model; }; -- cgit v1.2.3