mmc: atmel-mci: Fix debugfs on 64-bit platforms
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 25 Oct 2019 09:41:27 +0000 (11:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 3 Nov 2019 17:11:12 +0000 (18:11 +0100)
"atmel_mci.pending_events" and "atmel_mci.completed_events" are
"unsigned long", i.e. 32-bit or 64-bit, depending on the platform.
Hence casting their addresses to "u32 *", and calling
debugfs_create_x32() breaks operation on 64-bit platforms.

Fix this by using the new debugfs_create_xul() helper instead.

Fixes: deec9ae31e607955 ("atmel-mci: debugfs support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20191025094130.26033-5-geert+renesas@glider.be
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/atmel-mci.c

index c26fbe5f22221d955bc4fadf1a06377359a06f95..ef2eb9e7c75a32a15059e200115ebae3d004412f 100644 (file)
@@ -584,10 +584,10 @@ static void atmci_init_debugfs(struct atmel_mci_slot *slot)
        debugfs_create_file("regs", S_IRUSR, root, host, &atmci_regs_fops);
        debugfs_create_file("req", S_IRUSR, root, slot, &atmci_req_fops);
        debugfs_create_u32("state", S_IRUSR, root, (u32 *)&host->state);
-       debugfs_create_x32("pending_events", S_IRUSR, root,
-                          (u32 *)&host->pending_events);
-       debugfs_create_x32("completed_events", S_IRUSR, root,
-                          (u32 *)&host->completed_events);
+       debugfs_create_xul("pending_events", S_IRUSR, root,
+                          &host->pending_events);
+       debugfs_create_xul("completed_events", S_IRUSR, root,
+                          &host->completed_events);
 }
 
 #if defined(CONFIG_OF)