On Tue, Oct 21, 2025 at 08:39:57AM +0200, Nathan Chancellor wrote: > On Mon, Oct 20, 2025 at 11:05:13AM +0100, David Laight wrote: > > On Fri, 17 Oct 2025 12:46:26 -0700 > > Ryan Neph <[email protected]> wrote: > > > > > Fixes warning from clang-17 that look like: > > > > > > drivers/gpu/drm/xe/xe_configfs.h:35:97: error: omitting the parameter > > > name in a function definition is a C2x extension > > > [-Werror,-Wc2x-extensions] > > > 35 | static inline u32 xe_configfs_get_ctx_restore_post_bb(struct > > > pci_dev *pdev, enum xe_engine_class, > > > > Why did that become invalid? > > It has pretty much always been used - and can be used to avoid -Wshadow > > warnings. > > This looks like a clang bug. > > And you'd want a specific -W 'knob' for it as well. > > > > At a guess the C2x extension lets the name be omitted in the function body > > for > > an unused parameter (the same as C++). > > I think that is the 'definition' and the ones being changed here are the > > 'declaration'. > > But I might be wrong. > > I don't think you read the patch clearly enough. Both declarations and > 'static inline' definitions are being updated in this patch, likely for > consistency rather than necessity (but the commit message could call > this out). I don't see how there is a clang bug here.
Correct. The warning is generated for the stub definitions on the false branch of the `#if IS_ENABLED(CONFIG_CONFIGFS_FS)`. The pure declarations on the true side of the branch don't need a named variable but I included them for consistency. I can mention this in the commit message for v2 if desired. > > > > > > > Signed-off-by: Ryan Neph <[email protected]> > > > --- > > > drivers/gpu/drm/xe/xe_configfs.h | 10 ++++++---- > > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/xe/xe_configfs.h > > > b/drivers/gpu/drm/xe/xe_configfs.h > > > index > > > fed57be0b90e146d57d966bab0e55e1723513997..a0d614b37efd54b89390f04a238aef1a8d4df4e2 > > > 100644 > > > --- a/drivers/gpu/drm/xe/xe_configfs.h > > > +++ b/drivers/gpu/drm/xe/xe_configfs.h > > > @@ -21,9 +21,9 @@ bool xe_configfs_primary_gt_allowed(struct pci_dev > > > *pdev); > > > bool xe_configfs_media_gt_allowed(struct pci_dev *pdev); > > > u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev); > > > bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev); > > > -u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev *pdev, enum > > > xe_engine_class, > > > +u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev *pdev, enum > > > xe_engine_class class, > > > const u32 **cs); > > > -u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev, enum > > > xe_engine_class, > > > +u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev, enum > > > xe_engine_class class, > > > const u32 **cs); > > > #ifdef CONFIG_PCI_IOV > > > unsigned int xe_configfs_get_max_vfs(struct pci_dev *pdev); > > > @@ -37,9 +37,11 @@ static inline bool > > > xe_configfs_primary_gt_allowed(struct pci_dev *pdev) { return > > > static inline bool xe_configfs_media_gt_allowed(struct pci_dev *pdev) { > > > return true; } > > > static inline u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev) > > > { return U64_MAX; } > > > static inline bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev) { > > > return false; } > > > -static inline u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev > > > *pdev, enum xe_engine_class, > > > +static inline u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev > > > *pdev, > > > + enum xe_engine_class class, > > > const u32 **cs) { return > > > 0; } > > > -static inline u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev > > > *pdev, enum xe_engine_class, > > > +static inline u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev > > > *pdev, > > > + enum xe_engine_class > > > class, > > > const u32 **cs) { return > > > 0; } > > > static inline unsigned int xe_configfs_get_max_vfs(struct pci_dev *pdev) > > > { return UINT_MAX; } > > > #endif > > > > >
