Commit 23d8e63a authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab

[media] dvb_usb_v2: use Kernel logging (pr_debug/pr_err/pr_info)

Use Kernel logging insteads of own macros.
Get rid of old debugs and use dynamic debug.
Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent cce99cf9
......@@ -20,46 +20,8 @@
#include "dvb_demux.h"
#include "dvb_net.h"
#include "dmxdev.h"
#include "dvb-pll.h"
#include "dvb-usb-ids.h"
/* debug */
#ifdef CONFIG_DVB_USB_DEBUG
#define dprintk(var, level, args...) \
do { if ((var & level)) { printk(args); } } while (0)
#define debug_dump(b, l, func) {\
int loop_; \
for (loop_ = 0; loop_ < l; loop_++) \
func("%02x ", b[loop_]); \
func("\n");\
}
#define DVB_USB_DEBUG_STATUS
#else
#define dprintk(args...)
#define debug_dump(b, l, func)
#define DVB_USB_DEBUG_STATUS " (debugging is not enabled)"
#endif
/* generic log methods - taken from usb.h */
#ifndef DVB_USB_LOG_PREFIX
#define DVB_USB_LOG_PREFIX "dvb-usb (please define a log prefix)"
#endif
#undef err
#define err(format, arg...) \
printk(KERN_ERR DVB_USB_LOG_PREFIX ": " format "\n" , ## arg)
#undef info
#define info(format, arg...) \
printk(KERN_INFO DVB_USB_LOG_PREFIX ": " format "\n" , ## arg)
#undef warn
#define warn(format, arg...) \
printk(KERN_WARNING DVB_USB_LOG_PREFIX ": " format "\n" , ## arg)
struct dvb_usb_driver_info {
const char *name;
const char *rc_map;
......
......@@ -9,15 +9,10 @@
#ifndef DVB_USB_COMMON_H
#define DVB_USB_COMMON_H
#define DVB_USB_LOG_PREFIX "dvb_usb"
#include "dvb_usb.h"
extern int dvb_usb_debug;
extern int dvb_usb_disable_rc_polling;
#define deb_xfer(args...) dprintk(dvb_usb_debug, 0x002, args)
#define deb_uxfer(args...) dprintk(dvb_usb_debug, 0x100, args)
/* commonly used methods */
extern int dvb_usb_device_power_ctrl(struct dvb_usb_device *d, int onoff);
......
......@@ -83,7 +83,8 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
if (adap->props.streaming_ctrl != NULL) {
ret = adap->props.streaming_ctrl(adap, 0);
if (ret < 0) {
err("error while stopping stream.");
pr_err("%s: error while stopping stream",
KBUILD_MODNAME);
return ret;
}
}
......@@ -150,7 +151,8 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
ret = adap->props.pid_filter_ctrl(adap,
adap->pid_filtering);
if (ret < 0) {
err("could not handle pid_parser");
pr_err("%s: could not handle pid_parser",
KBUILD_MODNAME);
return ret;
}
}
......@@ -158,7 +160,8 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
if (adap->props.streaming_ctrl != NULL) {
ret = adap->props.streaming_ctrl(adap, 1);
if (ret < 0) {
err("error while enabling fifo.");
pr_err("%s: error while enabling fifo",
KBUILD_MODNAME);
return ret;
}
}
......@@ -172,14 +175,14 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
static int dvb_usb_start_feed(struct dvb_demux_feed *dvbdmxfeed)
{
pr_debug("%s: start pid %04x feedtype %d", __func__, dvbdmxfeed->pid,
pr_debug("%s: start pid=%04x feedtype=%d\n", __func__, dvbdmxfeed->pid,
dvbdmxfeed->type);
return dvb_usb_ctrl_feed(dvbdmxfeed, 1);
}
static int dvb_usb_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
{
pr_debug("%s: stop pid %04x feedtype %d", __func__, dvbdmxfeed->pid,
pr_debug("%s: stop pid=%04x feedtype=%d\n", __func__, dvbdmxfeed->pid,
dvbdmxfeed->type);
return dvb_usb_ctrl_feed(dvbdmxfeed, 0);
}
......@@ -200,9 +203,11 @@ int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap)
if (adap->dev->props.read_mac_address) {
if (adap->dev->props.read_mac_address(adap->dev,
adap->dvb_adap.proposed_mac) == 0)
info("MAC address: %pM", adap->dvb_adap.proposed_mac);
pr_info("%s: MAC address: %pM", KBUILD_MODNAME,
adap->dvb_adap.proposed_mac);
else
err("MAC address reading failed.");
pr_err("%s: MAC address reading failed",
KBUILD_MODNAME);
}
......@@ -218,7 +223,7 @@ int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap)
adap->demux.write_to_decoder = NULL;
ret = dvb_dmx_init(&adap->demux);
if (ret < 0) {
err("dvb_dmx_init failed: error %d", ret);
pr_err("%s: dvb_dmx_init() failed=%d", KBUILD_MODNAME, ret);
goto err_dmx;
}
......@@ -227,13 +232,13 @@ int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap)
adap->dmxdev.capabilities = 0;
ret = dvb_dmxdev_init(&adap->dmxdev, &adap->dvb_adap);
if (ret < 0) {
err("dvb_dmxdev_init failed: error %d", ret);
pr_err("%s: dvb_dmxdev_init failed=%d", KBUILD_MODNAME, ret);
goto err_dmx_dev;
}
ret = dvb_net_init(&adap->dvb_adap, &adap->dvb_net, &adap->demux.dmx);
if (ret < 0) {
err("dvb_net_init failed: error %d", ret);
pr_err("%s: dvb_net_init failed=%d", KBUILD_MODNAME, ret);
goto err_net_init;
}
......
......@@ -23,7 +23,7 @@ int dvb_usb_i2c_init(struct dvb_usb_device *d)
ret = i2c_add_adapter(&d->i2c_adap);
if (ret < 0)
err("could not add i2c adapter");
pr_err("%s: could not add i2c adapter", KBUILD_MODNAME);
d->state |= DVB_USB_STATE_I2C;
......
......@@ -13,13 +13,6 @@
*/
#include "dvb_usb_common.h"
/* debug */
int dvb_usb_debug;
module_param_named(debug, dvb_usb_debug, int, 0644);
MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2,pll=4,ts=8"\
",err=16,rc=32,fw=64,mem=128,uxfer=256 (or-able))."
DVB_USB_DEBUG_STATUS);
int dvb_usb_disable_rc_polling;
module_param_named(disable_rc_polling, dvb_usb_disable_rc_polling, int, 0644);
MODULE_PARM_DESC(disable_rc_polling,
......@@ -52,13 +45,15 @@ int dvb_usb_download_firmware(struct dvb_usb_device *d)
ret = request_firmware(&fw, name, &d->udev->dev);
if (ret < 0) {
err("did not find the firmware file. (%s) " \
"Please see linux/Documentation/dvb/ for more" \
" details on firmware-problems. (%d)", name, ret);
pr_err("%s: did not find the firmware file. (%s) " \
"Please see linux/Documentation/dvb/ for " \
"more details on firmware-problems. (%d)",
KBUILD_MODNAME, name, ret);
goto err;
}
info("downloading firmware from file '%s'", name);
pr_info("%s: downloading firmware from file '%s'", KBUILD_MODNAME,
name);
ret = d->props.download_firmware(d, fw);
......@@ -99,28 +94,31 @@ static int dvb_usb_adapter_init(struct dvb_usb_device *d)
/* speed - when running at FULL speed we need a HW PID filter */
if (d->udev->speed == USB_SPEED_FULL &&
!(adap->props.caps & DVB_USB_ADAP_HAS_PID_FILTER)) {
err("This USB2.0 device cannot be run on a" \
" USB1.1 port. (it lacks a" \
" hardware PID filter)");
pr_err("%s: this USB2.0 device cannot be run on a " \
"USB1.1 port (it lacks a hardware " \
"PID filter)", KBUILD_MODNAME);
return -ENODEV;
} else if ((d->udev->speed == USB_SPEED_FULL &&
adap->props.caps & DVB_USB_ADAP_HAS_PID_FILTER) ||
(adap->props.caps & DVB_USB_ADAP_NEED_PID_FILTERING)) {
info("will use the device's hardware PID" \
" filter (table count: %d).",
adap->props.pid_filter_count);
pr_info("%s: will use the device's hardware PID " \
"filter (table count: %d)",
KBUILD_MODNAME,
adap->props.pid_filter_count);
adap->pid_filtering = 1;
adap->max_feed_count = adap->props.pid_filter_count;
} else {
info("will pass the complete MPEG2 transport" \
" stream to the software demuxer.");
pr_info("%s: will pass the complete MPEG2 transport " \
"stream to the software demuxer",
KBUILD_MODNAME);
adap->pid_filtering = 0;
adap->max_feed_count = 255;
}
if (!adap->pid_filtering && dvb_usb_force_pid_filter_usage &&
adap->props.caps & DVB_USB_ADAP_HAS_PID_FILTER) {
info("pid filter enabled by module option.");
pr_info("%s: pid filter enabled by module option",
KBUILD_MODNAME);
adap->pid_filtering = 1;
adap->max_feed_count = adap->props.pid_filter_count;
}
......@@ -210,7 +208,8 @@ static int dvb_usb_init(struct dvb_usb_device *d)
ret = dvb_usb_remote_init(d);
if (ret)
err("could not initialize remote control.");
pr_err("%s: could not initialize remote control\n",
KBUILD_MODNAME);
dvb_usb_device_power_ctrl(d, 0);
......
......@@ -31,7 +31,8 @@ static void dvb_usb_read_remote_control(struct work_struct *work)
ret = d->rc.query(d);
if (ret < 0)
err("error %d while querying for an remote control event", ret);
pr_err("%s: error %d while querying for an remote control " \
"event", KBUILD_MODNAME, ret);
schedule_delayed_work(&d->rc_query_work,
msecs_to_jiffies(d->rc.interval));
......@@ -89,9 +90,8 @@ int dvb_usb_remote_init(struct dvb_usb_device *d)
/* initialize a work queue for handling polling */
INIT_DELAYED_WORK(&d->rc_query_work,
dvb_usb_read_remote_control);
info("schedule remote query interval to %d msecs",
d->rc.interval);
pr_info("%s: schedule remote query interval to %d msecs",
KBUILD_MODNAME, d->rc.interval);
schedule_delayed_work(&d->rc_query_work,
msecs_to_jiffies(d->rc.interval));
}
......
......@@ -17,7 +17,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
return -EINVAL;
if (d->props.generic_bulk_ctrl_endpoint == 0) {
err("endpoint for generic control not specified.");
pr_err("%s: endpoint for generic control not specified",
KBUILD_MODNAME);
return -EINVAL;
}
......@@ -25,15 +26,16 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
if (ret)
return ret;
deb_xfer(">>> ");
debug_dump(wbuf, wlen, deb_xfer);
print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": >>> ", DUMP_PREFIX_NONE,
32, 1, wbuf, wlen, 0);
ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
d->props.generic_bulk_ctrl_endpoint), wbuf, wlen,
&actlen, 2000);
if (ret)
err("bulk message failed: %d (%d/%d)", ret, wlen, actlen);
pr_err("%s: bulk message failed: %d (%d/%d)", KBUILD_MODNAME,
ret, wlen, actlen);
else
ret = actlen != wlen ? -1 : 0;
......@@ -49,11 +51,11 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
rbuf, rlen, &actlen, 2000);
if (ret)
err("recv bulk message failed: %d", ret);
else {
deb_xfer("<<< ");
debug_dump(rbuf, actlen, deb_xfer);
}
pr_err("%s: recv bulk message failed: %d",
KBUILD_MODNAME, ret);
else
print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": <<< ",
DUMP_PREFIX_NONE, 32, 1, wbuf, wlen, 0);
}
mutex_unlock(&d->usb_mutex);
......
......@@ -22,11 +22,12 @@ static void usb_urb_complete(struct urb *urb)
int i;
u8 *b;
deb_uxfer("'%s' urb completed. status: %d, length: %d/%d," \
" pack_num: %d, errors: %d\n",
ptype == PIPE_ISOCHRONOUS ? "isoc" : "bulk",
urb->status, urb->actual_length, urb->transfer_buffer_length,
urb->number_of_packets, urb->error_count);
pr_debug("%s: %s urb completed status=%d length=%d/%d" \
" pack_num=%d errors=%d\n", __func__,
ptype == PIPE_ISOCHRONOUS ? "isoc" : "bulk",
urb->status, urb->actual_length,
urb->transfer_buffer_length,
urb->number_of_packets, urb->error_count);
switch (urb->status) {
case 0: /* success */
......@@ -47,8 +48,8 @@ static void usb_urb_complete(struct urb *urb)
case PIPE_ISOCHRONOUS:
for (i = 0; i < urb->number_of_packets; i++) {
if (urb->iso_frame_desc[i].status != 0)
pr_debug("%s: iso frame descriptor has an" \
" error=%d\n", __func__,
pr_debug("%s: iso frame descriptor has an " \
"error=%d\n", __func__,
urb->iso_frame_desc[i].status);
else if (urb->iso_frame_desc[i].actual_length > 0)
stream->complete(stream,
......@@ -58,14 +59,14 @@ static void usb_urb_complete(struct urb *urb)
urb->iso_frame_desc[i].status = 0;
urb->iso_frame_desc[i].actual_length = 0;
}
debug_dump(b, 20, deb_uxfer);
break;
case PIPE_BULK:
if (urb->actual_length > 0)
stream->complete(stream, b, urb->actual_length);
break;
default:
err("unknown endpoint type in completition handler.");
pr_err("%s: unknown endpoint type in completition handler",
KBUILD_MODNAME);
return;
}
usb_submit_urb(urb, GFP_ATOMIC);
......@@ -98,8 +99,8 @@ int usb_urb_submit(struct usb_data_stream *stream,
pr_debug("%s: submit URB=%d\n", __func__, i);
ret = usb_submit_urb(stream->urb_list[i], GFP_ATOMIC);
if (ret) {
err("could not submit URB no. %d - get them all back",
i);
pr_err("%s: could not submit URB no. %d - get them " \
"all back", KBUILD_MODNAME, i);
usb_urb_kill(stream);
return ret;
}
......@@ -263,12 +264,14 @@ int usb_urb_reconfig(struct usb_data_stream *stream,
} else if (props->type == USB_ISOC) {
buf_size = props->u.isoc.framesize * props->u.isoc.framesperurb;
} else {
err("invalid endpoint type=%d", props->type);
pr_err("%s: invalid endpoint type=%d", KBUILD_MODNAME,
props->type);
return -EINVAL;
}
if (stream->buf_num < props->count || stream->buf_size < buf_size) {
err("cannot reconfigure as allocated buffers are too small");
pr_err("%s: cannot reconfigure as allocated buffers are too " \
"small", KBUILD_MODNAME);
return -EINVAL;
}
......@@ -316,7 +319,8 @@ int usb_urb_init(struct usb_data_stream *stream,
stream->props.endpoint));
if (stream->complete == NULL) {
err("there is no data callback - this doesn't make sense.");
pr_err("%s: there is no data callback - this doesn't make " \
"sense", KBUILD_MODNAME);
return -EINVAL;
}
......@@ -337,7 +341,8 @@ int usb_urb_init(struct usb_data_stream *stream,
return usb_urb_alloc_isoc_urbs(stream);
default:
err("unknown URB-type for data transfer.");
pr_err("%s: unknown URB-type for data transfer",
KBUILD_MODNAME);
return -EINVAL;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment