diff mbox

[v7,3/7] gpio: samsung: Skip initialization if device tree is present

Message ID 1377120111-25601-4-git-send-email-tomasz.figa@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tomasz Figa Aug. 21, 2013, 9:21 p.m. UTC
Since this driver does not handle GPIO on device tree enabled platforms
any more, it should be bypassed whenever device tree is available, to
not conflict with the new pinctrl-samsung driver.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/gpio/gpio-samsung.c | 34 +++++++---------------------------
 1 file changed, 7 insertions(+), 27 deletions(-)

Comments

Linus Walleij Aug. 21, 2013, 11:21 p.m. UTC | #1
On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote:

> Since this driver does not handle GPIO on device tree enabled platforms
> any more, it should be bypassed whenever device tree is available, to
> not conflict with the new pinctrl-samsung driver.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>

This seems like something I should apply to the GPIO tree
right now, shall I?

Yours,
Linus Walleij
Tomasz Figa Aug. 22, 2013, 8:06 a.m. UTC | #2
On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
> On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa <tomasz.figa@gmail.com> 
wrote:
> > Since this driver does not handle GPIO on device tree enabled
> > platforms
> > any more, it should be bypassed whenever device tree is available, to
> > not conflict with the new pinctrl-samsung driver.
> > 
> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> 
> This seems like something I should apply to the GPIO tree
> right now, shall I?

Would be nice, but since this patch is a dependency for rest of this 
series and there are no other dependencies on GPIO tree, it might be 
easier to just let Kukjin take all the patches with required Acks.

Best regards,
Tomasz
kgene@kernel.org Aug. 22, 2013, 9:45 a.m. UTC | #3
Linus Walleij wrote:
> 
> On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa <tomasz.figa@gmail.com>
> wrote:
> 
> > Since this driver does not handle GPIO on device tree enabled platforms
> > any more, it should be bypassed whenever device tree is available, to
> > not conflict with the new pinctrl-samsung driver.
> >
> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> 
> This seems like something I should apply to the GPIO tree
> right now, shall I?
> 
I think so. Feel free to add my ack on this.

Acked-by: Kukjin Kim <kgene.kim@samsung.com>

Thanks,
Kukjin
Mark Brown Aug. 22, 2013, 9:48 a.m. UTC | #4
On Thu, Aug 22, 2013 at 10:06:46AM +0200, Tomasz Figa wrote:
> On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:

> > This seems like something I should apply to the GPIO tree
> > right now, shall I?

> Would be nice, but since this patch is a dependency for rest of this 
> series and there are no other dependencies on GPIO tree, it might be 
> easier to just let Kukjin take all the patches with required Acks.

Though if the rest of the series might miss v3.12 (seems likely given
the arm-soc deadlines have passed) then Linus could apply this for
v3.12?
kgene@kernel.org Aug. 22, 2013, 9:59 a.m. UTC | #5
Tomasz Figa wrote:
> 
> On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
> > On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa <tomasz.figa@gmail.com>
> wrote:
> > > Since this driver does not handle GPIO on device tree enabled
> > > platforms
> > > any more, it should be bypassed whenever device tree is available, to
> > > not conflict with the new pinctrl-samsung driver.
> > >
> > > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> >
> > This seems like something I should apply to the GPIO tree
> > right now, shall I?
> 
> Would be nice, but since this patch is a dependency for rest of this
> series and there are no other dependencies on GPIO tree, it might be
> easier to just let Kukjin take all the patches with required Acks.
> 
Oh, I didn't see any dependencies...but if so, Linus do you agree with
Tomasz' opinion?

Please let me know so that I could take this with others into the samsung
tree. And please kindly ignore my previous reply on this ;-)

Thanks,
Kukjin
Tomasz Figa Aug. 22, 2013, 11:19 p.m. UTC | #6
On Thursday 22 of August 2013 18:59:23 Kukjin Kim wrote:
> Tomasz Figa wrote:
> > On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
> > > On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa
> > > <tomasz.figa@gmail.com>
> > 
> > wrote:
> > > > Since this driver does not handle GPIO on device tree enabled
> > > > platforms
> > > > any more, it should be bypassed whenever device tree is available,
> > > > to
> > > > not conflict with the new pinctrl-samsung driver.
> > > > 
> > > > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> > > 
> > > This seems like something I should apply to the GPIO tree
> > > right now, shall I?
> > 
> > Would be nice, but since this patch is a dependency for rest of this
> > series and there are no other dependencies on GPIO tree, it might be
> > easier to just let Kukjin take all the patches with required Acks.
> 
> Oh, I didn't see any dependencies...but if so, Linus do you agree with
> Tomasz' opinion?

Without this patch DT-based bootup would fail, because the legacy GPIO 
driver would kick in and register GPIO chips before the pinctrl driver. 
Things would compile fine, though. So this is a run time dependency, not 
compile time.

