On Fri, Oct 13, 2017 at 09:42:48PM +0200, Robert Jarzmik wrote:
> The Toppoly panels have a global reset line. Add an optional gpio
> control for this line, for platforms which have the ability to drive it.
>
> Signed-off-by: Robert Jarzmik <[email protected]>
> ---
> drivers/video/backlight/tdo24m.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c
> index e4bd63e9db6b..e4b2dfabf192 100644
> --- a/drivers/video/backlight/tdo24m.c
> +++ b/drivers/video/backlight/tdo24m.c
> @@ -10,6 +10,7 @@
> */
>
> #include <linux/module.h>
> +#include <linux/gpio/consumer.h>
> #include <linux/kernel.h>
> #include <linux/init.h>
> #include <linux/device.h>
> @@ -32,6 +33,7 @@ struct tdo24m {
> struct spi_message msg;
> struct spi_transfer xfer;
> uint8_t *buf;
> + struct gpio_desc *xres;
Why do we need a write-only variable?
> int (*adj_mode)(struct tdo24m *lcd, int mode);
> int color_invert;
> @@ -364,6 +366,7 @@ static int tdo24m_probe(struct spi_device *spi)
> if (lcd->buf == NULL)
> return -ENOMEM;
>
> + lcd->xres = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_LOW);
devm_gpiod_get_optional() would be better, if only for its commenting
value.
Also, this adds a new optional property, doesn't the devicetree binding
docs need to be update to match this?
Daniel.
> m = &lcd->msg;
> x = &lcd->xfer;
>
> --
> 2.11.0
>
Daniel Thompson <[email protected]> writes:
> On Fri, Oct 13, 2017 at 09:42:48PM +0200, Robert Jarzmik wrote:
>> The Toppoly panels have a global reset line. Add an optional gpio
>> control for this line, for platforms which have the ability to drive it.
>>
>> Signed-off-by: Robert Jarzmik <[email protected]>
>> ---
>> drivers/video/backlight/tdo24m.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c
>> index e4bd63e9db6b..e4b2dfabf192 100644
>> --- a/drivers/video/backlight/tdo24m.c
>> +++ b/drivers/video/backlight/tdo24m.c
>> @@ -10,6 +10,7 @@
>> */
>>
>> #include <linux/module.h>
>> +#include <linux/gpio/consumer.h>
>> #include <linux/kernel.h>
>> #include <linux/init.h>
>> #include <linux/device.h>
>> @@ -32,6 +33,7 @@ struct tdo24m {
>> struct spi_message msg;
>> struct spi_transfer xfer;
>> uint8_t *buf;
>> + struct gpio_desc *xres;
>
> Why do we need a write-only variable?
It's written to by devm_gpiod_get() below.
>> + lcd->xres = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_LOW);
>
> devm_gpiod_get_optional() would be better, if only for its commenting
> value.
Yes, you're perfectly right.
> Also, this adds a new optional property, doesn't the devicetree binding
> docs need to be update to match this?
Ah yes, that too. I'll add it for v3.
Cheers.
--
Robert
On Sat, Dec 16, 2017 at 12:39:50PM +0100, Robert Jarzmik wrote:
> Daniel Thompson <[email protected]> writes:
> > On Fri, Oct 13, 2017 at 09:42:48PM +0200, Robert Jarzmik wrote:
> >> The Toppoly panels have a global reset line. Add an optional gpio
> >> control for this line, for platforms which have the ability to drive it.
> >>
> >> Signed-off-by: Robert Jarzmik <[email protected]>
> >> ---
> >> drivers/video/backlight/tdo24m.c | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c
> >> index e4bd63e9db6b..e4b2dfabf192 100644
> >> --- a/drivers/video/backlight/tdo24m.c
> >> +++ b/drivers/video/backlight/tdo24m.c
> >> @@ -10,6 +10,7 @@
> >> */
> >>
> >> #include <linux/module.h>
> >> +#include <linux/gpio/consumer.h>
> >> #include <linux/kernel.h>
> >> #include <linux/init.h>
> >> #include <linux/device.h>
> >> @@ -32,6 +33,7 @@ struct tdo24m {
> >> struct spi_message msg;
> >> struct spi_transfer xfer;
> >> uint8_t *buf;
> >> + struct gpio_desc *xres;
> >
> > Why do we need a write-only variable?
> It's written to by devm_gpiod_get() below.
Yes, but it not *read* anywhere because we rely on devm to release the GPIO.
Why do we need a write-only variable?
> >> + lcd->xres = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_LOW);
> >
> > devm_gpiod_get_optional() would be better, if only for its commenting
> > value.
> Yes, you're perfectly right.
>
> > Also, this adds a new optional property, doesn't the devicetree binding
> > docs need to be update to match this?
> Ah yes, that too. I'll add it for v3.
Thanks!
Daniel.
Robert Jarzmik <[email protected]> writes:
> Daniel Thompson <[email protected]> writes:
>
>> On Fri, Oct 13, 2017 at 09:42:48PM +0200, Robert Jarzmik wrote:
>> Also, this adds a new optional property, doesn't the devicetree binding
>> docs need to be update to match this?
> Ah yes, that too. I'll add it for v3.
Actually I won't ... because there is no description for tdo24m I could find.
If that's a problem for you, I'll drop that patch as well.
Cheers.
--
Robert
On Sun, Dec 24, 2017 at 12:55:55PM +0100, Robert Jarzmik wrote:
> Robert Jarzmik <[email protected]> writes:
>
> > Daniel Thompson <[email protected]> writes:
> >
> >> On Fri, Oct 13, 2017 at 09:42:48PM +0200, Robert Jarzmik wrote:
> >> Also, this adds a new optional property, doesn't the devicetree binding
> >> docs need to be update to match this?
> > Ah yes, that too. I'll add it for v3.
> Actually I won't ... because there is no description for tdo24m I could find.
>
> If that's a problem for you, I'll drop that patch as well.
I think I'm ok to drop this, if only because based on current upstream
state I think this code will never be given a reset line anyway (or is
there a partner patch for mach-pxa that hasn't been posted yet).
Daniel.