[PATCH] gpio: dwapb: Fold dwapb_context into dwapb_gpio_port

Jisheng Zhang jszhang at kernel.org
Wed Nov 19 15:59:47 PST 2025


On Wed, Nov 19, 2025 at 07:53:20PM +0200, Andy Shevchenko wrote:
> On Wed, Nov 19, 2025 at 11:00:49PM +0800, Jisheng Zhang wrote:
> > Fold dwapb_context into struct dwapb_gpio_port to further simplify
> > the code. Sure this brings a tiny 36 bytes data overhead for
> > !PM_SLEEP. After grepping the arm/arm64/riscv dts dir, the max dwapb
> > gpio port number is 6(the berlin2q soc family), so this means we will
> 
> GPIO
> 
> *and I believe this is limitation by Synopsys in HW, but I'm not going to check
> the datasheet right now.

snps doesn't limit this. The max dwapb gpio controller number is 6 as
is grepped the arm/arm64/riscv etc. dts dir.
> 
> > waste 216 bytes memory in total which is trivial compared to the
> > system memory.
> > 
> > From another side, as Michael mentioned:
> > "The driver currently allocates the struct with kzalloc and stores a
> > pointer to it in case of PM=y.
> > So this probably has an overhead in the same order of magnitude
> > (pointer + malloc overhead/alignment/fragmentation) in case of PM=y
> > now."
> > 
> > So let's Fold dwapb_context into struct dwapb_gpio_port.
> > 
> > Signed-off-by: Jisheng Zhang <jszhang at kernel.org>
> 
> > CC: Michael Büsch <mb at bues.ch>
> 
> Please, use --cc or move Cc list below...
> 
> > ---
> 
> ...this cutter line. It will have the same effect on the emails, but it will
> reduce the noise in the commit message.
> 
> > NOTE: this patch is applied against the following series:
> > [PATCH v3 00/15] gpio: Use modern PM macros
> 
> It's better to just put a link to lore.kernel.org or at least message-id.
> 
> ...
> 
> I have a mixed feelings about this, but if maintainers go with it,
> let it be then.
> 
> -- 
> With Best Regards,
> Andy Shevchenko
> 
> 



More information about the linux-riscv mailing list