Commit 0c40c1be authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Greg Kroah-Hartman

mmc: dw_mmc: Fix debugfs on 64-bit platforms

"dw_mci.pending_events" and "dw_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: f95f3850 ("mmc: dw_mmc: Add Synopsys DesignWare mmc host driver.")
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20191025094130.26033-7-geert+renesas@glider.beSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f1dfe70b
...@@ -177,10 +177,10 @@ static void dw_mci_init_debugfs(struct dw_mci_slot *slot) ...@@ -177,10 +177,10 @@ static void dw_mci_init_debugfs(struct dw_mci_slot *slot)
debugfs_create_file("regs", S_IRUSR, root, host, &dw_mci_regs_fops); debugfs_create_file("regs", S_IRUSR, root, host, &dw_mci_regs_fops);
debugfs_create_file("req", S_IRUSR, root, slot, &dw_mci_req_fops); debugfs_create_file("req", S_IRUSR, root, slot, &dw_mci_req_fops);
debugfs_create_u32("state", S_IRUSR, root, (u32 *)&host->state); debugfs_create_u32("state", S_IRUSR, root, (u32 *)&host->state);
debugfs_create_x32("pending_events", S_IRUSR, root, debugfs_create_xul("pending_events", S_IRUSR, root,
(u32 *)&host->pending_events); &host->pending_events);
debugfs_create_x32("completed_events", S_IRUSR, root, debugfs_create_xul("completed_events", S_IRUSR, root,
(u32 *)&host->completed_events); &host->completed_events);
} }
#endif /* defined(CONFIG_DEBUG_FS) */ #endif /* defined(CONFIG_DEBUG_FS) */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment