Re: build failure of next-20220718 due to 'imx6_pcie_host_exit' defined but not used

From: Arnd Bergmann
Date: Tue Jul 19 2022 - 03:52:55 EST


On Mon, Jul 18, 2022 at 6:14 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
> On Mon, Jul 18, 2022 at 02:42:16PM +0200, Arnd Bergmann wrote:
>
> Might be simpler, but wow, it's hard to keep up with all the
> permutations of sleep ops ;)
>
> Unfortunately 1a3c7bb08826 ("PM: core: Add new *_PM_OPS macros,
> deprecate old ones"), which added NOIRQ_SYSTEM_SLEEP_PM_OPS, didn't
> add any hints near SET_NOIRQ_SYSTEM_SLEEP_PM_OPS.
>
> We have several PCI controller drivers that use the "#ifdef
> CONFIG_PM_SLEEP" and SET_NOIRQ_SYSTEM_SLEEP_PM_OPS pattern or the
> "__maybe_unused" + SET_NOIRQ_SYSTEM_SLEEP_PM_OPS pattern. I guess we
> need to look at all of them and figure out the best practice.

Yes, this is a larger effort. It's been under discussion for many years until we
could agree on a nicer way to handle this and avoid both the #ifdef and the
__maybe_unused annotations. There are hundreds of drivers using the older
patterns, and I think there is an effort to address them one subsystem
at a time,
whenever someone finds the time.

Arnd