diff options
author | Jisheng Zhang <Jisheng.Zhang@synaptics.com> | 2020-07-21 15:01:57 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-21 15:35:29 -0700 |
commit | c17e317802d8d407cbb6b0d2cd3aaf2b3de068b1 (patch) | |
tree | d7bbd0406dea45736d344395e5d66b8479779a4e /drivers/net/phy/mdio-mux-gpio.c | |
parent | 71d4364abdc50cb1f0ff5af0f932b110278f620c (diff) |
net: mdio-mux-gpio: use devm_gpiod_get_array()
Use devm_gpiod_get_array() to simplify the error handling and exit
code path.
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/mdio-mux-gpio.c')
-rw-r--r-- | drivers/net/phy/mdio-mux-gpio.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/phy/mdio-mux-gpio.c b/drivers/net/phy/mdio-mux-gpio.c index 6c8960df43b0..10a758fdc9e6 100644 --- a/drivers/net/phy/mdio-mux-gpio.c +++ b/drivers/net/phy/mdio-mux-gpio.c @@ -42,25 +42,21 @@ static int mdio_mux_gpio_probe(struct platform_device *pdev) struct gpio_descs *gpios; int r; - gpios = gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW); + gpios = devm_gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW); if (IS_ERR(gpios)) return PTR_ERR(gpios); s = devm_kzalloc(&pdev->dev, sizeof(*s), GFP_KERNEL); - if (!s) { - gpiod_put_array(gpios); + if (!s) return -ENOMEM; - } s->gpios = gpios; r = mdio_mux_init(&pdev->dev, pdev->dev.of_node, mdio_mux_gpio_switch_fn, &s->mux_handle, s, NULL); - if (r != 0) { - gpiod_put_array(s->gpios); + if (r != 0) return r; - } pdev->dev.platform_data = s; return 0; @@ -70,7 +66,6 @@ static int mdio_mux_gpio_remove(struct platform_device *pdev) { struct mdio_mux_gpio_state *s = dev_get_platdata(&pdev->dev); mdio_mux_uninit(s->mux_handle); - gpiod_put_array(s->gpios); return 0; } |