Skip to content

Commit

Permalink
Bluetooth: Add logging functions bt_info and bt_err
Browse files Browse the repository at this point in the history
Use specific logging functions instead of a generic
bt_printk function can save some text.

Remove now unused bt_printk function.
Add compatibility BT_INFO and BT_ERR macros.

(compiled x86 and defconfig with bluetooth and all bluetooth drivers)

$ size net/bluetooth/built-in.o*
   text	   data	    bss	    dec	    hex	filename
 381662	  20072	 100416	 502150	  7a986	net/bluetooth/built-in.o.allyesconfig.new
 382463	  20072	 100400	 502935	  7ac97	net/bluetooth/built-in.o.allyesconfig.old
 126635	   1388	    132	 128155	  1f49b	net/bluetooth/built-in.o.defconfig.new
 127175	   1388	    132	 128695	  1f6b7	net/bluetooth/built-in.o.defconfig.old

$ size drivers/bluetooth/built-in.o*
 127575	   8976	  29476	 166027	  2888b	drivers/bluetooth/built-in.o.allyesconfig.new
 129512	   8976	  29516	 168004	  29044	drivers/bluetooth/built-in.o.allyesconfig.old
  52998	   3292	    156	  56446	   dc7e	drivers/bluetooth/built-in.o.defconfig.new
  54358	   3292	    156	  57806	   e1ce	drivers/bluetooth/built-in.o.defconfig.old

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
  • Loading branch information
Joe Perches authored and Johan Hedberg committed Feb 17, 2012
1 parent ed2c4ee commit 3ed7003
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 9 deletions.
14 changes: 8 additions & 6 deletions include/net/bluetooth/bluetooth.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,14 @@ struct bt_power {
*/
#define BT_CHANNEL_POLICY_AMP_PREFERRED 2

__printf(2, 3)
int bt_printk(const char *level, const char *fmt, ...);

#define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg)
#define BT_ERR(fmt, arg...) bt_printk(KERN_ERR, pr_fmt(fmt), ##arg)
#define BT_DBG(fmt, arg...) pr_debug(fmt "\n", ##arg)
__printf(1, 2)
int bt_info(const char *fmt, ...);
__printf(1, 2)
int bt_err(const char *fmt, ...);

#define BT_INFO(fmt, ...) bt_info(fmt "\n", ##__VA_ARGS__)
#define BT_ERR(fmt, ...) bt_err(fmt "\n", ##__VA_ARGS__)
#define BT_DBG(fmt, ...) pr_debug(fmt "\n", ##__VA_ARGS__)

/* Connection and socket states */
enum {
Expand Down
27 changes: 24 additions & 3 deletions net/bluetooth/lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@

/* Bluetooth kernel library. */

#define pr_fmt(fmt) "Bluetooth: " fmt

#include <linux/module.h>

#include <linux/kernel.h>
Expand Down Expand Up @@ -151,7 +153,26 @@ int bt_to_errno(__u16 code)
}
EXPORT_SYMBOL(bt_to_errno);

int bt_printk(const char *level, const char *format, ...)
int bt_info(const char *format, ...)
{
struct va_format vaf;
va_list args;
int r;

va_start(args, format);

vaf.fmt = format;
vaf.va = &args;

r = pr_info("%pV", &vaf);

va_end(args);

return r;
}
EXPORT_SYMBOL(bt_info);

int bt_err(const char *format, ...)
{
struct va_format vaf;
va_list args;
Expand All @@ -162,10 +183,10 @@ int bt_printk(const char *level, const char *format, ...)
vaf.fmt = format;
vaf.va = &args;

r = printk("%sBluetooth: %pV\n", level, &vaf);
r = pr_err("%pV", &vaf);

va_end(args);

return r;
}
EXPORT_SYMBOL(bt_printk);
EXPORT_SYMBOL(bt_err);

0 comments on commit 3ed7003

Please sign in to comment.