ata: ahci_xgene: Fix compilation warning
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Fri, 14 Oct 2022 01:45:58 +0000 (10:45 +0900)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Mon, 17 Oct 2022 23:02:14 +0000 (08:02 +0900)
When compiling with clang and W=1, the following warning is generated:

drivers/ata/ahci_xgene.c:788:14: error: cast to smaller integer type
'enum xgene_ahci_version' from 'const void *'
[-Werror,-Wvoid-pointer-to-enum-cast]
       version = (enum xgene_ahci_version) of_devid->data;
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fix this by using a cast to unsigned long to match the "void *" type
size of of_devid->data.

Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
drivers/ata/ahci_xgene.c

index 7bb5db1..1e08704 100644 (file)
@@ -785,7 +785,7 @@ static int xgene_ahci_probe(struct platform_device *pdev)
        of_devid = of_match_device(xgene_ahci_of_match, dev);
        if (of_devid) {
                if (of_devid->data)
-                       version = (enum xgene_ahci_version) of_devid->data;
+                       version = (unsigned long) of_devid->data;
        }
 #ifdef CONFIG_ACPI
        else {