Re: [PATCH v4] regulator: fixed: Convert to use GPIO descriptor only

From: Janusz Krzysztofik
Date: Tue Jul 10 2018 - 14:19:15 EST


Hi Linus,

Regarding OMAP1 part (limited to board-ams-delta.c):

On Tuesday, July 10, 2018 8:11:12 AM CEST Linus Walleij wrote:
> ...
> ChangeLog v3->v4:
> - Rebase and adapt the OMAP1 changes for the GPIO descriptor
> look-up tables deployed by Janusz.
> ...
> - Go over all patches to board files and make sure we pass
> a NULL descriptor instead of an "enable" descriptor. The code
> is looking for unnamed GPIOs as the device tree also just pass
> gpio[s] = <&foo> so board files also need to use anonymous
> GPIOs.
> ...
> diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
> index 80f54cb54276..2d24cab22134 100644
> --- a/arch/arm/mach-omap1/board-ams-delta.c
> +++ b/arch/arm/mach-omap1/board-ams-delta.c
> @@ -288,7 +288,6 @@ static struct regulator_init_data modem_nreset_data = {
> static struct fixed_voltage_config modem_nreset_config = {
> .supply_name = "modem_nreset",
> .microvolts = 3300000,
> - .gpio = AMS_DELTA_GPIO_PIN_MODEM_NRESET,

This is OK but not enough for clean build of board-ams-delta.c when merged
into current linux-next as one more struct fixed_voltage_config introduced there
recently - keybrd_pwr_config - needs removal of .gpio member (respective lookup
table with NULL function name is already there).

> .startup_delay = 25000,
> .enable_high = 1,
> .enabled_at_boot = 1,
> @@ -303,6 +302,15 @@ static struct platform_device modem_nreset_device = {
> },
> };
>
> +static struct gpiod_lookup_table ams_delta_nreset_gpiod_table = {
> + .dev_id = "reg-fixed-voltage",
> + .table = {
> + GPIO_LOOKUP(LATCH2_LABEL, LATCH2_PIN_MODEM_NRESET,
> + NULL, GPIO_ACTIVE_HIGH),
> + { },
> + },
> +};
> +
> struct modem_private_data {
> struct regulator *regulator;
> };
> @@ -538,6 +546,7 @@ static struct gpiod_lookup_table *ams_delta_gpio_tables[] __initdata = {
> };
>
> static struct gpiod_lookup_table *late_gpio_tables[] __initdata = {
> + &ams_delta_nreset_gpiod_table,

That is also OK but may raise a conflict when merged into current linux-next
where late_gpio_tables[] has been removed from board-ams-delta.c and its
content integrated into ams_delta_gpio_tables[].

> &ams_delta_lcd_gpio_table,
> &ams_delta_nand_gpio_table,
> };

If that makes your life easier, I can prepare a fix for board-ams-delta.c on
top of your patch. In that case you can add my:
Reviewed-by: Janusz Krzysztofik <jmkrzyszt@xxxxxxxxx>

Thanks,
Janusz