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

From: Andy Shevchenko
Date: Wed Feb 26 2020 - 03:33:24 EST


On Wed, Feb 26, 2020 at 3:56 AM Kammela, Gayatri
<gayatri.kammela@xxxxxxxxx> wrote:
> > -----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 don't see it in the mailing list.
Please check if you send them correctly.

There are more bug reports coming. We must fix this ASAP.

> 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



--
With Best Regards,
Andy Shevchenko