[PATCH 01/16] gpio: dwapb: Use modern PM macros
Andy Shevchenko
andy.shevchenko at gmail.com
Thu Aug 21 12:32:01 PDT 2025
On Thu, Aug 21, 2025 at 8:02 PM Jisheng Zhang <jszhang at kernel.org> wrote:
> On Wed, Aug 20, 2025 at 10:04:39PM +0300, Andy Shevchenko wrote:
> > On Wed, Aug 20, 2025 at 8:11 PM Michael Büsch <mb at bues.ch> wrote:
> > > On Wed, 20 Aug 2025 19:54:44 +0300
> > > Andy Shevchenko <andy.shevchenko at gmail.com> wrote:
> > >
> > > > > The dwapb_context structure is always embedded into struct
> > > > > dwapb_gpio_port to simplify code. Sure this brings a tiny 36 bytes
> > > > > data overhead for !CONFIG_PM_SLEP.
> > > >
> > > > I don't think it's a good approach to add a lot of data for peanuts in
> > > > case of PM_SLEEP=n.
> > >
> > > It wastes 36 bytes in case of PM=n.
> >
> > ...per port.
> >
> > > 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.
> >
> > ...per driver.
>
> Before the patch, struct dwapb_context *ctx is also per port.
OK. So the comparison is 4 or 8 bytes per port vs. 36 bytes per port, correct?
> > So, I can't say it's equal, but I leave this to maintainers to decide,
>
> What in my mind now: this is linux rather than RTOS. After greping the
> the arm/arm64/riscv dts dir, the max port number is 6, the berlin2q
> soc families, so this means current we have wasted 216 bytes memory which
> is trivial compared to the system memory.
Maybe, but this should be clarified in the commit message. And again,
I have no strong objection on this part, but it needs to be described
accurately at bare minimum.
--
With Best Regards,
Andy Shevchenko
More information about the linux-arm-kernel
mailing list