|
@@ -29,6 +29,7 @@
|
|
|
#include <linux/workqueue.h>
|
|
|
#include <linux/delay.h>
|
|
|
#include <linux/pm_runtime.h>
|
|
|
+#include <linux/gpio.h>
|
|
|
#include <linux/of.h>
|
|
|
#include <linux/of_net.h>
|
|
|
#include <linux/of_device.h>
|
|
@@ -2207,6 +2208,7 @@ static int cpsw_probe(struct platform_device *pdev)
|
|
|
void __iomem *ss_regs;
|
|
|
struct resource *res, *ss_res;
|
|
|
const struct of_device_id *of_id;
|
|
|
+ struct gpio_descs *mode;
|
|
|
u32 slave_offset, sliver_offset, slave_size;
|
|
|
int ret = 0, i;
|
|
|
int irq;
|
|
@@ -2232,6 +2234,13 @@ static int cpsw_probe(struct platform_device *pdev)
|
|
|
goto clean_ndev_ret;
|
|
|
}
|
|
|
|
|
|
+ mode = devm_gpiod_get_array_optional(&pdev->dev, "mode", GPIOD_OUT_LOW);
|
|
|
+ if (IS_ERR(mode)) {
|
|
|
+ ret = PTR_ERR(mode);
|
|
|
+ dev_err(&pdev->dev, "gpio request failed, ret %d\n", ret);
|
|
|
+ goto clean_ndev_ret;
|
|
|
+ }
|
|
|
+
|
|
|
/*
|
|
|
* This may be required here for child devices.
|
|
|
*/
|