Re: [PATCH] coresight: cti-sysfs: Mark coresight_cti_reg_store() as __maybe_unused

Nathan Chancellor
2022-09-02T15:28:48Z

On Fri, Sep 02, 2022 at 02:03:07PM +0100, James Clark wrote:
>
>
> On 01/09/2022 20:50, Nathan Chancellor wrote:
> > When building without CONFIG_CORESIGHT_CTI_INTEGRATION_REGS, there is a
> > warning about coresight_cti_reg_store() being unused in the file:
> >
> > drivers/hwtracing/coresight/coresight-cti-sysfs.c:184:16: warning: 'coresight_cti_reg_store' defined but not used [-Wunused-function]
> > 184 | static ssize_t coresight_cti_reg_store(struct device *dev,
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > This is expected as coresight_cti_reg_store() is only used in the
> > coresight_cti_reg_rw macro, which is only used in a block guarded by
> > CONFIG_CORESIGHT_CTI_INTEGRATION_REGS. Mark coresight_cti_reg_store() as
> > __maybe_unused to clearly indicate that the function may be unused
> > depending on the configuration.
>
> It would also be possible to fix this by wrapping the definitions in
> #ifdef CONFIG_CORESIGHT_CTI_INTEGRATION_REGS. That way the maybe_unused
> isn't needed and it's a bit cleaner.

Right, I do not have a preference either. I only did this way first
because most maintainers do not like ifdef's in .c files. I am happy to
change the solution if you all prefer!

> Either way, thanks for the fix.
>
> Reviewed-by: James Clark <james.clark@arm.com>

Thanks for the review!

Cheers,
Nathan

> > Fixes: fbca79e55429 ("coresight: cti-sysfs: Re-use same functions for similar sysfs register accessors")
> > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> > ---
> > drivers/hwtracing/coresight/coresight-cti-sysfs.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/hwtracing/coresight/coresight-cti-sysfs.c b/drivers/hwtracing/coresight/coresight-cti-sysfs.c
> > index 478b8d38b744..6d59c815ecf5 100644
> > --- a/drivers/hwtracing/coresight/coresight-cti-sysfs.c
> > +++ b/drivers/hwtracing/coresight/coresight-cti-sysfs.c
> > @@ -181,9 +181,9 @@ static ssize_t coresight_cti_reg_show(struct device *dev,
> > }
> >
> > /* Write registers with power check only (no enable check). */
> > -static ssize_t coresight_cti_reg_store(struct device *dev,
> > - struct device_attribute *attr,
> > - const char *buf, size_t size)
> > +static __maybe_unused ssize_t coresight_cti_reg_store(struct device *dev,
> > + struct device_attribute *attr,
> > + const char *buf, size_t size)
> > {
> > struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
> > struct cs_off_attribute *cti_attr = container_of(attr, struct cs_off_attribute, attr);
> >
> > base-commit: 0a98181f805058773961c5ab3172ecf1bf1ed0e1