Re: [PATCH] gpio: Move devres calls to devres file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



pt., 13 mar 2020 o 09:15 Linus Walleij <linus.walleij@xxxxxxxxxx> napisał(a):
>
> These two devres functions devm_gpiochip_[add|remove]()
> were in the wrong file. They should be in gpiolib-devres.c
> not gpiolib.c.
>
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> ---
>  drivers/gpio/gpiolib-devres.c | 46 +++++++++++++++++++++++++++++++++++
>  drivers/gpio/gpiolib.c        | 46 -----------------------------------
>  2 files changed, 46 insertions(+), 46 deletions(-)
>
> diff --git a/drivers/gpio/gpiolib-devres.c b/drivers/gpio/gpiolib-devres.c
> index 72b6001c56ef..5c91c4365da1 100644
> --- a/drivers/gpio/gpiolib-devres.c
> +++ b/drivers/gpio/gpiolib-devres.c
> @@ -478,3 +478,49 @@ void devm_gpio_free(struct device *dev, unsigned int gpio)
>                 &gpio));
>  }
>  EXPORT_SYMBOL_GPL(devm_gpio_free);
> +
> +static void devm_gpio_chip_release(struct device *dev, void *res)
> +{
> +       struct gpio_chip *gc = *(struct gpio_chip **)res;
> +
> +       gpiochip_remove(gc);
> +}
> +
> +/**
> + * devm_gpiochip_add_data() - Resource managed gpiochip_add_data()
> + * @dev: pointer to the device that gpio_chip belongs to.
> + * @gc: the GPIO chip to register
> + * @data: driver-private data associated with this chip
> + *
> + * Context: potentially before irqs will work
> + *
> + * The gpio chip automatically be released when the device is unbound.
> + *
> + * Returns:
> + * A negative errno if the chip can't be registered, such as because the
> + * gc->base is invalid or already associated with a different chip.
> + * Otherwise it returns zero as a success code.
> + */
> +int devm_gpiochip_add_data(struct device *dev, struct gpio_chip *gc,
> +                          void *data)
> +{
> +       struct gpio_chip **ptr;
> +       int ret;
> +
> +       ptr = devres_alloc(devm_gpio_chip_release, sizeof(*ptr),
> +                            GFP_KERNEL);
> +       if (!ptr)
> +               return -ENOMEM;
> +
> +       ret = gpiochip_add_data(gc, data);
> +       if (ret < 0) {
> +               devres_free(ptr);
> +               return ret;
> +       }
> +
> +       *ptr = gc;
> +       devres_add(dev, ptr);
> +
> +       return 0;
> +}
> +EXPORT_SYMBOL_GPL(devm_gpiochip_add_data);
> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> index 02f8b2b81199..00890f38f95f 100644
> --- a/drivers/gpio/gpiolib.c
> +++ b/drivers/gpio/gpiolib.c
> @@ -1838,52 +1838,6 @@ void gpiochip_remove(struct gpio_chip *chip)
>  }
>  EXPORT_SYMBOL_GPL(gpiochip_remove);
>
> -static void devm_gpio_chip_release(struct device *dev, void *res)
> -{
> -       struct gpio_chip *chip = *(struct gpio_chip **)res;
> -
> -       gpiochip_remove(chip);
> -}
> -
> -/**
> - * devm_gpiochip_add_data() - Resource managed gpiochip_add_data()
> - * @dev: pointer to the device that gpio_chip belongs to.
> - * @chip: the chip to register, with chip->base initialized
> - * @data: driver-private data associated with this chip
> - *
> - * Context: potentially before irqs will work
> - *
> - * The gpio chip automatically be released when the device is unbound.
> - *
> - * Returns:
> - * A negative errno if the chip can't be registered, such as because the
> - * chip->base is invalid or already associated with a different chip.
> - * Otherwise it returns zero as a success code.
> - */
> -int devm_gpiochip_add_data(struct device *dev, struct gpio_chip *chip,
> -                          void *data)
> -{
> -       struct gpio_chip **ptr;
> -       int ret;
> -
> -       ptr = devres_alloc(devm_gpio_chip_release, sizeof(*ptr),
> -                            GFP_KERNEL);
> -       if (!ptr)
> -               return -ENOMEM;
> -
> -       ret = gpiochip_add_data(chip, data);
> -       if (ret < 0) {
> -               devres_free(ptr);
> -               return ret;
> -       }
> -
> -       *ptr = chip;
> -       devres_add(dev, ptr);
> -
> -       return 0;
> -}
> -EXPORT_SYMBOL_GPL(devm_gpiochip_add_data);
> -
>  /**
>   * gpiochip_find() - iterator for locating a specific gpio_chip
>   * @data: data to pass to match function
> --
> 2.24.1
>

Reviewed-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux