diff options
Diffstat (limited to 'drivers/net/ethernet/smsc/smsc911x.c')
-rw-r--r-- | drivers/net/ethernet/smsc/smsc911x.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c index 4f8910b7db2e..e9b8579e6241 100644 --- a/drivers/net/ethernet/smsc/smsc911x.c +++ b/drivers/net/ethernet/smsc/smsc911x.c | |||
@@ -62,6 +62,7 @@ | |||
62 | #include <linux/acpi.h> | 62 | #include <linux/acpi.h> |
63 | #include <linux/pm_runtime.h> | 63 | #include <linux/pm_runtime.h> |
64 | #include <linux/property.h> | 64 | #include <linux/property.h> |
65 | #include <linux/gpio/consumer.h> | ||
65 | 66 | ||
66 | #include "smsc911x.h" | 67 | #include "smsc911x.h" |
67 | 68 | ||
@@ -147,6 +148,9 @@ struct smsc911x_data { | |||
147 | /* regulators */ | 148 | /* regulators */ |
148 | struct regulator_bulk_data supplies[SMSC911X_NUM_SUPPLIES]; | 149 | struct regulator_bulk_data supplies[SMSC911X_NUM_SUPPLIES]; |
149 | 150 | ||
151 | /* Reset GPIO */ | ||
152 | struct gpio_desc *reset_gpiod; | ||
153 | |||
150 | /* clock */ | 154 | /* clock */ |
151 | struct clk *clk; | 155 | struct clk *clk; |
152 | }; | 156 | }; |
@@ -438,6 +442,11 @@ static int smsc911x_request_resources(struct platform_device *pdev) | |||
438 | netdev_err(ndev, "couldn't get regulators %d\n", | 442 | netdev_err(ndev, "couldn't get regulators %d\n", |
439 | ret); | 443 | ret); |
440 | 444 | ||
445 | /* Request optional RESET GPIO */ | ||
446 | pdata->reset_gpiod = devm_gpiod_get_optional(&pdev->dev, | ||
447 | "reset", | ||
448 | GPIOD_OUT_LOW); | ||
449 | |||
441 | /* Request clock */ | 450 | /* Request clock */ |
442 | pdata->clk = clk_get(&pdev->dev, NULL); | 451 | pdata->clk = clk_get(&pdev->dev, NULL); |
443 | if (IS_ERR(pdata->clk)) | 452 | if (IS_ERR(pdata->clk)) |