Re: [PATCH 1/7] debugfs: Add debugfs_create_xul() for hexadecimal unsigned long
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2019-10-21 14:45:54
Also in:
linux-mmc, linux-wireless, lkml, netdev
On Mon, Oct 21, 2019 at 04:37:36PM +0200, Geert Uytterhoeven wrote:
quoted hunk ↗ jump to hunk
The existing debugfs_create_ulong() function supports objects of type "unsigned long", which are 32-bit or 64-bit depending on the platform, in decimal form. To format objects in hexadecimal, various debugfs_create_x*() functions exist, but all of them take fixed-size types. Add a debugfs helper for "unsigned long" objects in hexadecimal format. This avoids the need for users to open-code the same, or introduce bugs when casting the value pointer to "u32 *" or "u64 *" to call debugfs_create_x{32,64}(). Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- include/linux/debugfs.h | 10 ++++++++++ 1 file changed, 10 insertions(+)diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h index 33690949b45d6904..d7b2aebcc277d65e 100644 --- a/include/linux/debugfs.h +++ b/include/linux/debugfs.h@@ -356,4 +356,14 @@ static inline ssize_t debugfs_write_file_bool(struct file *file, #endif +static inline void debugfs_create_xul(const char *name, umode_t mode, + struct dentry *parent, + unsigned long *value) +{ + if (sizeof(*value) == sizeof(u32)) + debugfs_create_x32(name, mode, parent, (u32 *)value); + else + debugfs_create_x64(name, mode, parent, (u64 *)value); +}
Looks sane, but can you add some kernel-doc comments here so that we can pull it into the debugfs documentation? Also there is debugfs documentation in Documentation/filesystems/ so maybe also add this there? I am going to be overhauling the debugfs documentation "soon" but it's at the lower part of my todo list, so it will take a while, might as well keep it up to date with new stuff added like this so that people don't get lost. thanks, greg k-h _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel