[PATCH 03/12] backlight: gpio: pull the non-pdata device probing code into probe()
Daniel Thompson
daniel.thompson at linaro.org
Tue Jul 2 09:11:16 UTC 2019
On 25/06/2019 17:34, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski at baylibre.com>
>
> There's no good reason to have the generic probing code in a separate
> routine. This function is short and is inlined by the compiler anyway.
> Move it into probe under the pdata-specific part.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Like the others, this will need to be respun to match latest code but
when it comes round again:
Acked-by: Daniel Thompson <daniel.thompson at linaro.org>
Daniel.
> ---
> drivers/video/backlight/gpio_backlight.c | 39 ++++++++----------------
> 1 file changed, 13 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
> index 8adbc8d75097..89e10bccfd3c 100644
> --- a/drivers/video/backlight/gpio_backlight.c
> +++ b/drivers/video/backlight/gpio_backlight.c
> @@ -54,30 +54,6 @@ static const struct backlight_ops gpio_backlight_ops = {
> .check_fb = gpio_backlight_check_fb,
> };
>
> -static int gpio_backlight_probe_prop(struct platform_device *pdev,
> - struct gpio_backlight *gbl)
> -{
> - struct device *dev = &pdev->dev;
> - enum gpiod_flags flags;
> - int ret;
> -
> - gbl->def_value = device_property_read_bool(dev, "default-on");
> - flags = gbl->def_value ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW;
> -
> - gbl->gpiod = devm_gpiod_get(dev, NULL, flags);
> - if (IS_ERR(gbl->gpiod)) {
> - ret = PTR_ERR(gbl->gpiod);
> -
> - if (ret != -EPROBE_DEFER) {
> - dev_err(dev,
> - "Error: The gpios parameter is missing or invalid.\n");
> - }
> - return ret;
> - }
> -
> - return 0;
> -}
> -
> static int gpio_backlight_probe(struct platform_device *pdev)
> {
> struct gpio_backlight_platform_data *pdata =
> @@ -86,6 +62,7 @@ static int gpio_backlight_probe(struct platform_device *pdev)
> struct device *dev = &pdev->dev;
> struct backlight_device *bl;
> struct gpio_backlight *gbl;
> + enum gpiod_flags flags;
> int ret;
>
> gbl = devm_kzalloc(dev, sizeof(*gbl), GFP_KERNEL);
> @@ -116,9 +93,19 @@ static int gpio_backlight_probe(struct platform_device *pdev)
> if (!gbl->gpiod)
> return -EINVAL;
> } else {
> - ret = gpio_backlight_probe_prop(pdev, gbl);
> - if (ret)
> + gbl->def_value = device_property_read_bool(dev, "default-on");
> + flags = gbl->def_value ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW;
> +
> + gbl->gpiod = devm_gpiod_get(dev, NULL, flags);
> + if (IS_ERR(gbl->gpiod)) {
> + ret = PTR_ERR(gbl->gpiod);
> +
> + if (ret != -EPROBE_DEFER) {
> + dev_err(dev,
> + "Error: The gpios parameter is missing or invalid.\n");
> + }
> return ret;
> + }
> }
>
> memset(&props, 0, sizeof(props));
>
More information about the dri-devel
mailing list