mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
gpio: 74x164: shrink code
Use managed helpers to drop the goto label from probe() and shrink the remove() callback. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20241017150835.105676-1-brgl@bgdev.pl Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
a0b6594e41
commit
dacd8ed24c
|
|
@ -143,24 +143,17 @@ static int gen_74x164_probe(struct spi_device *spi)
|
|||
chip->gpio_chip.parent = &spi->dev;
|
||||
chip->gpio_chip.owner = THIS_MODULE;
|
||||
|
||||
mutex_init(&chip->lock);
|
||||
ret = devm_mutex_init(&spi->dev, &chip->lock);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = __gen_74x164_write_config(chip);
|
||||
if (ret) {
|
||||
dev_err(&spi->dev, "Failed writing: %d\n", ret);
|
||||
goto exit_destroy;
|
||||
}
|
||||
if (ret)
|
||||
return dev_err_probe(&spi->dev, ret, "Config write failed\n");
|
||||
|
||||
gpiod_set_value_cansleep(chip->gpiod_oe, 1);
|
||||
|
||||
ret = gpiochip_add_data(&chip->gpio_chip, chip);
|
||||
if (!ret)
|
||||
return 0;
|
||||
|
||||
exit_destroy:
|
||||
mutex_destroy(&chip->lock);
|
||||
|
||||
return ret;
|
||||
return devm_gpiochip_add_data(&spi->dev, &chip->gpio_chip, chip);
|
||||
}
|
||||
|
||||
static void gen_74x164_remove(struct spi_device *spi)
|
||||
|
|
@ -168,8 +161,6 @@ static void gen_74x164_remove(struct spi_device *spi)
|
|||
struct gen_74x164_chip *chip = spi_get_drvdata(spi);
|
||||
|
||||
gpiod_set_value_cansleep(chip->gpiod_oe, 0);
|
||||
gpiochip_remove(&chip->gpio_chip);
|
||||
mutex_destroy(&chip->lock);
|
||||
}
|
||||
|
||||
static const struct spi_device_id gen_74x164_spi_ids[] = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user