RE: [PATCH -next] platform/x86: intel_pmc_core: fix build error without CONFIG_DEBUG_FS

From: Kammela, Gayatri
Date: Tue Feb 25 2020 - 12:11:08 EST


> -----Original Message-----
> From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Sent: Tuesday, February 25, 2020 2:13 AM
> To: Chen Zhou <chenzhou10@xxxxxxxxxx>; Kammela, Gayatri
> <gayatri.kammela@xxxxxxxxx>
> Cc: Rajneesh Bhardwaj <rajneesh.bhardwaj@xxxxxxxxx>; Somayaji,
> Vishwanath <vishwanath.somayaji@xxxxxxxxx>; Darren Hart
> <dvhart@xxxxxxxxxxxxx>; Andy Shevchenko <andy@xxxxxxxxxxxxx>;
> Platform Driver <platform-driver-x86@xxxxxxxxxxxxxxx>; Linux Kernel Mailing
> List <linux-kernel@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH -next] platform/x86: intel_pmc_core: fix build error
> without CONFIG_DEBUG_FS
>
> On Thu, Feb 20, 2020 at 5:40 AM Chen Zhou <chenzhou10@xxxxxxxxxx>
> wrote:
> >
> > If CONFIG_DEBUG_FS is n, build fails:
> >
> > drivers/platform/x86/intel_pmc_core.c: In function pmc_core_resume:
> > drivers/platform/x86/intel_pmc_core.c:1327:3: error: implicit declaration
> of function pmc_core_slps0_display; did you mean
> pmc_core_is_pc10_failed? [-Werror=implicit-function-declaration]
> > pmc_core_slps0_display(pmcdev, dev, NULL);
> > ^~~~~~~~~~~~~~~~~~~~~~
> >
> > Function pmc_core_slps0_display() is responsible for displaying debug
> > registers, which is under CONFIG_DEBUG_FS.
> >
> > Providing the static inline stub whenever CONFIG_DEBUG_FS is disabled
> > to fix this. Function pmc_core_lpm_display() is the same.
>
> Thank you for the patch, but I think it's not the right approach.
> Basically we need to move those functions outside of #if
> IS_ENABLED(CONFIG_DEBUG_FS).
> (Move them upper).
Agreed
>
> Also I have noticed another issue in pmc_core_lpm_display(). It uses
> tgl_lpm_maps directly. It shouldn't.
>
> Cc: Gayatri.
>
> Gayatri, care to fix?
Hi Andy, caught this bug in our internal regression too. I will send the patch shortly. Thanks!
>
> > Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> > Signed-off-by: Chen Zhou <chenzhou10@xxxxxxxxxx>
> > ---
> > drivers/platform/x86/intel_pmc_core.c | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/drivers/platform/x86/intel_pmc_core.c
> > b/drivers/platform/x86/intel_pmc_core.c
> > index f4a36fb..939f8e0 100644
> > --- a/drivers/platform/x86/intel_pmc_core.c
> > +++ b/drivers/platform/x86/intel_pmc_core.c
> > @@ -1117,6 +1117,20 @@ static void pmc_core_dbgfs_register(struct
> pmc_dev *pmcdev)
> > }
> > }
> > #else
> > +static inline void pmc_core_slps0_display(struct pmc_dev *pmcdev,
> > + struct device *dev,
> > + struct seq_file *s) { }
> > +
> > +static inline void pmc_core_lpm_display(struct pmc_dev *pmcdev,
> > + struct device *dev,
> > + struct seq_file *s, u32 offset,
> > + const char *str,
> > + const struct pmc_bit_map
> > +**maps) { }
> > +
> > static inline void pmc_core_dbgfs_register(struct pmc_dev *pmcdev) {
> > }
> > --
> > 2.7.4
> >
>
>
> --
> With Best Regards,
> Andy Shevchenko