On Fri, Sep 18, 2026 at 05:36:27AM +0300, Jarkko Sakkinen wrote: > On Mon, Sep 14, 2026 at 04:36:01PM -0700, Nathan Chancellor wrote: > > On Wed, Sep 09, 2026 at 04:24:59PM +0800, Li Jun wrote: > > > Replace the deprecated SIMPLE_DEV_PM_OPS with DEFINE_SIMPLE_DEV_PM_OPS > > > and wrap the struct assignment with pm_sleep_ptr(). The old code keeps > > > a completely empty dev_pm_ops structure -- all callbacks are NULL -- > > > as dead code in the object file when CONFIG_PM_SLEEP=n, because > > > SET_SYSTEM_SLEEP_PM_OPS() expands to nothing while __maybe_unused on > > > the struct only silences the warning without removing the struct. > > > Switching to DEFINE_SIMPLE_DEV_PM_OPS() lets pm_sleep_ptr() eliminate > > > the callback references at compile time, and wrapping the struct > > > assignment with pm_sleep_ptr() drops the entire structure when > > > CONFIG_PM_SLEEP is disabled, instead of retaining an empty one. > > > > > > Signed-off-by: Li Jun <[email protected]> > > ... > > > diff --git a/drivers/char/tpm/tpm_infineon.c > > > b/drivers/char/tpm/tpm_infineon.c > > > index 7638b65b851b..84a0d3e5f679 100644 > > > --- a/drivers/char/tpm/tpm_infineon.c > > > +++ b/drivers/char/tpm/tpm_infineon.c > > > @@ -612,7 +612,7 @@ static int tpm_inf_resume(struct device *dev) > > > return tpm_pm_resume(dev); > > > } > > > #endif > > > -static SIMPLE_DEV_PM_OPS(tpm_inf_pm, tpm_pm_suspend, tpm_inf_resume); > > > +static DEFINE_SIMPLE_DEV_PM_OPS(tpm_inf_pm, tpm_pm_suspend, > > > tpm_inf_resume); > > > > > > static struct pnp_driver tpm_inf_pnp_driver = { > > > .name = "tpm_inf_pnp", > > > @@ -620,7 +620,7 @@ static struct pnp_driver tpm_inf_pnp_driver = { > > > .probe = tpm_inf_pnp_probe, > > > .remove = tpm_inf_pnp_remove, > > > .driver = { > > > - .pm = &tpm_inf_pm, > > > + .pm = pm_sleep_ptr(&tpm_inf_pm), > > > } > > > }; > > > > > > > This patch is in -next as commit 2249200ee420 ("tpm: use > > DEFINE_SIMPLE_DEV_PM_OPS and pm_sleep_ptr()"), where it breaks the build > > for CONFIG_PM_SLEEP=n kernels because some of the functions are not > > visible in these configurations. > > > > https://lore.kernel.org/[email protected]/ > > https://lore.kernel.org/[email protected]/ > > > > It should be fairly easy enough to expose these functions regardless of > > CONFIG_PM_SLEEP (or add some stubs) but I think this patch should be > > dropped until it can be done in a new version. > > > > -- > > Cheers, > > Nathan > > See: > > https://lore.kernel.org/linux-integrity/[email protected]/ > > So I would squash Arnd's fixes and call it a day?
The fire has been extinguished anyhow. I.e. I updated for-next-tpm not to have Li's patch. The patch and Arnd's fixes to it remain in my master branch instead. BR, Jarkko
