On 09/04/2025 13:22, Arnd Bergmann wrote: > From: Arnd Bergmann <a...@arndb.de> > > When CONFIG_DEBUG_FS is disabled, the stid_fmts[] array is not referenced > anywhere, causing a W=1 warning with gcc: > > In file included from drivers/gpu/drm/imagination/pvr_fw_trace.c:7: > drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h:75:39: error: 'stid_fmts' > defined but not used [-Werror=unused-const-variable=] > 75 | static const struct rogue_km_stid_fmt stid_fmts[] = { > | ^~~~~~~~~ > > Rather than adding more #ifdef blocks, address this by changing the > existing #ifdef into equivalent IS_ENABLED() checks so gcc can see > where the symbol is used but still eliminate it from the object file. > > Signed-off-by: Arnd Bergmann <a...@arndb.de>
Hi Arnd, After sleeping revisiting this after being on holiday, it seems like enough of my concerns were due solely to my ignorance that I'd rather just take this patch as-is than spend time reworking it. (Thanks to Jani and Andi for filling gaps in my knowledge too!) To that end, Reviewed-by: Matt Coster <matt.cos...@imgtec.com> And I'll take this through drm-misc-next tomorrow if there are no objections. Cheers, Matt > --- > drivers/gpu/drm/imagination/pvr_fw_trace.c | 8 ++++---- > drivers/gpu/drm/imagination/pvr_fw_trace.h | 2 -- > 2 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/imagination/pvr_fw_trace.c > b/drivers/gpu/drm/imagination/pvr_fw_trace.c > index 5dbb636d7d4f..93269299d6a4 100644 > --- a/drivers/gpu/drm/imagination/pvr_fw_trace.c > +++ b/drivers/gpu/drm/imagination/pvr_fw_trace.c > @@ -122,8 +122,6 @@ void pvr_fw_trace_fini(struct pvr_device *pvr_dev) > pvr_fw_object_unmap_and_destroy(fw_trace->tracebuf_ctrl_obj); > } > > -#if defined(CONFIG_DEBUG_FS) > - > /** > * update_logtype() - Send KCCB command to trigger FW to update logtype > * @pvr_dev: Target PowerVR device > @@ -447,7 +445,7 @@ static const struct file_operations pvr_fw_trace_fops = { > void > pvr_fw_trace_mask_update(struct pvr_device *pvr_dev, u32 old_mask, u32 > new_mask) > { > - if (old_mask != new_mask) > + if (IS_ENABLED(CONFIG_DEBUG_FS) && old_mask != new_mask) > update_logtype(pvr_dev, new_mask); > } > > @@ -457,6 +455,9 @@ pvr_fw_trace_debugfs_init(struct pvr_device *pvr_dev, > struct dentry *dir) > struct pvr_fw_trace *fw_trace = &pvr_dev->fw_dev.fw_trace; > u32 thread_nr; > > + if (!IS_ENABLED(CONFIG_DEBUG_FS)) > + return; > + > static_assert(ARRAY_SIZE(fw_trace->buffers) <= 10, > "The filename buffer is only large enough for a > single-digit thread count"); > > @@ -469,4 +470,3 @@ pvr_fw_trace_debugfs_init(struct pvr_device *pvr_dev, > struct dentry *dir) > &pvr_fw_trace_fops); > } > } > -#endif > diff --git a/drivers/gpu/drm/imagination/pvr_fw_trace.h > b/drivers/gpu/drm/imagination/pvr_fw_trace.h > index 0074d2b18da0..1d0ef937427a 100644 > --- a/drivers/gpu/drm/imagination/pvr_fw_trace.h > +++ b/drivers/gpu/drm/imagination/pvr_fw_trace.h > @@ -65,7 +65,6 @@ struct pvr_fw_trace { > int pvr_fw_trace_init(struct pvr_device *pvr_dev); > void pvr_fw_trace_fini(struct pvr_device *pvr_dev); > > -#if defined(CONFIG_DEBUG_FS) > /* Forward declaration from <linux/dcache.h>. */ > struct dentry; > > @@ -73,6 +72,5 @@ void pvr_fw_trace_mask_update(struct pvr_device *pvr_dev, > u32 old_mask, > u32 new_mask); > > void pvr_fw_trace_debugfs_init(struct pvr_device *pvr_dev, struct dentry > *dir); > -#endif /* defined(CONFIG_DEBUG_FS) */ > > #endif /* PVR_FW_TRACE_H */ -- Matt Coster E: matt.cos...@imgtec.com
OpenPGP_signature.asc
Description: OpenPGP digital signature