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

From: Kammela, Gayatri
Date: Tue Feb 25 2020 - 20:56:18 EST


> -----Original Message-----
> From: Kammela, Gayatri
> Sent: Tuesday, February 25, 2020 9:11 AM
> To: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>; Chen Zhou
> <chenzhou10@xxxxxxxxxx>
> 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
>
> > -----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!

Update: Andy, I have 4 small fixes for the patch series merged in for-next branch. I am wondering if I should send the fixup patches or if you drop the patch series from for-next branch, I can send out the new version that includes all these fixes. Please suggest. 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