aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/smsc/smsc911x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/smsc/smsc911x.c')
-rw-r--r--drivers/net/ethernet/smsc/smsc911x.c9
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))