[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdaTSRSGx=SjXJ93tdMEPFD=hb3wbUscGO2Exf709SL5Ow@mail.gmail.com>
Date: Sun, 28 Aug 2022 13:35:57 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Christophe Leroy <christophe.leroy@...roup.eu>
Cc: Arnd Bergmann <arnd@...db.de>,
Alexandre Courbot <gnurou@...il.com>,
Alexandre Courbot <acourbot@...dia.com>,
Bartosz Golaszewski <brgl@...ev.pl>,
Jonathan Corbet <corbet@....net>,
Russell King <linux@...linux.org.uk>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
"moderated list:ARM PORT" <linux-arm-kernel@...ts.infradead.org>,
"open list:GENERIC INCLUDE/ASM HEADER FILES"
<linux-arch@...r.kernel.org>
Subject: Re: [PATCH] gpio: Allow user to customise maximum number of GPIOs
On Sun, Aug 28, 2022 at 11:06 AM Christophe Leroy
<christophe.leroy@...roup.eu> wrote:
> And I guess there might be other drivers like that (I found that one
> because of its comment mentionning ARCH_NR_GPIOS.
Yes there are a bunch of GPIO controllers with fixed base.
These only exist because there is boardfile code that uses
these fixed GPIO numbers.
> Another solution could be to leave first GPIOs for static allocation,
> and allocate dynamic ones from 256 or from 512 ?
>
> Maybe in two steps:
> - First step: Allocate dynamic from 256 upwards and add a pr_warn() for
> all static allocations.
OK that is reasonable.
I thought that maybe we could assume the fixed bases to probe first
and thus reserve the GPIO bases they want before we get to the
dynamically allocated drivers.
This could be a good first step.
> - Second step later: Allocate dynamic from 0 and forbid static allocation.
What needs to happen for doing that 100% safe is to get rid of all
board files, mostly in arch/arm/mach* but also elsewhere, or to
augment all boardfiles to use descriptor tables instead.
But you're right, try the two step approach first.
Yours,
Linus Walleij
Powered by blists - more mailing lists