Thread (26 messages) 26 messages, 3 authors, 2021-02-01

Re: [PATCH 01/20] ata: ahci_dm816: Ignore -Woverride-init

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-02-01 11:07:54
Also in: lkml
Subsystem: libata subsystem (serial and parallel ata drivers), the rest · Maintainers: Damien Le Moal, Niklas Cassel, Linus Torvalds

On Thu, Jan 28, 2021 at 7:32 PM Lee Jones [off-list ref] wrote:
On Thu, 28 Jan 2021, Christoph Hellwig wrote:
quoted
On Thu, Jan 28, 2021 at 06:02:20PM +0000, Lee Jones wrote:
quoted
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
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help