Re: [PATCHv3 19/41] OMAPDSS: panel-dpi: Add DT support
From: Laurent Pinchart <hidden>
Date: 2014-04-24 12:44:10
Hi Tomi, On Thursday 24 April 2014 12:52:42 Tomi Valkeinen wrote:
On 18/04/14 18:51, Tony Lindgren wrote:quoted
quoted
+ gpio = of_get_gpio(node, 0); + if (gpio_is_valid(gpio) || gpio == -ENOENT) { + ddata->enable_gpio = gpio; + } else { + dev_err(&pdev->dev, "failed to parse enable gpio\n"); + return gpio; + }We should set the GPIO polarity based on the OF_GPIO_ACTIVE_LOW like gpio_backlight_probe_dt is doing.Instead of doing it with the old gpio API, and checking the 'active' flag everywhere, I think we can use the new gpiod API which handles the polarity automatically. I attached prototype patches (based on -rc2) for panel dpi using that approach. It's a bit messier than I'd like, because for non-DT boot we need to request the gpio using the old API, and then convert it to gpio_desc. We can remove that code when all the boards use DT.
Just FYI, you can use the gpiod API with non-DT platforms if you register GPIO lookup entries in board code with gpiod_add_lookup_table().
I've compiled tested this only, as I don't have DPI panels I could use. I did try similar approach for TFP410, and it seemed to work fine.
-- Regards, Laurent Pinchart