Re: [PATCH 4/6] extcon: arizona: Add device binding for second jack detect pin on GPIO5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Charles,

I have one comment.
I think current extcon-arizona.c has the many platform data
so, extcon-arizona.c use the too much if statement to support each feature
for different wolfsonmicro codec. I think it cause the complicated code.

For example,
You may use 'struct of_device_id' as following. You used already this method
on drivers/mfd/arizona-core.c. If you separate the function of each wmXXXX arizona,
it makes improved readability for extcon-arizona.c and some user will use extcon-arizora
more easily.

struct arizona_extcon_data {
	void (*init)(...);
	void (*irq_handler)(...);
	...	
};

struct arizona_extcon_data wm8994_data {
	.init = wm8994_extcon_init,
	.irq_handler = wm8994_extcon_irq_handler;
	...
};

static const struct of_device_id arizona_extcon_dt_match[] = {
	{
		.compatible = "wm8994-arizona-extcon",
		.data = (void *)wm8994_data;
	}, {
		.compatible = "wmXXXX-arizona-extcon",
		.data = (void *)wmXXXX_data;
	}, 
};

I expect that you will revise the arizona-extcon.c driver on next time.

Thanks,
Chanwoo Choi

On 2015년 09월 16일 18:56, Charles Keepax wrote:
> Some Arizona devices have the option to use the GPIO5 pin as a second
> jack detection pin. This patch adds device bindings to specify to the
> driver that it should use this pin. Note that the second jack detection
> pin is hard wired in the chip so can only be enabled through the
> binding, rather than a pin being specified.
> 
> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
> ---
>  drivers/extcon/extcon-arizona.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index dc1910d..992f80e 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -1235,6 +1235,11 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona)
>  
>  	device_property_read_u32(arizona->dev, "wlf,gpsw", &pdata->gpsw);
>  
> +	pdata->jd_gpio5 = device_property_read_bool(arizona->dev,
> +						    "wlf,use-jd-gpio");
> +	pdata->jd_gpio5_nopull = device_property_read_bool(arizona->dev,
> +						"wlf,use-jd-gpio-nopull");
> +
>  	return 0;
>  }
>  
> 

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux