"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 <[email protected]>
---
 drivers/mmc/host/atmel-mci.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index c26fbe5f22221d95..ef2eb9e7c75a32a1 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -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)
-- 
2.17.1

Reply via email to