diff mbox series

[1/2] gpio: vf610: switch to dynamic allocat GPIO base

Message ID 20230506085928.933737-1-haibo.chen@nxp.com
State Accepted
Commit bb5ad5ef7493ed21abc2c8b890204c8f79df86a8
Headers show
Series [1/2] gpio: vf610: switch to dynamic allocat GPIO base | expand

Commit Message

Bough Chen May 6, 2023, 8:59 a.m. UTC
From: Haibo Chen <haibo.chen@nxp.com>

gpiolib want to get completely rid of static gpiobase allocation,
so switch to dynamic allocat GPIO base, also can avoid warning
message:

[    1.529974] gpio gpiochip0: Static allocation of GPIO base
is deprecated, use dynamic allocation.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
---
 drivers/gpio/gpio-vf610.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Linus Walleij May 6, 2023, 1:04 p.m. UTC | #1
On Sat, May 6, 2023 at 10:56 AM <haibo.chen@nxp.com> wrote:

> From: Haibo Chen <haibo.chen@nxp.com>
>
> gpiolib want to get completely rid of static gpiobase allocation,
> so switch to dynamic allocat GPIO base, also can avoid warning
> message:
>
> [    1.529974] gpio gpiochip0: Static allocation of GPIO base
> is deprecated, use dynamic allocation.
>
> Signed-off-by: Haibo Chen <haibo.chen@nxp.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Linus Walleij May 6, 2023, 1:06 p.m. UTC | #2
On Sat, May 6, 2023 at 10:56 AM <haibo.chen@nxp.com> wrote:

> From: Haibo Chen <haibo.chen@nxp.com>
>
> gpiolib want to get completely rid of static gpiobase allocation,
> so switch to dynamic allocat GPIO base, also can avoid warning
> message:
>
> [    1.529974] gpio gpiochip0: Static allocation of GPIO base
> is deprecated, use dynamic allocation.
>
> Signed-off-by: Haibo Chen <haibo.chen@nxp.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Bough Chen Aug. 21, 2023, 2:47 a.m. UTC | #3
> -----Original Message-----
> From: Linus Walleij <linus.walleij@linaro.org>
> Sent: 2023年5月6日 21:06
> To: Bough Chen <haibo.chen@nxp.com>
> Cc: brgl@bgdev.pl; linux-gpio@vger.kernel.org; linux-kernel@vger.kernel.org;
> dl-linux-imx <linux-imx@nxp.com>; christophe.leroy@csgroup.eu
> Subject: Re: [PATCH 2/2] gpio: mxc: switch to dynamic allocat GPIO base
> 
> On Sat, May 6, 2023 at 10:56 AM <haibo.chen@nxp.com> wrote:
> 
> > From: Haibo Chen <haibo.chen@nxp.com>
> >
> > gpiolib want to get completely rid of static gpiobase allocation, so
> > switch to dynamic allocat GPIO base, also can avoid warning
> > message:
> >
> > [    1.529974] gpio gpiochip0: Static allocation of GPIO base
> > is deprecated, use dynamic allocation.
> >
> > Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
> 
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Hi Linus and Bartosz,

For this patch, still not in the main trunk (Linux 6.5-rc7) and linux-next(next-20230818).
Can you help apply or any comment?

Best Regards
Haibo Chen

> 
> Yours,
> Linus Walleij
Bough Chen Aug. 21, 2023, 2:47 a.m. UTC | #4
> -----Original Message-----
> From: Linus Walleij <linus.walleij@linaro.org>
> Sent: 2023年5月6日 21:05
> To: Bough Chen <haibo.chen@nxp.com>
> Cc: brgl@bgdev.pl; linux-gpio@vger.kernel.org; linux-kernel@vger.kernel.org;
> dl-linux-imx <linux-imx@nxp.com>; christophe.leroy@csgroup.eu
> Subject: Re: [PATCH 1/2] gpio: vf610: switch to dynamic allocat GPIO base
> 
> On Sat, May 6, 2023 at 10:56 AM <haibo.chen@nxp.com> wrote:
> 
> > From: Haibo Chen <haibo.chen@nxp.com>
> >
> > gpiolib want to get completely rid of static gpiobase allocation, so
> > switch to dynamic allocat GPIO base, also can avoid warning
> > message:
> >
> > [    1.529974] gpio gpiochip0: Static allocation of GPIO base
> > is deprecated, use dynamic allocation.
> >
> > Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
> 
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Hi Linus and Bartosz,

For this patch, still not in the main trunk (Linux 6.5-rc7) and linux-next(next-20230818).
Can you help apply or any comment?

Best Regards
Haibo Chen

> 
> Yours,
> Linus Walleij
Linus Walleij Aug. 21, 2023, 7:25 a.m. UTC | #5
On Mon, Aug 21, 2023 at 4:47 AM Bough Chen <haibo.chen@nxp.com> wrote:

> Hi Linus and Bartosz,
>
> For this patch, still not in the main trunk (Linux 6.5-rc7) and linux-next(next-20230818).
> Can you help apply or any comment?

As pointed out by Bartosz you cannot just mechanically switch the base
to -1.

You also need to convince us that this doesn't break any systems, and if
it does, fix them so they don't break before submitting this patch.

Yours,
Linus Walleij
Alexander Stein Aug. 21, 2023, 7:44 a.m. UTC | #6
Hi Linus,

Am Montag, 21. August 2023, 09:25:54 CEST schrieb Linus Walleij:
> On Mon, Aug 21, 2023 at 4:47 AM Bough Chen <haibo.chen@nxp.com> wrote:> > Hi 
Linus and Bartosz,
> > 
> > For this patch, still not in the main trunk (Linux 6.5-rc7) and
> > linux-next(next-20230818). Can you help apply or any comment?
> 
> As pointed out by Bartosz you cannot just mechanically switch the base
> to -1.
> 
> You also need to convince us that this doesn't break any systems, and if
> it does, fix them so they don't break before submitting this patch.

I think it's hard to tell if something breaks, this driver is used in a lot of 
boards. AFAIR some people are relying on the assumption of fixed order. Using 
dynamic allocation this not ensured. A possible fix is to use aliases [1].

Best regards,
Alexander

[1] https://lore.kernel.org/lkml/20230215092421.143199-1-alexander.stein@ew.tq-group.com/T/#u
Linus Walleij Aug. 21, 2023, 10:21 a.m. UTC | #7
On Mon, Aug 21, 2023 at 9:44 AM Alexander Stein
<alexander.stein@ew.tq-group.com> wrote:
> Am Montag, 21. August 2023, 09:25:54 CEST schrieb Linus Walleij:
> > On Mon, Aug 21, 2023 at 4:47 AM Bough Chen <haibo.chen@nxp.com> wrote:> > Hi
> Linus and Bartosz,
> > >
> > > For this patch, still not in the main trunk (Linux 6.5-rc7) and
> > > linux-next(next-20230818). Can you help apply or any comment?
> >
> > As pointed out by Bartosz you cannot just mechanically switch the base
> > to -1.
> >
> > You also need to convince us that this doesn't break any systems, and if
> > it does, fix them so they don't break before submitting this patch.
>
> I think it's hard to tell if something breaks, this driver is used in a lot of
> boards. AFAIR some people are relying on the assumption of fixed order. Using
> dynamic allocation this not ensured. A possible fix is to use aliases [1].

Hm I might have been to grumpy!

It looks like any boardfiles using gpio-mxc have been eliminated
so this driver is now only used in device tree-boots? Right?

Then I feel a lot better about it.

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Bartosz Golaszewski Aug. 21, 2023, 12:17 p.m. UTC | #8
On Mon, Aug 21, 2023 at 12:21 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Mon, Aug 21, 2023 at 9:44 AM Alexander Stein
> <alexander.stein@ew.tq-group.com> wrote:
> > Am Montag, 21. August 2023, 09:25:54 CEST schrieb Linus Walleij:
> > > On Mon, Aug 21, 2023 at 4:47 AM Bough Chen <haibo.chen@nxp.com> wrote:> > Hi
> > Linus and Bartosz,
> > > >
> > > > For this patch, still not in the main trunk (Linux 6.5-rc7) and
> > > > linux-next(next-20230818). Can you help apply or any comment?
> > >
> > > As pointed out by Bartosz you cannot just mechanically switch the base
> > > to -1.
> > >
> > > You also need to convince us that this doesn't break any systems, and if
> > > it does, fix them so they don't break before submitting this patch.
> >
> > I think it's hard to tell if something breaks, this driver is used in a lot of
> > boards. AFAIR some people are relying on the assumption of fixed order. Using
> > dynamic allocation this not ensured. A possible fix is to use aliases [1].
>
> Hm I might have been to grumpy!
>
> It looks like any boardfiles using gpio-mxc have been eliminated
> so this driver is now only used in device tree-boots? Right?
>
> Then I feel a lot better about it.
>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
>
> Yours,
> Linus Walleij

I will not be queueing it for v6.6 as merge window opens in a week, I
want to give it more time in next and see if anyone complains so it'll
make it for v6.7.

Bart
Bartosz Golaszewski Aug. 22, 2023, 9:39 a.m. UTC | #9
On Mon, Aug 21, 2023 at 4:47 AM Bough Chen <haibo.chen@nxp.com> wrote:
>
> > -----Original Message-----
> > From: Linus Walleij <linus.walleij@linaro.org>
> > Sent: 2023年5月6日 21:05
> > To: Bough Chen <haibo.chen@nxp.com>
> > Cc: brgl@bgdev.pl; linux-gpio@vger.kernel.org; linux-kernel@vger.kernel.org;
> > dl-linux-imx <linux-imx@nxp.com>; christophe.leroy@csgroup.eu
> > Subject: Re: [PATCH 1/2] gpio: vf610: switch to dynamic allocat GPIO base
> >
> > On Sat, May 6, 2023 at 10:56 AM <haibo.chen@nxp.com> wrote:
> >
> > > From: Haibo Chen <haibo.chen@nxp.com>
> > >
> > > gpiolib want to get completely rid of static gpiobase allocation, so
> > > switch to dynamic allocat GPIO base, also can avoid warning
> > > message:
> > >
> > > [    1.529974] gpio gpiochip0: Static allocation of GPIO base
> > > is deprecated, use dynamic allocation.
> > >
> > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
> >
> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
>
> Hi Linus and Bartosz,
>
> For this patch, still not in the main trunk (Linux 6.5-rc7) and linux-next(next-20230818).
> Can you help apply or any comment?
>

I think I didn't apply it because the first patch in this series was
controversial with known user-space breakages. Now applied.

Bart
Ahmad Fatoum Aug. 28, 2023, 1:56 p.m. UTC | #10
Hello,

Cc += i.MX maintainers as this file isn't matched by the MAINTAINERS entry.

On 21.08.23 14:17, Bartosz Golaszewski wrote:
> On Mon, Aug 21, 2023 at 12:21 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>>
>> On Mon, Aug 21, 2023 at 9:44 AM Alexander Stein
>> <alexander.stein@ew.tq-group.com> wrote:
>>> Am Montag, 21. August 2023, 09:25:54 CEST schrieb Linus Walleij:
>>>> On Mon, Aug 21, 2023 at 4:47 AM Bough Chen <haibo.chen@nxp.com> wrote:> > Hi
>>> Linus and Bartosz,
>>>>>
>>>>> For this patch, still not in the main trunk (Linux 6.5-rc7) and
>>>>> linux-next(next-20230818). Can you help apply or any comment?
>>>>
>>>> As pointed out by Bartosz you cannot just mechanically switch the base
>>>> to -1.
>>>>
>>>> You also need to convince us that this doesn't break any systems, and if
>>>> it does, fix them so they don't break before submitting this patch.
>>>
>>> I think it's hard to tell if something breaks, this driver is used in a lot of
>>> boards. AFAIR some people are relying on the assumption of fixed order. Using
>>> dynamic allocation this not ensured. A possible fix is to use aliases [1].
>>
>> Hm I might have been to grumpy!
>>
>> It looks like any boardfiles using gpio-mxc have been eliminated
>> so this driver is now only used in device tree-boots? Right?
>>
>> Then I feel a lot better about it.
>>
>> Acked-by: Linus Walleij <linus.walleij@linaro.org>
>>
>> Yours,
>> Linus Walleij
> 
> I will not be queueing it for v6.6 as merge window opens in a week, I
> want to give it more time in next and see if anyone complains so it'll
> make it for v6.7.

IMO, this should not be merged. I would hate to do a kernel update and
see the kernel toggle some unrelated GPIO, because probe order changes.
This will eventually happen to somebody and if they're unlucky, it will
break something.

For systems, where the order was never fixed, I agree it's on them, but
for i.MX, it has been fixed since inception AFAIK and I fail to see
what strong reason there is to justify breaking their setups in such
a manner.

Yes, the sysfs interface will eventually go away and fixed numbering
with it but that has been announced long in advance and when that happens,
updated systems with legacy scripts will cease to do GPIO until fixed
and not essentially toggling GPIOs at random.

Thanks,
Ahmad

> 
> Bart
diff mbox series

Patch

diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c
index d3f3a69d4907..70e16cef7738 100644
--- a/drivers/gpio/gpio-vf610.c
+++ b/drivers/gpio/gpio-vf610.c
@@ -259,7 +259,6 @@  static void vf610_gpio_disable_clk(void *data)
 static int vf610_gpio_probe(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
-	struct device_node *np = dev->of_node;
 	struct vf610_gpio_port *port;
 	struct gpio_chip *gc;
 	struct gpio_irq_chip *girq;
@@ -319,7 +318,7 @@  static int vf610_gpio_probe(struct platform_device *pdev)
 	gc->parent = dev;
 	gc->label = dev_name(dev);
 	gc->ngpio = VF610_GPIO_PER_PORT;
-	gc->base = of_alias_get_id(np, "gpio") * VF610_GPIO_PER_PORT;
+	gc->base = -1;
 
 	gc->request = gpiochip_generic_request;
 	gc->free = gpiochip_generic_free;