> Please let me know so that I could take this with others into the
> samsung tree. And please kindly ignore my previous reply on this ;-)

I would be really happy if we could finally merge this for this release. 
This series is not really invasive in any way, so it is unlikely to 
introduce any regressions and it has waited so many releases, without any 
significant changes, due to a lot of other dependencies.

Best regards,
Tomasz
Linus Walleij Aug. 23, 2013, 6:11 p.m. UTC | #7
On Thu, Aug 22, 2013 at 11:59 AM, Kukjin Kim <kgene@kernel.org> wrote:
> Tomasz Figa wrote:
>> On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
>> > On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa <tomasz.figa@gmail.com>
>> wrote:
>> > > Since this driver does not handle GPIO on device tree enabled
>> > > platforms
>> > > any more, it should be bypassed whenever device tree is available, to
>> > > not conflict with the new pinctrl-samsung driver.
>> > >
>> > > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
>> >
>> > This seems like something I should apply to the GPIO tree
>> > right now, shall I?
>>
>> Would be nice, but since this patch is a dependency for rest of this
>> series and there are no other dependencies on GPIO tree, it might be
>> easier to just let Kukjin take all the patches with required Acks.
>>
> Oh, I didn't see any dependencies...but if so, Linus do you agree with
> Tomasz' opinion?

Yes please merge it through the Samsung tree.
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Kim Kukjin Aug. 25, 2013, 5:21 p.m. UTC | #8
On 08/24/13 03:11, Linus Walleij wrote:
> On Thu, Aug 22, 2013 at 11:59 AM, Kukjin Kim<kgene@kernel.org>  wrote:
>> Tomasz Figa wrote:
>>> On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
>>>> On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa<tomasz.figa@gmail.com>
>>> wrote:
>>>>> Since this driver does not handle GPIO on device tree enabled
>>>>> platforms
>>>>> any more, it should be bypassed whenever device tree is available, to
>>>>> not conflict with the new pinctrl-samsung driver.
>>>>>
>>>>> Signed-off-by: Tomasz Figa<tomasz.figa@gmail.com>
>>>>
>>>> This seems like something I should apply to the GPIO tree
>>>> right now, shall I?
>>>
>>> Would be nice, but since this patch is a dependency for rest of this
>>> series and there are no other dependencies on GPIO tree, it might be
>>> easier to just let Kukjin take all the patches with required Acks.
>>>
>> Oh, I didn't see any dependencies...but if so, Linus do you agree with
>> Tomasz' opinion?
>
> Yes please merge it through the Samsung tree.
> Acked-by: Linus Walleij<linus.walleij@linaro.org>
>
Applied, thanks.

- Kukjin
diff mbox

Patch

diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index a1392f4..cc93b1b 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -2949,34 +2949,14 @@  static __init int samsung_gpiolib_init(void)
 	int i, nr_chips;
 	int group = 0;
 
-#if defined(CONFIG_PINCTRL_EXYNOS) || defined(CONFIG_PINCTRL_EXYNOS5440)
 	/*
-	* This gpio driver includes support for device tree support and there
-	* are platforms using it. In order to maintain compatibility with those
-	* platforms, and to allow non-dt Exynos4210 platforms to use this
-	* gpiolib support, a check is added to find out if there is a active
-	* pin-controller driver support available. If it is available, this
-	* gpiolib support is ignored and the gpiolib support available in
-	* pin-controller driver is used. This is a temporary check and will go
-	* away when all of the Exynos4210 platforms have switched to using
-	* device tree and the pin-ctrl driver.
-	*/
-	struct device_node *pctrl_np;
-	static const struct of_device_id exynos_pinctrl_ids[] = {
-		{ .compatible = "samsung,s3c2412-pinctrl", },
-		{ .compatible = "samsung,s3c2416-pinctrl", },
-		{ .compatible = "samsung,s3c2440-pinctrl", },
-		{ .compatible = "samsung,s3c2450-pinctrl", },
-		{ .compatible = "samsung,exynos4210-pinctrl", },
-		{ .compatible = "samsung,exynos4x12-pinctrl", },
-		{ .compatible = "samsung,exynos5250-pinctrl", },
-		{ .compatible = "samsung,exynos5440-pinctrl", },
-		{ }
-	};
-	for_each_matching_node(pctrl_np, exynos_pinctrl_ids)
-		if (pctrl_np && of_device_is_available(pctrl_np))
-			return -ENODEV;
-#endif
+	 * Currently there are two drivers that can provide GPIO support for
+	 * Samsung SoCs. For device tree enabled platforms, the new
+	 * pinctrl-samsung driver is used, providing both GPIO and pin control
+	 * interfaces. For legacy (non-DT) platforms this driver is used.
+	 */
+	if (of_have_populated_dt())
+		return -ENODEV;
 
 	samsung_gpiolib_set_cfg(samsung_gpio_cfgs, ARRAY_SIZE(samsung_gpio_cfgs));