[PATCH 2/2] ARM: dts: fix compatible value for exynos pinctrl
Olof Johansson
olof at lixom.net
Sun Jan 6 09:57:54 EST 2013
On Wed, Jan 2, 2013 at 4:20 PM, Kukjin Kim <kgene.kim at samsung.com> wrote:
> Fix the incorrect compatible property value of pinctrl for EXYNOS4 SoCs.
Ah, this answers my question from the previous patch. So, why do 5450
as a separate patch?
> diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
> index e97a278..4598a47 100644
> --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
> +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
> @@ -7,9 +7,9 @@ on-chip controllers onto these pads.
>
> Required Properties:
> - compatible: should be one of the following.
> - - "samsung,pinctrl-exynos4210": for Exynos4210 compatible pin-controller.
> - - "samsung,pinctrl-exynos4x12": for Exynos4x12 compatible pin-controller.
> - - "samsung,pinctrl-exynos5250": for Exynos5250 compatible pin-controller.
> + - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller.
> + - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller.
> + - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller.
Do we care about backwards compatibility for ARM device trees yet?
It's becoming time to start caring soon, if we don't. So while this
might be OK for this time around, we should start requiring some
backwards compatibility for bindings that have been used in at least
one released kernel.
Once we do care, then you can update the dts/dtsi files, but you'll
need to keep both the old and the new bindings in the C file below.
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index d6d0dc6..3777a41 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -1024,8 +1024,8 @@ static int __init exynos_init_irq_eint(void)
> * interrupt support code here can be completely removed.
> */
> static const struct of_device_id exynos_pinctrl_ids[] = {
> - { .compatible = "samsung,pinctrl-exynos4210", },
> - { .compatible = "samsung,pinctrl-exynos4x12", },
> + { .compatible = "samsung,exynos4210-pinctrl", },
> + { .compatible = "samsung,exynos4x12-pinctrl", },
> };
> struct device_node *pctrl_np, *wkup_np;
> const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index cac4b45..8c00f7d 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -3024,8 +3024,8 @@ static __init int samsung_gpiolib_init(void)
> */
> struct device_node *pctrl_np;
> static const struct of_device_id exynos_pinctrl_ids[] = {
> - { .compatible = "samsung,pinctrl-exynos4210", },
> - { .compatible = "samsung,pinctrl-exynos4x12", },
> + { .compatible = "samsung,exynos4210-pinctrl", },
> + { .compatible = "samsung,exynos4x12-pinctrl", },
> { .compatible = "samsung,exynos5440-pinctrl", },
> };
> for_each_matching_node(pctrl_np, exynos_pinctrl_ids)
> diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c
> index 864fed8..602b30b 100644
> --- a/drivers/pinctrl/pinctrl-samsung.c
> +++ b/drivers/pinctrl/pinctrl-samsung.c
> @@ -945,9 +945,9 @@ static int __devinit samsung_pinctrl_probe(struct platform_device *pdev)
> }
>
> static const struct of_device_id samsung_pinctrl_dt_match[] = {
> - { .compatible = "samsung,pinctrl-exynos4210",
> + { .compatible = "samsung,exynos4210-pinctrl",
> .data = (void *)exynos4210_pin_ctrl },
> - { .compatible = "samsung,pinctrl-exynos4x12",
> + { .compatible = "samsung,exynos4x12-pinctrl",
> .data = (void *)exynos4x12_pin_ctrl },
> {},
> };
-Olof
More information about the devicetree-discuss
mailing list