[PATCH v2 2/7] gpio: davinci: move to platform device
Sekhar Nori
nsekhar at ti.com
Wed Jun 19 07:23:04 EDT 2013
On 6/14/2013 3:05 PM, Philip Avinash wrote:
> From: KV Sujith <sujithkv at ti.com>
>
> Modify GPIO Davinci driver to be compliant to standard platform drivers.
> The driver did not have platform driver structure or a probe. Instead,
> had a davinci_gpio_setup() function which is called in the pure_init
> sequence. The function also had dependency on davinci_soc_info structure
> of the corresponding platform. For Device Tree(DT) implementation, we
> need to get rid of the dependency on the davinci_soc_info structure.
> Hence as a first stage of DT conversion, we implement a probe. Future
> commits shall modify the probe to read platform related data from DT.
>
> - Add platform_driver structure and driver register function for davinci
> GPIO driver. The driver registration is made to happen in
> postcore_initcall. This is required since machine init functions like
> da850_lcd_hw_init() make use of GPIO.
> - Convert the davinci_gpio_setup() to davinci_gpio_probe().
> - Remove access of members in soc_info structure. Instead, relevant data
> are taken from davinci_gpio_platform_data structure pointed by
> pdev->dev.platform_data.
> - Change clk_get() to devm_clk_get() as devm_clk_get() is a device
> managed function and makes error handling simpler.
> - Change pr_err to dev_err for ngpio error reporting.
s/ngpio/gpio
> - Arrange include files in alphabetical order
Doesn't happen in this patch.
> - Add struct davinci_gpio_platform_data davinci for gpio module.
>
> Signed-off-by: KV Sujith <sujithkv at ti.com>
> [avinashphilip at ti.com: Move global definition for "struct
> davinci_gpio_controller" variable to local in probe and set it as driver
> data.]
> Signed-off-by: Philip Avinash <avinashphilip at ti.com>
> Acked-by: Linus Walleij <linus.walleij at linaro.org>
> Signed-off-by: Sekhar Nori <nsekhar at ti.com>
> ---
> diff --git a/arch/arm/mach-davinci/include/mach/gpio-davinci.h b/arch/arm/mach-davinci/include/mach/gpio-davinci.h
> index 1fdd1fd..b325a1d 100644
> --- a/arch/arm/mach-davinci/include/mach/gpio-davinci.h
> +++ b/arch/arm/mach-davinci/include/mach/gpio-davinci.h
> @@ -60,6 +60,8 @@ struct davinci_gpio_controller {
> void __iomem *set_data;
> void __iomem *clr_data;
> void __iomem *in_data;
> + int gpio_unbanked;
You don't really use this member in this patch. You should add it in the
patch you need it in.
I fixed these issues locally and pushed this patch to my v3.11/gpio branch.
Thanks,
Sekhar
More information about the linux-arm-kernel
mailing list