Message ID | 20200310095959.1.I864ded253b57454e732ab5acb1cae5b22c67cfae@changeid (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Marcel Holtmann |
Headers | show |
Series | Bluetooth: include file and function names in logs | expand |
Hi Manish, > Include file and function names in bluetooth kernel logs to > help debugging. > > Signed-off-by: Joseph Hwang <josephsih@chromium.org> > Signed-off-by: Manish Mandlik <mmandlik@google.com> > --- > > 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
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__)