* Re: The default value of enable_gpio in pwm-backlight driver?
[not found] <1441285704.27600.26.camel@mtksdaap41>
@ 2015-09-14 3:24 ` Yingjoe Chen
0 siblings, 0 replies; only message in thread
From: Yingjoe Chen @ 2015-09-14 3:24 UTC (permalink / raw)
To: Thierry Reding, Alexandre Courbot
Cc: YH Huang, linux-pwm, linux-mediatek, djkurtz, lee.jones,
jingoohan1, linux-kernel
Hi Alexandre, Thierry,
On Thu, 2015-09-03 at 21:08 +0800, YH Huang wrote:
<...>
> From Alexandre Courbot <>
> Subject [PATCH 2/2] pwm-backlight: switch to gpiod interface
> Date Thu, 27 Feb 2014 14:53:34 +0900
>
> Switch to the new gpiod interface, which allows to handle GPIO
> properties such as active low transparently and removes a whole bunch of
> code.
>
> There are still a couple of users of this driver that rely on passing
> the enable GPIO number through platform data, so a fallback mechanism
> using a GPIO number is still available to avoid breaking them. It will
> be removed once current users have switched to the GPIO lookup tables
> provided by the gpiod interface.
>
> --- a/drivers/video/backlight/pwm_bl.c
> +++ b/drivers/video/backlight/pwm_bl.c
>
> @@ -265,26 +245,39 @@ static int pwm_backlight_probe(struct
> platform_device *pdev)
> pb->dev = &pdev->dev;
> pb->enabled = false;
>
> - if (gpio_is_valid(pb->enable_gpio)) {
> - unsigned long flags;
> -
> - if (pb->enable_gpio_flags & PWM_BACKLIGHT_GPIO_ACTIVE_LOW)
> - flags = GPIOF_OUT_INIT_HIGH;
> - else
> - flags = GPIOF_OUT_INIT_LOW;
In commit 257462dbf3ed ("pwm-backlight: switch to gpiod interface").
It seems to me the original code is trying to make it default disable...
> + pb->enable_gpio = devm_gpiod_get(&pdev->dev, "enable");
> + if (IS_ERR(pb->enable_gpio)) {
> + ret = PTR_ERR(pb->enable_gpio);
> + if (ret == -ENOENT) {
> + pb->enable_gpio = NULL;
> + ret = 0;
> + } else {
> + goto err_alloc;
> + }
> + }
>
> - ret = gpio_request_one(pb->enable_gpio, flags, "enable");
> + /*
> + * Compatibility fallback for drivers still using the integer GPIO
> + * platform data. Must go away soon.
> + */
> + if (pb->enable_gpio == NULL && gpio_is_valid(data->enable_gpio)) {
> + ret = devm_gpio_request_one(&pdev->dev, data->enable_gpio,
> + GPIOF_OUT_INIT_HIGH, "enable");
> if (ret < 0) {
> dev_err(&pdev->dev, "failed to request GPIO#%d: %d\n",
> - pb->enable_gpio, ret);
> + data->enable_gpio, ret);
> goto err_alloc;
> }
> + pb->enable_gpio = gpio_to_desc(data->enable_gpio);
> }
>
> + if (pb->enable_gpio)
> + gpiod_direction_output(pb->enable_gpio, 1);
But the new code here set it to enable. Is this on purpose, or am I miss
read anything?
Joe.C
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-09-14 3:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1441285704.27600.26.camel@mtksdaap41>
2015-09-14 3:24 ` The default value of enable_gpio in pwm-backlight driver? Yingjoe Chen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®