Re: [PATCH] Bluetooth: include file and function names in logs

From: Marcel Holtmann
Date: Wed Mar 11 2020 - 10:33:03 EST


Hi Manish,

> Include file and function names in bluetooth kernel logs to
> help debugging.
>
> Signed-off-by: Joseph Hwang <josephsih@xxxxxxxxxxxx>
> Signed-off-by: Manish Mandlik <mmandlik@xxxxxxxxxx>
> ---
>
> include/net/bluetooth/bluetooth.h | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h
> index 1576353a27732..2024d9c53d687 100644
> --- a/include/net/bluetooth/bluetooth.h
> +++ b/include/net/bluetooth/bluetooth.h
> @@ -150,10 +150,21 @@ void bt_warn_ratelimited(const char *fmt, ...);
> __printf(1, 2)
> void bt_err_ratelimited(const char *fmt, ...);
>
> -#define BT_INFO(fmt, ...) bt_info(fmt "\n", ##__VA_ARGS__)
> -#define BT_WARN(fmt, ...) bt_warn(fmt "\n", ##__VA_ARGS__)
> -#define BT_ERR(fmt, ...) bt_err(fmt "\n", ##__VA_ARGS__)
> -#define BT_DBG(fmt, ...) pr_debug(fmt "\n", ##__VA_ARGS__)
> +static inline const char *basename(const char *path)
> +{
> + const char *str = strrchr(path, '/');
> +
> + return str ? (str + 1) : path;
> +}
> +
> +#define BT_INFO(fmt, ...) bt_info("%s:%s() " fmt "\n", \
> + basename(__FILE__), __func__, ##__VA_ARGS__)
> +#define BT_WARN(fmt, ...) bt_warn("%s:%s() " fmt "\n", \
> + basename(__FILE__), __func__, ##__VA_ARGS__)
> +#define BT_ERR(fmt, ...) bt_err("%s:%s() " fmt "\n", \
> + basename(__FILE__), __func__, ##__VA_ARGS__)
> +#define BT_DBG(fmt, ...) pr_debug("%s:%s() " fmt "\n", \
> + basename(__FILE__), __func__, ##__VA_ARGS__)
>
> #define bt_dev_info(hdev, fmt, ...) \
> BT_INFO("%s: " fmt, (hdev)->name, ##__VA_ARGS__)

this is NAK from my side. We donât want to include __FILE__ and __func__ names in the standard messages. I am however working in revamping the whole printk and debug of the Bluetooth subsystem. I will send around the initial pieces of my work as a RFC soon.

Regards

Marcel