RE: [PATCH 2/4] Bluetooth: btmrvl: add prints debug control support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel,

> From: Marcel Holtmann [mailto:marcel@xxxxxxxxxxxx]
> Sent: Thursday, October 15, 2015 4:32 AM
> To: Amitkumar Karwar
> Cc: linux-bluetooth@xxxxxxxxxxxxxxx; Cathy Luo; Zhaoyang Liu
> Subject: Re: [PATCH 2/4] Bluetooth: btmrvl: add prints debug control
> support
> 
> Hi Amitkumar,
> 
> > This patch adds support for debugging print control in marvell
> > bluetooth driver. The debug level can be controlled by setting module
> > loading parameter debug_mask.
> >
> > Example:
> > insmod btmrvl.ko debug_mask=0x37
> >
> > Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx>
> > Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx>
> > Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx>
> > ---
> > drivers/bluetooth/btmrvl_drv.h  | 35
> > ++++++++++++++++++++++++++++++++++-
> > drivers/bluetooth/btmrvl_main.c | 18 ++++++++++++++++++
> > 2 files changed, 52 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/bluetooth/btmrvl_drv.h
> > b/drivers/bluetooth/btmrvl_drv.h index 27a9aac..1119d09 100644
> > --- a/drivers/bluetooth/btmrvl_drv.h
> > +++ b/drivers/bluetooth/btmrvl_drv.h
> > @@ -79,6 +79,7 @@ struct btmrvl_device { struct btmrvl_adapter {
> > 	void *hw_regs_buf;
> > 	u8 *hw_regs;
> > +	unsigned int debug_mask;
> > 	u32 int_count;
> > 	struct sk_buff_head tx_queue;
> > 	u8 psmode;
> > @@ -155,8 +156,40 @@ struct btmrvl_event {
> > 	u8 data[4];
> > } __packed;
> >
> > -/* Prototype of global function */
> > +/* marvell bluetooth driver debug level */ enum BTMRVL_DEBUG_LEVEL {
> > +	BTMRVL_DBG_MSG		= 0x00000001,
> > +	BTMRVL_DBG_FATAL	= 0x00000002,
> > +	BTMRVL_DBG_ERROR	= 0x00000004,
> > +	BTMRVL_DBG_DATA		= 0x00000008,
> > +	BTMRVL_DBG_CMD		= 0x00000010,
> > +	BTMRVL_DBG_EVENT	= 0x00000020,
> > +	BTMRVL_DBG_INTR		= 0x00000040,
> > +
> > +	BTMRVL_DBG_DAT_D	= 0x00010000,
> > +	BTMRVL_DBG_CMD_D	= 0x00020000,
> > +
> > +	BTMRVL_DBG_ENTRY	= 0x10000000,
> > +	BTMRVL_DBG_WARN		= 0x20000000,
> > +	BTMRVL_DBG_INFO		= 0x40000000,
> > +
> > +	BTMRVL_DBG_ANY		= 0xffffffff
> > +};
> >
> > +#define BTMRVL_DBG_DEFAULT_MASK		(BTMRVL_DBG_MSG | \
> > +					 BTMRVL_DBG_FATAL | \
> > +					 BTMRVL_DBG_ERROR)
> > +
> > +int btmrvl_log_allowed(struct btmrvl_adapter *adapter,
> > +		       enum BTMRVL_DEBUG_LEVEL level);
> > +
> > +#define btmrvl_dbg(adapter, dbg_mask, fmt, args...)		\
> > +do {								\
> > +	if (btmrvl_log_allowed(adapter, BTMRVL_DBG_##dbg_mask))	\
> > +		pr_info("btmrvl: " fmt "\n", ##args);		\
> > +} while (0)
> > +
> > +/* Prototype of global function */
> > int btmrvl_register_hdev(struct btmrvl_private *priv); struct
> > btmrvl_private *btmrvl_add_card(void *card); int
> > btmrvl_remove_card(struct btmrvl_private *priv); diff --git
> > a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c
> > index 61d2f39..8e53609 100644
> > --- a/drivers/bluetooth/btmrvl_main.c
> > +++ b/drivers/bluetooth/btmrvl_main.c
> > @@ -29,6 +29,23 @@
> >
> > #define VERSION "1.0"
> >
> > +static unsigned int debug_mask = BTMRVL_DBG_DEFAULT_MASK;
> > +module_param(debug_mask, uint, 0); MODULE_PARM_DESC(debug_mask,
> > +"bitmap for debug flags");
> 
> I see no reason for this being a module parameter. I think you really
> want to have that via debugfs for reach adapter.
> 

Agreed. I will remove this.

Regards,
Amitkumar
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux