diff options
Diffstat (limited to 'drivers/net/dsa/b53/b53_common.c')
| -rw-r--r-- | drivers/net/dsa/b53/b53_common.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c index 2c4131ed7e30..3f5b9592794d 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -19,7 +19,7 @@ #include <linux/delay.h> #include <linux/export.h> -#include <linux/gpio.h> +#include <linux/gpio/consumer.h> #include <linux/kernel.h> #include <linux/math.h> #include <linux/minmax.h> @@ -965,17 +965,17 @@ EXPORT_SYMBOL(b53_configure_vlan); static void b53_switch_reset_gpio(struct b53_device *dev) { - int gpio = dev->reset_gpio; + struct gpio_desc *gpio = dev->reset_gpio; - if (gpio < 0) + if (IS_ERR(gpio)) return; /* Reset sequence: RESET low(50ms)->high(20ms) */ - gpio_set_value(gpio, 0); + gpiod_set_value(gpio, 0); mdelay(50); - gpio_set_value(gpio, 1); + gpiod_set_value(gpio, 1); mdelay(20); dev->current_page = 0xff; @@ -1225,6 +1225,7 @@ int b53_get_sset_count(struct dsa_switch *ds, int port, int sset) EXPORT_SYMBOL(b53_get_sset_count); enum b53_devlink_resource_id { + B53_DEVLINK_PARAM_ID_NONE, /* DEVLINK_RESOURCE_ID_PARENT_TOP */ B53_DEVLINK_PARAM_ID_VLAN_TABLE, }; @@ -3092,7 +3093,6 @@ static int b53_switch_init(struct b53_device *dev) { u32 chip_id = dev->chip_id; unsigned int i; - int ret; if (is63xx(dev)) chip_id = BCM63XX_DEVICE_ID; @@ -3173,12 +3173,9 @@ static int b53_switch_init(struct b53_device *dev) return -ENOMEM; dev->reset_gpio = b53_switch_get_reset_gpio(dev); - if (dev->reset_gpio >= 0) { - ret = devm_gpio_request_one(dev->dev, dev->reset_gpio, - GPIOF_OUT_INIT_HIGH, "robo_reset"); - if (ret) - return ret; - } + + if (PTR_ERR(dev->reset_gpio) == -EPROBE_DEFER) + return -EPROBE_DEFER; return 0; } |
