On Mon, 01 Feb 2021, Arnd Bergmann wrote: > On Thu, Jan 28, 2021 at 7:32 PM Lee Jones <lee.jones@xxxxxxxxxx> wrote: > > > > On Thu, 28 Jan 2021, Christoph Hellwig wrote: > > > > > On Thu, Jan 28, 2021 at 06:02:20PM +0000, Lee Jones wrote: > > > > Some ATA drivers use the SCSI host template, a series of interwoven > > > > macros, to aid with initialisation. Some of these macros conflict, > > > > resulting in the over-writing of previously set values. > > > > > > Please just disable this warning globally. This is a sensible > > > patter and we should not sprinkle per-file options for something > > > that fundamental. > > > > Will do. Just as soon as I've figured out how. :) > > I have a local patch series doing it like this Can I leave this in your capable hands then? I'll drop all my fixes for this if it can be replaced with just one. > diff --git a/include/linux/libata.h b/include/linux/libata.h > index 5f550eb27f81..4e4cc14a289e 100644 > --- a/include/linux/libata.h > +++ b/include/linux/libata.h > @@ -1390,6 +1390,8 @@ extern struct device_attribute *ata_common_sdev_attrs[]; > * edge driver's module reference, otherwise the driver can be unloaded > * even if the scsi_device is being accessed. > */ > +__diag_ignore(GCC, 8, "-Woverride-init", "intentional override") > +__diag_ignore(CLANG, 9, "-Winitializer-overrides", "intentional override") > #define __ATA_BASE_SHT(drv_name) \ > .module = THIS_MODULE, \ > .name = drv_name, \ > > I think this also requires a preparation patch to extend __diag_ignore to > additional compiler versions, not sure if that was already merged. > > Arnd -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog