Do some printk cleanups to avoid troubles with continuation lines
Subsystems (8)
cover Do some printk cleanups to avoid troubles with continuation lines
This commit:
commit 563873318d328d9bbab4b00dfd835ac7c7e28697 Merge: 24532f768121 bfd8d3f23b51 Author: Linus Torvalds <[email protected]> Date:���Mon Oct 10 09:29:50 2016 -0700 Merge branch 'printk-cleanups'
Affects dmesg prints like:
printk(KERN_INFO "foo");
printk(" bar\n);Won't be doing the same output, as the Kernel won't understand the second printk as a continuation.
That's said, some media drivers use some very old driver-specific way of outputting messages, that came before pr_foo() and dev_foo() started being used at the subsystem.
This patch series start fixing those issues. I have another series of ~30-40 patches already, but they require more work, as they use dev_foo(), with could potentially cause some regression, and touch on a lot of drivers.
They also depend on a big patch that merges big printk lines, that I also want to split into smaller ones.
So, let me flush a series of cases that handle simpler cases.
Mauro Carvalho Chehab (25):
[media] tuner-xc2028: mark printk continuation lines as such [media] tuner-xc2028: don't break long lines
[media] em28xx: don't break long lines
[media] em28xx: mark printk continuation lines as such [media] em28xx: use pr_foo instead of em28xx-specific printk macros [media] em28xx: convert the remaining printks to pr_foo [media] dvb-core: don't break long lines
[media] tuner-core: don't break long lines
[media] tuner-core: use %&ph for small buffer dumps [media] radio-bcm2048: don't ignore errors
[media] dvb-core: use pr_foo() instead of printk() [media] dvb_demux: convert an internal ifdef into a Kconfig option [media] dvb_demux: uncomment a packet loss check code [media] dvb-core: get rid of demux optional circular buffer [media] dvb-core: move dvb_filter out of the DVB core [media] dvb_filter: get rid of dead code
[media] dvb_filter: use KERN_CONT where needed
[media] uvc_driver: use KERN_CONT where needed
[media] imon: use %*ph to do small hexa dumps
[media] mt20xx: use %*ph to do small hexa dumps
[media] tvaudio: mark printk continuation lines as such [media] flexcop-i2c: mark printk continuation lines as such [media] cx2341x: mark printk continuation lines as such [media] dvb-pll: use pr_foo() macros instead of printk() [media] nxt6000: use pr_foo() macros instead of printk()
drivers/media/common/b2c2/flexcop-common.h | 1 -
drivers/media/common/b2c2/flexcop-i2c.c | 10 +-
drivers/media/common/cx2341x.c | 12 +-
drivers/media/dvb-core/Kconfig | 13 +
drivers/media/dvb-core/Makefile | 2 +-
drivers/media/dvb-core/demux.h | 5 +-
drivers/media/dvb-core/dmxdev.c | 28 +-
drivers/media/dvb-core/dvb_ca_en50221.c | 57 +-
drivers/media/dvb-core/dvb_demux.c | 115 ++--
drivers/media/dvb-core/dvb_demux.h | 2 -
drivers/media/dvb-core/dvb_filter.c | 603 ---------------------
drivers/media/dvb-core/dvb_frontend.c | 12 +-
drivers/media/dvb-core/dvb_net.c | 85 +--
drivers/media/dvb-core/dvbdev.c | 25 +-
drivers/media/dvb-frontends/dvb-pll.c | 19 +-
drivers/media/dvb-frontends/nxt6000.c | 136 +++--
drivers/media/i2c/tvaudio.c | 5 +-
drivers/media/pci/ttpci/Makefile | 2 +-
drivers/media/pci/ttpci/dvb_filter.c | 114 ++++
drivers/media/{dvb-core => pci/ttpci}/dvb_filter.h | 0
drivers/media/rc/imon.c | 7 +-
drivers/media/tuners/mt20xx.c | 21 +-
drivers/media/tuners/tuner-xc2028.c | 116 ++--
drivers/media/usb/em28xx/em28xx-audio.c | 45 +-
drivers/media/usb/em28xx/em28xx-camera.c | 53 +-
drivers/media/usb/em28xx/em28xx-cards.c | 153 +++---
drivers/media/usb/em28xx/em28xx-core.c | 105 ++--
drivers/media/usb/em28xx/em28xx-dvb.c | 73 ++-
drivers/media/usb/em28xx/em28xx-i2c.c | 183 +++----
drivers/media/usb/em28xx/em28xx-input.c | 29 +-
drivers/media/usb/em28xx/em28xx-vbi.c | 7 +-
drivers/media/usb/em28xx/em28xx-video.c | 105 ++--
drivers/media/usb/em28xx/em28xx.h | 18 +-
drivers/media/usb/ttusb-dec/ttusb_dec.c | 58 +-
drivers/media/usb/uvc/uvc_driver.c | 30 +-
drivers/media/v4l2-core/tuner-core.c | 15 +-
drivers/staging/media/bcm2048/radio-bcm2048.c | 2 +
37 files changed, 896 insertions(+), 1370 deletions(-)
delete mode 100644 drivers/media/dvb-core/dvb_filter.c
create mode 100644 drivers/media/pci/ttpci/dvb_filter.c
rename drivers/media/{dvb-core => pci/ttpci}/dvb_filter.h (100%)Signature · 1 line
2.7.4
PATCH 1/25 tuner-xc2028: mark printk continuation lines as such
This driver has a lot of printk continuation lines for debugging purposes. Since commit 563873318d32 ("Merge branch 'printk-cleanups"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
--- drivers/media/tuners/tuner-xc2028.c | 93 +++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 45 deletions(-)
drivers/media/tuners/tuner-xc2028.c +48 -45
@@ -179,67 +179,67 @@ static int xc2028_get_reg(struct xc2028_data *priv, u16 reg, u16 *val)static void dump_firm_type_and_int_freq (unsigned int type,u16 int_freq) {if (type &BASE ) -printk ("BASE " ); +printk (KERN_CONT "BASE " );if (type &INIT1 ) -printk ("INIT1 " ); +printk (KERN_CONT "INIT1 " );if (type &F8MHZ ) -printk ("F8MHZ " ); +printk (KERN_CONT "F8MHZ " );if (type &MTS ) -printk ("MTS " ); +printk (KERN_CONT "MTS " );if (type &D2620 ) -printk ("D2620 " ); +printk (KERN_CONT "D2620 " );if (type &D2633 ) -printk ("D2633 " ); +printk (KERN_CONT "D2633 " );if (type &DTV6 ) -printk ("DTV6 " ); +printk (KERN_CONT "DTV6 " );if (type &QAM ) -printk ("QAM " ); +printk (KERN_CONT "QAM " );if (type &DTV7 ) -printk ("DTV7 " ); +printk (KERN_CONT "DTV7 " );if (type &DTV78 ) -printk ("DTV78 " ); +printk (KERN_CONT "DTV78 " );if (type &DTV8 ) -printk ("DTV8 " ); +printk (KERN_CONT "DTV8 " );if (type &FM ) -printk ("FM " ); +printk (KERN_CONT "FM " );if (type &INPUT1 ) -printk ("INPUT1 " ); +printk (KERN_CONT "INPUT1 " );if (type &LCD ) -printk ("LCD " ); +printk (KERN_CONT "LCD " );if (type &NOGD ) -printk ("NOGD " ); +printk (KERN_CONT "NOGD " );if (type &MONO ) -printk ("MONO " ); +printk (KERN_CONT "MONO " );if (type &ATSC ) -printk ("ATSC " ); +printk (KERN_CONT "ATSC " );if (type &IF ) -printk ("IF " ); +printk (KERN_CONT "IF " );if (type &LG60 ) -printk ("LG60 " ); +printk (KERN_CONT "LG60 " );if (type &ATI638 ) -printk ("ATI638 " ); +printk (KERN_CONT "ATI638 " );if (type &OREN538 ) -printk ("OREN538 " ); +printk (KERN_CONT "OREN538 " );if (type &OREN36 ) -printk ("OREN36 " ); +printk (KERN_CONT "OREN36 " );if (type &TOYOTA388 ) -printk ("TOYOTA388 " ); +printk (KERN_CONT "TOYOTA388 " );if (type &TOYOTA794 ) -printk ("TOYOTA794 " ); +printk (KERN_CONT "TOYOTA794 " );if (type &DIBCOM52 ) -printk ("DIBCOM52 " ); +printk (KERN_CONT "DIBCOM52 " );if (type &ZARLINK456 ) -printk ("ZARLINK456 " ); +printk (KERN_CONT "ZARLINK456 " );if (type &CHINA ) -printk ("CHINA " ); +printk (KERN_CONT "CHINA " );if (type &F6MHZ ) -printk ("F6MHZ " ); +printk (KERN_CONT "F6MHZ " );if (type &INPUT2 ) -printk ("INPUT2 " ); +printk (KERN_CONT "INPUT2 " );if (type &SCODE ) -printk ("SCODE " ); +printk (KERN_CONT "SCODE " );if (type &HAS_IF ) -printk ("HAS_IF_%d " , int_freq); +printk (KERN_CONT "HAS_IF_%d " , int_freq); }static v4l2_std_id parse_audio_std_option (void )
@@ -374,8 +374,8 @@ static int load_all_firmwares(struct dvb_frontend *fe,if (!size || size > endp - p) {tuner_err ("Firmware type " );dump_firm_type (type); -printk ("(%x), id %llx is corrupted " -"(size=%d, expected %d)\n" , +printk (KERN_CONT +"(%x), id %llx is corrupted (size=%d, expected %d)\n" , type, (unsigned long long )id, (unsigned )(endp - p), size); goto corrupt;
@@ -390,7 +390,7 @@ static int load_all_firmwares(struct dvb_frontend *fe,tuner_dbg ("Reading firmware type " );if (debug) {dump_firm_type_and_int_freq (type, int_freq); -printk ("(%x), id %llx, size=%d.\n" , +printk (KERN_CONT "(%x), id %llx, size=%d.\n" , type, (unsigned long long )id, size); }
@@ -439,7 +439,8 @@ static int seek_firmware(struct dvb_frontend *fe, unsigned int type,tuner_dbg ("%s called, want type=" , __func__);if (debug) {dump_firm_type (type); -printk ("(%x), id %016llx.\n" , type, (unsigned long long )*id); +printk (KERN_CONT "(%x), id %016llx.\n" , + type, (unsigned long long )*id); }if (!priv->firm) {
@@ -498,7 +499,8 @@ static int seek_firmware(struct dvb_frontend *fe, unsigned int type,tuner_dbg ("Selecting best matching firmware (%d bits) for " "type=" , best_nr_matches);dump_firm_type (type); -printk ("(%x), id %016llx:\n" , type, (unsigned long long )*id); +printk (KERN_CONT +"(%x), id %016llx:\n" , type, (unsigned long long )*id); i = best_i; goto found; }
@@ -515,7 +517,8 @@ static int seek_firmware(struct dvb_frontend *fe, unsigned int type,tuner_dbg ("%s firmware for type=" , (i <0 ) ?"Can't find" :"Found" );if (debug) {dump_firm_type (type); -printk ("(%x), id %016llx.\n" , type, (unsigned long long )*id); +printk (KERN_CONT "(%x), id %016llx.\n" , + type, (unsigned long long )*id); }return i; }
@@ -555,8 +558,8 @@ static int load_firmware(struct dvb_frontend *fe, unsigned int type,tuner_info ("Loading firmware for type=" );dump_firm_type (priv->firm[pos].type); -printk ("(%x), id %016llx.\n" , priv->firm[pos].type, - (unsigned long long )*id); +printk (KERN_CONT "(%x), id %016llx.\n" , + priv->firm[pos].type, (unsigned long long )*id); p = priv->firm[pos].ptr; endp = p + priv->firm[pos].size;
@@ -689,7 +692,7 @@ static int load_scode(struct dvb_frontend *fe, unsigned int type,tuner_info ("Loading SCODE for type=" );dump_firm_type_and_int_freq (priv->firm[pos].type, priv->firm[pos].int_freq); -printk ("(%x), id %016llx.\n" , priv->firm[pos].type, +printk (KERN_CONT "(%x), id %016llx.\n" , priv->firm[pos].type, (unsigned long long )*id);if (priv->firm_version <0x0202 )
@@ -741,15 +744,15 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type,tuner_dbg ("checking firmware, user requested type=" );if (debug) {dump_firm_type (new_fw.type); -printk ("(%x), id %016llx, " , new_fw.type, +printk (KERN_CONT "(%x), id %016llx, " , new_fw.type, (unsigned long long )new_fw.std_req);if (!int_freq) { -printk ("scode_tbl " ); +printk (KERN_CONT "scode_tbl " );dump_firm_type (priv->ctrl.scode_table); -printk ("(%x), " , priv->ctrl.scode_table); +printk (KERN_CONT "(%x), " , priv->ctrl.scode_table); }else -printk ("int_freq %d, " , new_fw.int_freq); -printk ("scode_nr %d\n" , new_fw.scode_nr); +printk (KERN_CONT "int_freq %d, " , new_fw.int_freq); +printk (KERN_CONT "scode_nr %d\n" , new_fw.scode_nr); }/*
Signature · 1 line
2.7.4
PATCH 2/25 tuner-xc2028: don't break long lines
In reply to Mauro Carvalho ChehabDue to the 80-cols checkpatch warnings, several strings were broken into multiple lines. This is not considered a good practice anymore, as it makes harder to grep for strings at the source code. So, join those continuation lines.
--- drivers/media/tuners/tuner-xc2028.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-)
drivers/media/tuners/tuner-xc2028.c +9 -14
@@ -56,8 +56,7 @@ MODULE_PARM_DESC(no_poweroff, "0 (default) powers device off when not used.\n"static char audio_std[8 ];module_param_string (audio_std, audio_std,sizeof (audio_std),0 );MODULE_PARM_DESC (audio_std, -"Audio standard. XC3028 audio decoder explicitly " -"needs to know what audio\n" +"Audio standard. XC3028 audio decoder explicitly needs to know what audio\n" "standard is needed for some video standards with audio A2 or NICAM.\n" "The valid values are:\n" "A2\n"
@@ -69,8 +68,8 @@ MODULE_PARM_DESC(audio_std,static char firmware_name[30 ];module_param_string (firmware_name, firmware_name,sizeof (firmware_name),0 ); -MODULE_PARM_DESC (firmware_name,"Firmware file name. Allows overriding the " -"default firmware name\n" ); +MODULE_PARM_DESC (firmware_name, +"Firmware file name. Allows overriding the default firmware name\n" );static LIST_HEAD (hybrid_tuner_instance_list);static DEFINE_MUTEX (xc2028_list_mutex);
@@ -346,8 +345,7 @@ static int load_all_firmwares(struct dvb_frontend *fe, n++;if (n >= n_array) { -tuner_err ("More firmware images in file than " -"were expected!\n" ); +tuner_err ("More firmware images in file than were expected!\n" ); goto corrupt; }
@@ -496,8 +494,8 @@ static int seek_firmware(struct dvb_frontend *fe, unsigned int type, }if (best_nr_matches >0 ) { -tuner_dbg ("Selecting best matching firmware (%d bits) for " -"type=" , best_nr_matches); +tuner_dbg ("Selecting best matching firmware (%d bits) for type=" , + best_nr_matches);dump_firm_type (type);printk (KERN_CONT "(%x), id %016llx:\n" , type, (unsigned long long )*id);
@@ -840,8 +838,7 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type, goto fail; } -tuner_dbg ("Device is Xceive %d version %d.%d, " -"firmware version %d.%d\n" , +tuner_dbg ("Device is Xceive %d version %d.%d, firmware version %d.%d\n" , hwmodel, (version &0xf000 ) >>12 , (version &0xf00 ) >>8 , (version &0xf0 ) >>4 , version &0xf );
@@ -855,8 +852,7 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type,tuner_err ("Incorrect readback of firmware version.\n" ); goto fail; }else { -tuner_err ("Returned an incorrect version. However, " -"read is not reliable enough. Ignoring it.\n" ); +tuner_err ("Returned an incorrect version. However, read is not reliable enough. Ignoring it.\n" ); hwmodel =3028 ; } }
@@ -867,8 +863,7 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type, priv->hwvers = version &0xff00 ; }else if (priv->hwmodel ==0 || priv->hwmodel != hwmodel || priv->hwvers != (version &0xff00 )) { -tuner_err ("Read invalid device hardware information - tuner " -"hung?\n" ); +tuner_err ("Read invalid device hardware information - tuner hung?\n" ); goto fail; }
Signature · 1 line
2.7.4
PATCH 3/25 em28xx: don't break long lines
In reply to Mauro Carvalho ChehabDue to the 80-cols checkpatch warnings, several strings were broken into multiple lines. This is not considered a good practice anymore, as it makes harder to grep for strings at the source code. So, join those continuation lines.
--- drivers/media/usb/em28xx/em28xx-audio.c | 10 +++---- drivers/media/usb/em28xx/em28xx-cards.c | 51 ++++++++++++--------------------- drivers/media/usb/em28xx/em28xx-core.c | 11 ++++--- drivers/media/usb/em28xx/em28xx-dvb.c | 6 ++-- drivers/media/usb/em28xx/em28xx-input.c | 3 +- drivers/media/usb/em28xx/em28xx-video.c | 6 ++-- 6 files changed, 33 insertions(+), 54 deletions(-)
drivers/media/usb/em28xx/em28xx-audio.c +4 -6
@@ -3,7 +3,7 @@* * Copyright (C) 2006 Markus Rechberger <[email protected]> * -* Copyright (C) 2007-2014 Mauro Carvalho Chehab +* Copyright (C) 2007-2016 Mauro Carvalho Chehab * - Port to work with the in-kernel driver * - Cleanups, fixes, alsa-controls, etc. *
@@ -254,8 +254,7 @@ static int snd_em28xx_capture_open(struct snd_pcm_substream *substream)int nonblock, ret =0 ;if (!dev) { -em28xx_err ("BUG: em28xx can't find device struct." -" Can't proceed with open\n" ); +em28xx_err ("BUG: em28xx can't find device struct. Can't proceed with open\n" );return -ENODEV ; }
@@ -902,10 +901,9 @@ static int em28xx_audio_init(struct em28xx *dev)kref_get (&dev->ref); -printk (KERN_INFO "em28xx-audio.c: Copyright (C) 2006 Markus " -"Rechberger\n" ); +printk (KERN_INFO "em28xx-audio.c: Copyright (C) 2006 Markus Rechberger\n" );printk (KERN_INFO -"em28xx-audio.c: Copyright (C) 2007-2014 Mauro Carvalho Chehab\n" ); +"em28xx-audio.c: Copyright (C) 2007-2016 Mauro Carvalho Chehab\n" ); err =snd_card_new (&dev->udev->dev, index[devnr],"Em28xx Audio" ,THIS_MODULE ,0 , &card);
drivers/media/usb/em28xx/em28xx-cards.c +19 -32
119 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-core.c +5 -6
@@ -87,8 +87,8 @@ int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg,return -EINVAL ;if (reg_debug) { - printk(KERN_DEBUG "(pipe 0x%08x): " - "IN: %02x %02x %02x %02x %02x %02x %02x %02x ", + printk(KERN_DEBUG + "(pipe 0x%08x): IN: %02x %02x %02x %02x %02x %02x %02x %02x ", pipe, USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, req, 0, 0,
@@ -165,8 +165,8 @@ int em28xx_write_regs_req(struct em28xx *dev, u8 req, u16 reg, char *buf,if (reg_debug) {int byte; - printk(KERN_DEBUG "(pipe 0x%08x): " - "OUT: %02x %02x %02x %02x %02x %02x %02x %02x >>>", + printk(KERN_DEBUG + "(pipe 0x%08x): OUT: %02x %02x %02x %02x %02x %02x %02x %02x >>>", pipe, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, req, 0, 0,
@@ -942,8 +942,7 @@ int em28xx_alloc_urbs(struct em28xx *dev, enum em28xx_mode mode, int xfer_bulk, usb_bufs->transfer_buffer[i] =usb_alloc_coherent (dev->udev, sb_size,GFP_KERNEL , &urb->transfer_dma);if (!usb_bufs->transfer_buffer[i]) { -em28xx_err ("unable to allocate %i bytes for transfer" -" buffer %i%s\n" , +em28xx_err ("unable to allocate %i bytes for transfer buffer %i%s\n" , sb_size, i,in_interrupt () ?" while in int" :"" );em28xx_uninit_usb_xfer (dev, mode);
drivers/media/usb/em28xx/em28xx-dvb.c +2 -4
@@ -934,8 +934,7 @@ static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev) cfg.ctrl = &ctl;if (!dev->dvb->fe[0 ]) { -em28xx_errdev ("/2: dvb frontend not attached. " -"Can't attach xc3028\n" ); +em28xx_errdev ("/2: dvb frontend not attached. Can't attach xc3028\n" );return -EINVAL ; }
@@ -1937,8 +1936,7 @@ static int em28xx_dvb_init(struct em28xx *dev) }break ;default : -em28xx_errdev ("/2: The frontend of your DVB/ATSC card" -" isn't supported yet\n" ); +em28xx_errdev ("/2: The frontend of your DVB/ATSC card isn't supported yet\n" );break ; }if (NULL == dvb->fe[0 ]) {
drivers/media/usb/em28xx/em28xx-input.c +1 -2
@@ -703,8 +703,7 @@ static int em28xx_ir_init(struct em28xx *dev)if (dev->board.ir_codes ==NULL && !dev->board.has_ir_i2c) {/* No remote control support */ -em28xx_warn ("Remote control support is not available for " -"this card.\n" ); +em28xx_warn ("Remote control support is not available for this card.\n" );return 0 ; }
drivers/media/usb/em28xx/em28xx-video.c +2 -4
@@ -505,8 +505,7 @@ static void em28xx_copy_video(struct em28xx *dev,if ((char *)startwrite + lencopy > (char *)buf->vb_buf + buf->length) { -em28xx_isocdbg ("Overflow of %zu bytes past buffer end" -"(2)\n" , +em28xx_isocdbg ("Overflow of %zu bytes past buffer end(2)\n" , ((char *)startwrite + lencopy) - ((char *)buf->vb_buf + buf->length)); lencopy = remain = (char *)buf->vb_buf + buf->length -
@@ -2204,8 +2203,7 @@ static int em28xx_v4l2_close(struct file *filp)em28xx_videodbg ("setting alternate 0\n" ); errCode =usb_set_interface (dev->udev,0 ,0 );if (errCode <0 ) { -em28xx_errdev ("cannot change alternate number to " -"0 (error=%i)\n" , errCode); +em28xx_errdev ("cannot change alternate number to 0 (error=%i)\n" , errCode); } }
Signature · 1 line
2.7.4
PATCH 4/25 em28xx: mark printk continuation lines as such
In reply to Mauro Carvalho ChehabThis driver has a lot of printk continuation lines for debugging purposes. Since commit 563873318d32 ("Merge branch 'printk-cleanups"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
--- drivers/media/usb/em28xx/em28xx-core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/media/usb/em28xx/em28xx-core.c +6 -6
@@ -102,7 +102,7 @@ int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg, 0x0000, reg, dev->urb_buf, len, HZ);if (ret <0 ) {if (reg_debug) -printk (" failed!\n" ); +printk (KERN_CONT " failed!\n" );mutex_unlock (&dev->ctrl_urb_lock);return usb_translate_errors (ret); }
@@ -115,10 +115,10 @@ int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg,if (reg_debug) {int byte; -printk ("<<<" ); +printk (KERN_CONT "<<<" );for (byte =0 ; byte < len; byte++) -printk (" %02x" , (unsigned char )buf[byte]); -printk ("\n" ); +printk (KERN_CONT " %02x" , (unsigned char )buf[byte]); +printk (KERN_CONT "\n" ); }return ret;
@@ -174,8 +174,8 @@ int em28xx_write_regs_req(struct em28xx *dev, u8 req, u16 reg, char *buf, len & 0xff, len >> 8);for (byte =0 ; byte < len; byte++) -printk (" %02x" , (unsigned char )buf[byte]); -printk ("\n" ); +printk (KERN_CONT " %02x" , (unsigned char )buf[byte]); +printk (KERN_CONT "\n" ); }mutex_lock (&dev->ctrl_urb_lock);
Signature · 1 line
2.7.4
PATCH 5/25 em28xx: use pr_foo instead of em28xx-specific printk macros
In reply to Mauro Carvalho ChehabThere's no reason to keep using em28xx-specific printk macros here. Just use pr_foo().
--- drivers/media/usb/em28xx/em28xx-audio.c | 31 ++++----- drivers/media/usb/em28xx/em28xx-camera.c | 34 +++++----- drivers/media/usb/em28xx/em28xx-cards.c | 77 +++++++++++----------- drivers/media/usb/em28xx/em28xx-core.c | 51 +++++++-------- drivers/media/usb/em28xx/em28xx-dvb.c | 42 ++++++------ drivers/media/usb/em28xx/em28xx-i2c.c | 109 ++++++++++++++++--------------- drivers/media/usb/em28xx/em28xx-input.c | 26 ++++---- drivers/media/usb/em28xx/em28xx-video.c | 57 ++++++++-------- drivers/media/usb/em28xx/em28xx.h | 18 +---- 9 files changed, 215 insertions(+), 230 deletions(-)
drivers/media/usb/em28xx/em28xx-audio.c +16 -15
@@ -25,6 +25,8 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include "em28xx.h" +#include <linux/kernel.h> #include <linux/usb.h> #include <linux/init.h>
@@ -44,7 +46,6 @@#include <sound/tlv.h> #include <sound/ac97_codec.h> #include <media/v4l2-common.h> -#include "em28xx.h" static int debug;module_param (debug, int,0644 );
@@ -164,7 +165,7 @@ static void em28xx_audio_isocirq(struct urb *urb) status =usb_submit_urb (urb,GFP_ATOMIC );if (status <0 ) -em28xx_errdev ("resubmit of audio urb failed (error=%i)\n" , +pr_err ("resubmit of audio urb failed (error=%i)\n" , status);return ; }
@@ -182,7 +183,7 @@ static int em28xx_init_audio_isoc(struct em28xx *dev) errCode =usb_submit_urb (dev->adev.urb[i],GFP_ATOMIC );if (errCode) { -em28xx_errdev ("submit of audio urb failed (error=%i)\n" , +pr_err ("submit of audio urb failed (error=%i)\n" , errCode);em28xx_deinit_isoc_audio (dev);atomic_set (&dev->adev.stream_started,0 );
@@ -254,7 +255,7 @@ static int snd_em28xx_capture_open(struct snd_pcm_substream *substream)int nonblock, ret =0 ;if (!dev) { -em28xx_err ("BUG: em28xx can't find device struct. Can't proceed with open\n" ); +pr_err ("BUG: em28xx can't find device struct. Can't proceed with open\n" );return -ENODEV ; }
@@ -317,7 +318,7 @@ static int snd_em28xx_capture_open(struct snd_pcm_substream *substream) err:mutex_unlock (&dev->lock); -em28xx_err ("Error while configuring em28xx mixer\n" ); +pr_err ("Error while configuring em28xx mixer\n" );return ret; }
@@ -755,7 +756,7 @@ static int em28xx_audio_urb_init(struct em28xx *dev) intf =usb_ifnum_to_if (dev->udev, dev->ifnum);if (intf->num_altsetting <= alt) { -em28xx_errdev ("alt %d doesn't exist on interface %d\n" , +pr_err ("alt %d doesn't exist on interface %d\n" , dev->ifnum, alt);return -ENODEV ; }
@@ -771,14 +772,14 @@ static int em28xx_audio_urb_init(struct em28xx *dev) }if (!ep) { -em28xx_errdev ("Couldn't find an audio endpoint" ); +pr_err ("Couldn't find an audio endpoint" );return -ENODEV ; } ep_size =em28xx_audio_ep_packet_size (dev->udev, ep); interval =1 << (ep->bInterval -1 ); - em28xx_info("Endpoint 0x%02x %s on intf %d alt %d interval = %d, size %d\n", + pr_info("Endpoint 0x%02x %s on intf %d alt %d interval = %d, size %d\n", EM28XX_EP_AUDIO, usb_speed_string(dev->udev->speed), dev->ifnum, alt, interval,
@@ -819,7 +820,7 @@ static int em28xx_audio_urb_init(struct em28xx *dev)if (urb_size > ep_size * npackets) npackets =DIV_ROUND_UP (urb_size, ep_size); -em28xx_info ("Number of URBs: %d, with %d packets and %d size\n" , +pr_info ("Number of URBs: %d, with %d packets and %d size\n" , num_urb, npackets, urb_size);/* Estimate the bytes per period */
@@ -857,7 +858,7 @@ static int em28xx_audio_urb_init(struct em28xx *dev) buf =usb_alloc_coherent (dev->udev, npackets * ep_size,GFP_ATOMIC , &urb->transfer_dma);if (!buf) { -em28xx_errdev ("usb_alloc_coherent failed!\n" ); +pr_err ("usb_alloc_coherent failed!\n" );em28xx_audio_free_urb (dev);return -ENOMEM ; }
@@ -897,7 +898,7 @@ static int em28xx_audio_init(struct em28xx *dev)return 0 ; } -em28xx_info ("Binding audio extension\n" ); +pr_info ("Binding audio extension\n" );kref_get (&dev->ref);
@@ -953,7 +954,7 @@ static int em28xx_audio_init(struct em28xx *dev)if (err <0 ) goto urb_free; -em28xx_info ("Audio extension successfully initialized\n" ); +pr_info ("Audio extension successfully initialized\n" );return 0 ; urb_free:
@@ -978,7 +979,7 @@ static int em28xx_audio_fini(struct em28xx *dev)return 0 ; } -em28xx_info ("Closing audio extension\n" ); +pr_info ("Closing audio extension\n" );if (dev->adev.sndcard) {snd_card_disconnect (dev->adev.sndcard);
@@ -1002,7 +1003,7 @@ static int em28xx_audio_suspend(struct em28xx *dev)if (dev->usb_audio_type !=EM28XX_USB_AUDIO_VENDOR )return 0 ; -em28xx_info ("Suspending audio extension\n" ); +pr_info ("Suspending audio extension\n" );em28xx_deinit_isoc_audio (dev);atomic_set (&dev->adev.stream_started,0 );return 0 ;
@@ -1016,7 +1017,7 @@ static int em28xx_audio_resume(struct em28xx *dev)if (dev->usb_audio_type !=EM28XX_USB_AUDIO_VENDOR )return 0 ; -em28xx_info ("Resuming audio extension\n" ); +pr_info ("Resuming audio extension\n" );/* Nothing to do other than schedule_work() ?? */ schedule_work (&dev->adev.wq_trigger);return 0 ;
drivers/media/usb/em28xx/em28xx-camera.c +17 -17
@@ -19,14 +19,14 @@Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include "em28xx.h" +#include <linux/i2c.h> #include <media/soc_camera.h> #include <media/i2c/mt9v011.h> #include <media/v4l2-clk.h> #include <media/v4l2-common.h> -#include "em28xx.h" -/* Possible i2c addresses of Micron sensors */ static unsigned short micron_sensor_addrs[] = {0xb8 >>1 ,/* MT9V111, MT9V403 */
@@ -120,13 +120,13 @@ static int em28xx_probe_sensor_micron(struct em28xx *dev) ret =i2c_master_send (&client, ®,1 );if (ret <0 ) {if (ret != -ENXIO ) -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; } ret =i2c_master_recv (&client, (u8 *)&id_be,2 );if (ret <0 ) { -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; }
@@ -135,13 +135,13 @@ static int em28xx_probe_sensor_micron(struct em28xx *dev) reg =0xff ; ret =i2c_master_send (&client, ®,1 );if (ret <0 ) { -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; } ret =i2c_master_recv (&client, (u8 *)&id_be,2 );if (ret <0 ) { -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; }
@@ -180,15 +180,15 @@ static int em28xx_probe_sensor_micron(struct em28xx *dev) dev->em28xx_sensor =EM28XX_MT9M001 ;break ;default : -em28xx_info ("unknown Micron sensor detected: 0x%04x\n" , +pr_info ("unknown Micron sensor detected: 0x%04x\n" , id);return 0 ; }if (dev->em28xx_sensor ==EM28XX_NOSENSOR ) -em28xx_info ("unsupported sensor detected: %s\n" , name); +pr_info ("unsupported sensor detected: %s\n" , name);else -em28xx_info ("sensor %s detected\n" , name); +pr_info ("sensor %s detected\n" , name); dev->i2c_client[dev->def_i2c_bus].addr = client.addr;return 0 ;
@@ -218,7 +218,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) {if (ret != -ENXIO ) -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; }
@@ -226,7 +226,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) reg =0x1d ; ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) { -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; }
@@ -238,7 +238,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) reg =0x0a ; ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) { -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; }
@@ -246,7 +246,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) reg =0x0b ; ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) { -em28xx_errdev ("couldn't read from i2c device 0x%02x: error %i\n" , +pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , client.addr <<1 , ret);continue ; }
@@ -285,15 +285,15 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) name ="OV9655" ;break ;default : -em28xx_info ("unknown OmniVision sensor detected: 0x%04x\n" , +pr_info ("unknown OmniVision sensor detected: 0x%04x\n" , id);return 0 ; }if (dev->em28xx_sensor ==EM28XX_NOSENSOR ) -em28xx_info ("unsupported sensor detected: %s\n" , name); +pr_info ("unsupported sensor detected: %s\n" , name);else -em28xx_info ("sensor %s detected\n" , name); +pr_info ("sensor %s detected\n" , name); dev->i2c_client[dev->def_i2c_bus].addr = client.addr;return 0 ;
@@ -317,7 +317,7 @@ int em28xx_detect_sensor(struct em28xx *dev)*/ if (dev->em28xx_sensor ==EM28XX_NOSENSOR && ret <0 ) { -em28xx_info ("No sensor detected\n" ); +pr_info ("No sensor detected\n" );return -ENODEV ; }
drivers/media/usb/em28xx/em28xx-cards.c +38 -39
198 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-core.c +24 -27
187 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-dvb.c +21 -21
145 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-i2c.c +55 -54
356 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-input.c +13 -13
@@ -21,6 +21,8 @@Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "em28xx.h" +#include <linux/module.h> #include <linux/init.h> #include <linux/delay.h>
@@ -29,8 +31,6 @@#include <linux/slab.h> #include <linux/bitrev.h> -#include "em28xx.h" -#define EM28XX_SNAPSHOT_KEY KEY_CAMERA#define EM28XX_BUTTONS_DEBOUNCED_QUERY_INTERVAL 500/* [ms] */ #define EM28XX_BUTTONS_VOLATILE_QUERY_INTERVAL 100/* [ms] */
@@ -567,7 +567,7 @@ static int em28xx_register_snapshot_button(struct em28xx *dev)struct input_dev *input_dev;int err; -em28xx_info ("Registering snapshot button...\n" ); +pr_info ("Registering snapshot button...\n" ); input_dev =input_allocate_device ();if (!input_dev)return -ENOMEM ;
@@ -591,7 +591,7 @@ static int em28xx_register_snapshot_button(struct em28xx *dev) err =input_register_device (input_dev);if (err) { -em28xx_errdev ("input_register_device failed\n" ); +pr_err ("input_register_device failed\n" );input_free_device (input_dev);return err; }
@@ -631,7 +631,7 @@ static void em28xx_init_buttons(struct em28xx *dev) }else if (button->role ==EM28XX_BUTTON_ILLUMINATION ) {/* Check sanity */ if (!em28xx_find_led (dev,EM28XX_LED_ILLUMINATION )) { -em28xx_errdev ("BUG: illumination button defined, but no illumination LED.\n" ); +pr_err ("BUG: illumination button defined, but no illumination LED.\n" ); goto next_button; } }
@@ -667,7 +667,7 @@ static void em28xx_shutdown_buttons(struct em28xx *dev) dev->num_button_polling_addresses =0 ;/* Deregister input devices */ if (dev->sbutton_input_dev !=NULL ) { -em28xx_info ("Deregistering snapshot button\n" ); +pr_info ("Deregistering snapshot button\n" );input_unregister_device (dev->sbutton_input_dev); dev->sbutton_input_dev =NULL ; }
@@ -696,18 +696,18 @@ static int em28xx_ir_init(struct em28xx *dev) i2c_rc_dev_addr =em28xx_probe_i2c_ir (dev);if (!i2c_rc_dev_addr) { dev->board.has_ir_i2c =0 ; -em28xx_warn ("No i2c IR remote control device found.\n" ); +pr_warn ("No i2c IR remote control device found.\n" );return -ENODEV ; } }if (dev->board.ir_codes ==NULL && !dev->board.has_ir_i2c) {/* No remote control support */ -em28xx_warn ("Remote control support is not available for this card.\n" ); +pr_warn ("Remote control support is not available for this card.\n" );return 0 ; } -em28xx_info ("Registering input extension\n" ); +pr_info ("Registering input extension\n" ); ir =kzalloc (sizeof (*ir),GFP_KERNEL );if (!ir)
@@ -810,7 +810,7 @@ static int em28xx_ir_init(struct em28xx *dev)if (err) goto error; -em28xx_info ("Input extension successfully initalized\n" ); +pr_info ("Input extension successfully initalized\n" );return 0 ;
@@ -831,7 +831,7 @@ static int em28xx_ir_fini(struct em28xx *dev)return 0 ; } -em28xx_info ("Closing input extension\n" ); +pr_info ("Closing input extension\n" );em28xx_shutdown_buttons (dev);
@@ -860,7 +860,7 @@ static int em28xx_ir_suspend(struct em28xx *dev)if (dev->is_audio_only)return 0 ; -em28xx_info ("Suspending input extension\n" ); +pr_info ("Suspending input extension\n" );if (ir)cancel_delayed_work_sync (&ir->work);cancel_delayed_work_sync (&dev->buttons_query_work);
@@ -877,7 +877,7 @@ static int em28xx_ir_resume(struct em28xx *dev)if (dev->is_audio_only)return 0 ; -em28xx_info ("Resuming input extension\n" ); +pr_info ("Resuming input extension\n" );/* if suspend calls ir_raw_event_unregister(), the should call ir_raw_event_register() */ if (ir)
drivers/media/usb/em28xx/em28xx-video.c +29 -28
207 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx.h +2 -16
@@ -29,6 +29,8 @@#define EM28XX_VERSION "0.2.2"#define DRIVER_DESC "Empia em28xx device driver" +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/workqueue.h> #include <linux/i2c.h> #include <linux/mutex.h>
@@ -797,20 +799,4 @@ void em28xx_free_device(struct kref *ref);int em28xx_detect_sensor (struct em28xx *dev);int em28xx_init_camera (struct em28xx *dev); -/* printk macros */ - -#define em28xx_err(fmt, arg...) do {\ - printk(KERN_ERR fmt , ##arg); } while (0) - -#define em28xx_errdev(fmt, arg...) do {\ - printk(KERN_ERR "%s: "fmt,\ - dev->name , ##arg); } while (0) - -#define em28xx_info(fmt, arg...) do {\ - printk(KERN_INFO "%s: "fmt,\ - dev->name , ##arg); } while (0) -#define em28xx_warn(fmt, arg...) do {\ - printk(KERN_WARNING "%s: "fmt,\ - dev->name , ##arg); } while (0) -#endif
Signature · 1 line
2.7.4
PATCH 6/25 em28xx: convert the remaining printks to pr_foo
In reply to Mauro Carvalho ChehabThere are still several places with printk's called directly.
Convert them to pr_foo() macros, except for the debug printk's, as those are enabled via modprobe vars.
While here, realign the pr_foo() arguments to match the recommended CodingStyle.
--- drivers/media/usb/em28xx/em28xx-audio.c | 10 ++--- drivers/media/usb/em28xx/em28xx-camera.c | 21 +++++---- drivers/media/usb/em28xx/em28xx-cards.c | 67 ++++++++++++----------------- drivers/media/usb/em28xx/em28xx-core.c | 47 ++++++++++---------- drivers/media/usb/em28xx/em28xx-dvb.c | 39 ++++++++--------- drivers/media/usb/em28xx/em28xx-i2c.c | 74 ++++++++++++++++---------------- drivers/media/usb/em28xx/em28xx-input.c | 2 +- drivers/media/usb/em28xx/em28xx-vbi.c | 7 +-- drivers/media/usb/em28xx/em28xx-video.c | 46 +++++++++----------- 9 files changed, 146 insertions(+), 167 deletions(-)
drivers/media/usb/em28xx/em28xx-audio.c +4 -6
@@ -56,9 +56,8 @@ MODULE_PARM_DESC(debug, "activates debug info"); #define dprintk(fmt, arg...) do { \ if (debug) \ - printk(KERN_INFO "em28xx-audio %s: " fmt, \ - __func__, ##arg); \ - } while (0) + printk(KERN_DEBUG pr_fmt("audio: %s: " fmt), \ + __func__, ##arg); } while (0)static int index[SNDRV_CARDS ] =SNDRV_DEFAULT_IDX ;
@@ -902,9 +901,8 @@ static int em28xx_audio_init(struct em28xx *dev)kref_get (&dev->ref); -printk (KERN_INFO "em28xx-audio.c: Copyright (C) 2006 Markus Rechberger\n" ); -printk (KERN_INFO -"em28xx-audio.c: Copyright (C) 2007-2016 Mauro Carvalho Chehab\n" ); +pr_info ("em28xx-audio.c: Copyright (C) 2006 Markus Rechberger\n" ); +pr_info ("em28xx-audio.c: Copyright (C) 2007-2016 Mauro Carvalho Chehab\n" ); err =snd_card_new (&dev->udev->dev, index[devnr],"Em28xx Audio" ,THIS_MODULE ,0 , &card);
drivers/media/usb/em28xx/em28xx-camera.c +10 -11
@@ -121,13 +121,13 @@ static int em28xx_probe_sensor_micron(struct em28xx *dev)if (ret <0 ) {if (ret != -ENXIO )pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } ret =i2c_master_recv (&client, (u8 *)&id_be,2 );if (ret <0 ) {pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } id =be16_to_cpu (id_be);
@@ -136,13 +136,13 @@ static int em28xx_probe_sensor_micron(struct em28xx *dev) ret =i2c_master_send (&client, ®,1 );if (ret <0 ) {pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } ret =i2c_master_recv (&client, (u8 *)&id_be,2 );if (ret <0 ) {pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; }/* Validate chip ID to be sure we have a Micron device */
@@ -180,8 +180,7 @@ static int em28xx_probe_sensor_micron(struct em28xx *dev) dev->em28xx_sensor =EM28XX_MT9M001 ;break ;default : -pr_info ("unknown Micron sensor detected: 0x%04x\n" , - id); +pr_info ("unknown Micron sensor detected: 0x%04x\n" , id);return 0 ; }
@@ -219,7 +218,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev)if (ret <0 ) {if (ret != -ENXIO )pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } id = ret <<8 ;
@@ -227,7 +226,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) {pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } id += ret;
@@ -239,7 +238,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) {pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } id = ret <<8 ;
@@ -247,7 +246,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev) ret =i2c_smbus_read_byte_data (&client, reg);if (ret <0 ) {pr_err ("couldn't read from i2c device 0x%02x: error %i\n" , - client.addr <<1 , ret); + client.addr <<1 , ret);continue ; } id += ret;
@@ -286,7 +285,7 @@ static int em28xx_probe_sensor_omnivision(struct em28xx *dev)break ;default :pr_info ("unknown OmniVision sensor detected: 0x%04x\n" , - id); + id);return 0 ; }
drivers/media/usb/em28xx/em28xx-cards.c +28 -39
185 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-core.c +23 -24
139 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-dvb.c +18 -21
@@ -935,19 +935,19 @@ static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev) cfg.ctrl = &ctl;if (!dev->dvb->fe[0 ]) { -pr_err ("/2: dvb frontend not attached. Can't attach xc3028\n" ); +pr_err ("dvb frontend not attached. Can't attach xc3028\n" );return -EINVAL ; } fe =dvb_attach (xc2028_attach, dev->dvb->fe[0 ], &cfg);if (!fe) { -pr_err ("/2: xc3028 attach failed\n" ); +pr_err ("xc3028 attach failed\n" );dvb_frontend_detach (dev->dvb->fe[0 ]); dev->dvb->fe[0 ] =NULL ;return -EINVAL ; } -pr_info ("%s/2: xc3028 attached\n" , dev->name); +pr_info ("xc3028 attached\n" );return 0 ; }
@@ -966,8 +966,8 @@ static int em28xx_register_dvb(struct em28xx_dvb *dvb, struct module *module, result =dvb_register_adapter (&dvb->adapter, dev->name, module, device, adapter_nr);if (result <0 ) { -printk (KERN_WARNING "%s: dvb_register_adapter failed (errno = %d)\n" , - dev->name, result); +pr_warn ("dvb_register_adapter failed (errno = %d)\n" , + result); goto fail_adapter; }#ifdef CONFIG_MEDIA_CONTROLLER_DVB
@@ -984,8 +984,8 @@ static int em28xx_register_dvb(struct em28xx_dvb *dvb, struct module *module,/* register frontend */ result =dvb_register_frontend (&dvb->adapter, dvb->fe[0 ]);if (result <0 ) { -printk (KERN_WARNING "%s: dvb_register_frontend failed (errno = %d)\n" , - dev->name, result); +pr_warn ("dvb_register_frontend failed (errno = %d)\n" , + result); goto fail_frontend0; }
@@ -993,8 +993,8 @@ static int em28xx_register_dvb(struct em28xx_dvb *dvb, struct module *module,if (dvb->fe[1 ]) { result =dvb_register_frontend (&dvb->adapter, dvb->fe[1 ]);if (result <0 ) { -printk (KERN_WARNING "%s: 2nd dvb_register_frontend failed (errno = %d)\n" , - dev->name, result); +pr_warn ("2nd dvb_register_frontend failed (errno = %d)\n" , + result); goto fail_frontend1; } }
@@ -1011,8 +1011,7 @@ static int em28xx_register_dvb(struct em28xx_dvb *dvb, struct module *module, result =dvb_dmx_init (&dvb->demux);if (result <0 ) { -printk (KERN_WARNING "%s: dvb_dmx_init failed (errno = %d)\n" , - dev->name, result); +pr_warn ("dvb_dmx_init failed (errno = %d)\n" , result); goto fail_dmx; }
@@ -1021,31 +1020,29 @@ static int em28xx_register_dvb(struct em28xx_dvb *dvb, struct module *module, dvb->dmxdev.capabilities =0 ; result =dvb_dmxdev_init (&dvb->dmxdev, &dvb->adapter);if (result <0 ) { -printk (KERN_WARNING "%s: dvb_dmxdev_init failed (errno = %d)\n" , - dev->name, result); +pr_warn ("dvb_dmxdev_init failed (errno = %d)\n" , result); goto fail_dmxdev; } dvb->fe_hw.source =DMX_FRONTEND_0 ; result = dvb->demux.dmx.add_frontend (&dvb->demux.dmx, &dvb->fe_hw);if (result <0 ) { -printk (KERN_WARNING "%s: add_frontend failed (DMX_FRONTEND_0, errno = %d)\n" , - dev->name, result); +pr_warn ("add_frontend failed (DMX_FRONTEND_0, errno = %d)\n" , + result); goto fail_fe_hw; } dvb->fe_mem.source =DMX_MEMORY_FE ; result = dvb->demux.dmx.add_frontend (&dvb->demux.dmx, &dvb->fe_mem);if (result <0 ) { -printk (KERN_WARNING "%s: add_frontend failed (DMX_MEMORY_FE, errno = %d)\n" , - dev->name, result); +pr_warn ("add_frontend failed (DMX_MEMORY_FE, errno = %d)\n" , + result); goto fail_fe_mem; } result = dvb->demux.dmx.connect_frontend (&dvb->demux.dmx, &dvb->fe_hw);if (result <0 ) { -printk (KERN_WARNING "%s: connect_frontend failed (errno = %d)\n" , - dev->name, result); +pr_warn ("connect_frontend failed (errno = %d)\n" , result); goto fail_fe_conn; }
@@ -1936,11 +1933,11 @@ static int em28xx_dvb_init(struct em28xx *dev) }break ;default : -pr_err ("/2: The frontend of your DVB/ATSC card isn't supported yet\n" ); +pr_err ("The frontend of your DVB/ATSC card isn't supported yet\n" );break ; }if (NULL == dvb->fe[0 ]) { -pr_err ("/2: frontend initialization failed\n" ); +pr_err ("frontend initialization failed\n" ); result = -EINVAL ; goto out_free; }
drivers/media/usb/em28xx/em28xx-i2c.c +37 -37
267 lines not on this page · raw message
drivers/media/usb/em28xx/em28xx-input.c +1 -1
@@ -458,7 +458,7 @@ static int em28xx_ir_change_protocol(struct rc_dev *rc_dev, u64 *rc_type)case CHIP_ID_EM28178 :return em2874_ir_change_protocol (rc_dev, rc_type);default : -printk ("Unrecognized em28xx chip id 0x%02x: IR not supported\n" , +pr_err ("Unrecognized em28xx chip id 0x%02x: IR not supported\n" , dev->chip_id);return -EINVAL ; }
drivers/media/usb/em28xx/em28xx-vbi.c +4 -3
@@ -21,12 +21,13 @@02110-1301, USA. */ +#include "em28xx.h" +#include <linux/kernel.h> #include <linux/module.h> #include <linux/hardirq.h> #include <linux/init.h> -#include "em28xx.h" #include "em28xx-v4l.h" /* ------------------------------------------------------------------ */
@@ -63,8 +64,8 @@ static int vbi_buffer_prepare(struct vb2_buffer *vb) size = v4l2->vbi_width * v4l2->vbi_height *2 ;if (vb2_plane_size (vb,0 ) < size) { -printk (KERN_INFO "%s data will not fit into plane (%lu < %lu)\n" , - __func__,vb2_plane_size (vb,0 ), size); +pr_info ("%s data will not fit into plane (%lu < %lu)\n" , + __func__,vb2_plane_size (vb,0 ), size);return -EINVAL ; }vb2_set_plane_payload (vb,0 , size);
drivers/media/usb/em28xx/em28xx-video.c +21 -25
132 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH 7/25 dvb-core: don't break long lines
In reply to Mauro Carvalho ChehabDue to the 80-cols checkpatch warnings, several strings were broken into multiple lines. This is not considered a good practice anymore, as it makes harder to grep for strings at the source code. So, join those continuation lines.
--- drivers/media/dvb-core/dvb_demux.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/media/dvb-core/dvb_demux.c +1 -2
@@ -426,8 +426,7 @@ static void dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf) }if (buf[1 ] &0x80 ) { -dprintk_tscheck ("TEI detected. " -"PID=0x%x data1=0x%x\n" , +dprintk_tscheck ("TEI detected. PID=0x%x data1=0x%x\n" , pid, buf[1 ]);/* data in this packet can't be trusted - drop it unless * module option dvb_demux_feed_err_pkts is set */
Signature · 1 line
2.7.4
PATCH 8/25 tuner-core: don't break long lines
In reply to Mauro Carvalho ChehabDue to the 80-cols checkpatch warnings, several strings were broken into multiple lines. This is not considered a good practice anymore, as it makes harder to grep for strings at the source code. So, join those continuation lines.
--- drivers/media/v4l2-core/tuner-core.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/media/v4l2-core/tuner-core.c +3 -4
@@ -503,8 +503,7 @@ static int tuner_s_type_addr(struct v4l2_subdev *sd,set_type (c, tun_setup->type, tun_setup->mode_mask, tun_setup->config, tun_setup->tuner_callback); }else -tuner_dbg ("set addr discarded for type %i, mask %x. " -"Asked to change tuner at addr 0x%02x, with mask %x\n" , +tuner_dbg ("set addr discarded for type %i, mask %x. Asked to change tuner at addr 0x%02x, with mask %x\n" , t->type, t->mode_mask, tun_setup->addr, tun_setup->mode_mask);
@@ -809,8 +808,8 @@ static int set_mode(struct tuner *t, enum v4l2_tuner_type mode)if (mode != t->mode) {if (check_mode (t, mode) == -EINVAL ) { -tuner_dbg ("Tuner doesn't support mode %d. " -"Putting tuner to sleep\n" , mode); +tuner_dbg ("Tuner doesn't support mode %d. Putting tuner to sleep\n" , + mode); t->standby = true;if (analog_ops->standby) analog_ops->standby (&t->fe);
Signature · 1 line
2.7.4
PATCH 9/25 tuner-core: use %&ph for small buffer dumps
In reply to Mauro Carvalho ChehabThis driver has a printk with a continuation lines for debugging purposes.
Since commit 563873318d32 ("Merge branch 'printk-cleanups'"), this
won't work anymore. We might be using KERNEL_CONT, but it is better to just use a single printk line using %*ph for buffer dump.
--- drivers/media/v4l2-core/tuner-core.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/media/v4l2-core/tuner-core.c +3 -5
@@ -617,14 +617,12 @@ static int tuner_probe(struct i2c_client *client,if (show_i2c) {unsigned char buffer[16 ]; -int i, rc; +int rc;memset (buffer,0 ,sizeof (buffer)); rc =i2c_master_recv (client, buffer,sizeof (buffer)); -tuner_info ("I2C RECV = " ); -for (i =0 ; i < rc; i++) -printk (KERN_CONT "%02x " , buffer[i]); -printk ("\n" ); +if (rc >=0 ) +tuner_info ("I2C RECV = %*ph\n" , rc, buffer); }/* autodetection code based on the i2c addr */
Signature · 1 line
2.7.4
PATCH 10/25 radio-bcm2048: don't ignore errors
In reply to Mauro Carvalho ChehabRemove this warning:
drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_set_rds_no_lock':drivers/staging/media/bcm2048/radio-bcm2048.c:467:6: warning: variable 'err' set but not used [-Wunused-but-set-variable]
int err;
^~~By returning the error code.
--- drivers/staging/media/bcm2048/radio-bcm2048.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/staging/media/bcm2048/radio-bcm2048.c +2 -0
@@ -482,6 +482,8 @@ static int bcm2048_set_rds_no_lock(struct bcm2048_device *bdev, u8 rds_on) flags);memset (&bdev->rds_info,0 ,sizeof (bdev->rds_info)); } +if (err) +return err;return bcm2048_send_command (bdev,BCM2048_I2C_FM_RDS_SYSTEM , bdev->cache_fm_rds_system);
Signature · 1 line
2.7.4
PATCH 11/25 dvb-core: use pr_foo() instead of printk()
In reply to Mauro Carvalho ChehabThe dvb-core directly calls printk() without using the modern printk macros, or using the proper printk levels. Change it to use pr_foo().
--- drivers/media/dvb-core/dmxdev.c | 24 ++++++---- drivers/media/dvb-core/dvb_ca_en50221.c | 57 ++++++++++++++--------- drivers/media/dvb-core/dvb_demux.c | 46 ++++++++++-------- drivers/media/dvb-core/dvb_frontend.c | 12 +++-- drivers/media/dvb-core/dvb_net.c | 82 ++++++++++++++++++--------------- drivers/media/dvb-core/dvbdev.c | 25 ++++++---- 6 files changed, 146 insertions(+), 100 deletions(-)
drivers/media/dvb-core/dmxdev.c +15 -9
@@ -20,6 +20,8 @@* */ +#define pr_fmt (fmt) "dmxdev: " fmt +#include <linux/sched.h> #include <linux/spinlock.h> #include <linux/slab.h>
@@ -36,7 +38,11 @@ static int debug;module_param (debug, int,0644 );MODULE_PARM_DESC (debug,"Turn on/off debugging (default:off)." ); -#define dprintk if (debug) printk +#define dprintk(fmt, arg...) do { \ + if (debug) \ + printk(KERN_DEBUG pr_fmt("%s: " fmt), \ + __func__, ##arg); \ +} while (0)static int dvb_dmxdev_buffer_write (struct dvb_ringbuffer *buf,const u8 *src,size_t len)
@@ -50,7 +56,7 @@ static int dvb_dmxdev_buffer_write(struct dvb_ringbuffer *buf, free =dvb_ringbuffer_free (buf);if (len > free) { -dprintk ("dmxdev: buffer overflow\n" ); +dprintk ("buffer overflow\n" );return -EOVERFLOW ; }
@@ -126,7 +132,7 @@ static int dvb_dvr_open(struct inode *inode, struct file *file)struct dmxdev *dmxdev = dvbdev->priv;struct dmx_frontend *front; -dprintk ("function : %s\n" , __func__); +dprintk ("%s\n" , __func__);if (mutex_lock_interruptible (&dmxdev->mutex))return -ERESTARTSYS ;
@@ -258,7 +264,7 @@ static int dvb_dvr_set_buffer_size(struct dmxdev *dmxdev,void *newmem;void *oldmem; -dprintk ("function : %s\n" , __func__); +dprintk ("%s\n" , __func__);if (buf->size == size)return 0 ;
@@ -367,7 +373,7 @@ static int dvb_dmxdev_section_callback(const u8 *buffer1, size_t buffer1_len,return 0 ; }del_timer (&dmxdevfilter->timer); -dprintk ("dmxdev: section callback %*ph\n" ,6 , buffer1); +dprintk ("section callback %*ph\n" ,6 , buffer1); ret =dvb_dmxdev_buffer_write (&dmxdevfilter->buffer, buffer1, buffer1_len);if (ret == buffer1_len) {
@@ -655,7 +661,7 @@ static int dvb_dmxdev_filter_start(struct dmxdev_filter *filter) secfeed, dvb_dmxdev_section_callback);if (ret <0 ) { -printk ("DVB (%s): could not alloc feed\n" , +pr_err ("DVB (%s): could not alloc feed\n" , __func__);return ret; }
@@ -663,7 +669,7 @@ static int dvb_dmxdev_filter_start(struct dmxdev_filter *filter) ret = (*secfeed)->set (*secfeed, para->pid,32768 , (para->flags &DMX_CHECK_CRC ) ?1 :0 );if (ret <0 ) { -printk ("DVB (%s): could not set feed\n" , +pr_err ("DVB (%s): could not set feed\n" , __func__);dvb_dmxdev_feed_restart (filter);return ret;
@@ -844,7 +850,7 @@ static int dvb_dmxdev_filter_set(struct dmxdev *dmxdev, struct dmxdev_filter *dmxdevfilter, struct dmx_sct_filter_params *params) { - dprintk("function : %s, PID=0x%04x, flags=%02x, timeout=%d\n", + dprintk("%s: PID=0x%04x, flags=%02x, timeout=%d\n", __func__, params->pid, params->flags, params->timeout);dvb_dmxdev_filter_stop (dmxdevfilter);
@@ -1184,7 +1190,7 @@ static unsigned int dvb_dvr_poll(struct file *file, poll_table *wait)struct dmxdev *dmxdev = dvbdev->priv;unsigned int mask =0 ; -dprintk ("function : %s\n" , __func__); +dprintk ("%s\n" , __func__);if (dmxdev->exit)return POLLERR ;
drivers/media/dvb-core/dvb_ca_en50221.c +35 -22
170 lines not on this page · raw message
drivers/media/dvb-core/dvb_demux.c +26 -20
120 lines not on this page · raw message
drivers/media/dvb-core/dvb_frontend.c +9 -3
@@ -28,6 +28,8 @@/* Enables DVBv3 compatibility bits at the headers */ #define __DVB_CORE__ +#define pr_fmt (fmt) "dvb_frontend: " fmt +#include <linux/string.h> #include <linux/kernel.h> #include <linux/sched.h>
@@ -67,6 +69,9 @@ MODULE_PARM_DESC(dvb_powerdown_on_sleep, "0: do not power down, 1: turn LNB voltmodule_param (dvb_mfe_wait_time, int,0644 );MODULE_PARM_DESC (dvb_mfe_wait_time,"Wait up to <mfe_wait_time> seconds on open() for multi-frontend to become available (default:5 seconds)" ); +#define dprintk(fmt, arg...) \ + printk(KERN_DEBUG pr_fmt("%s: " fmt), __func__, ##arg) +#define FESTATE_IDLE 1#define FESTATE_RETUNE 2#define FESTATE_TUNING_FAST 4
@@ -2356,7 +2361,8 @@ static int dvb_frontend_ioctl_legacy(struct file *file,int i;u8 last =1 ;if (dvb_frontend_debug) -printk ("%s switch command: 0x%04lx\n" , __func__, swcmd); +dprintk ("%s switch command: 0x%04lx\n" , + __func__, swcmd); nexttime =ktime_get_boottime ();if (dvb_frontend_debug) tv[0 ] = nexttime;
@@ -2379,10 +2385,10 @@ static int dvb_frontend_ioctl_legacy(struct file *file,dvb_frontend_sleep_until (&nexttime,8000 ); }if (dvb_frontend_debug) { -printk ("%s(%d): switch delay (should be 32k followed by all 8k\n" , +dprintk ("%s(%d): switch delay (should be 32k followed by all 8k)\n" , __func__, fe->dvb->num);for (i =1 ; i <10 ; i++) -printk ("%d: %d\n" , i, +pr_info ("%d: %d\n" , i, (int )ktime_us_delta (tv[i], tv[i-1 ])); } err =0 ;
drivers/media/dvb-core/dvb_net.c +46 -36
235 lines not on this page · raw message
drivers/media/dvb-core/dvbdev.c +15 -10
@@ -21,6 +21,8 @@* */ +#define pr_fmt (fmt) "dvbdev: " fmt +#include <linux/types.h> #include <linux/errno.h> #include <linux/string.h>
@@ -43,7 +45,11 @@ static int dvbdev_debug;module_param (dvbdev_debug, int,0644 );MODULE_PARM_DESC (dvbdev_debug,"Turn on/off device debugging (default:off)." ); -#define dprintk if (dvbdev_debug) printk +#define dprintk(fmt, arg...) do { \ + if (dvbdev_debug) \ + printk(KERN_DEBUG pr_fmt("%s: " fmt), \ + __func__, ##arg); \ +} while (0)static LIST_HEAD (dvb_adapter_list);static DEFINE_MUTEX (dvbdev_register_lock);
@@ -354,7 +360,7 @@ static int dvb_create_media_entity(struct dvb_device *dvbdev,if (ret)return ret; -printk (KERN_DEBUG "%s: media entity '%s' registered.\n" , +pr_info ("%s: media entity '%s' registered.\n" , __func__, dvbdev->entity->name);return 0 ;
@@ -438,7 +444,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,if ((id =dvbdev_get_free_id (adap, type)) <0 ){mutex_unlock (&dvbdev_register_lock); *pdvbdev =NULL ; -printk (KERN_ERR "%s: couldn't find free device id\n" , __func__); +pr_err ("%s: couldn't find free device id\n" , __func__);return -ENFILE ; }
@@ -493,8 +499,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev, ret =dvb_register_media_device (dvbdev, type, minor, demux_sink_pads);if (ret) { -printk (KERN_ERR -"%s: dvb_register_media_device failed to create the mediagraph\n" , +pr_err ("%s: dvb_register_media_device failed to create the mediagraph\n" , __func__);dvb_media_device_free (dvbdev);
@@ -511,11 +516,11 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,MKDEV (DVB_MAJOR , minor), dvbdev, "dvb%d.%s%d", adap->num, dnames[type], id);if (IS_ERR (clsdev)) { -printk (KERN_ERR "%s: failed to create device dvb%d.%s%d (%ld)\n" , +pr_err ("%s: failed to create device dvb%d.%s%d (%ld)\n" , __func__, adap->num, dnames[type], id,PTR_ERR (clsdev));return PTR_ERR (clsdev); } -dprintk (KERN_DEBUG "DVB: register adapter%d/%s%d @ minor: %i (0x%02x)\n" , +dprintk ("DVB: register adapter%d/%s%d @ minor: %i (0x%02x)\n" , adap->num, dnames[type], id, minor, minor);return 0 ;
@@ -808,7 +813,7 @@ int dvb_register_adapter(struct dvb_adapter *adap, const char *name,memset (adap,0 ,sizeof (struct dvb_adapter ));INIT_LIST_HEAD (&adap->device_list); -printk (KERN_INFO "DVB: registering new adapter (%s)\n" , name); +pr_info ("DVB: registering new adapter (%s)\n" , name); adap->num = num; adap->name = name;
@@ -926,13 +931,13 @@ static int __init init_dvbdev(void)dev_t dev =MKDEV (DVB_MAJOR ,0 );if ((retval =register_chrdev_region (dev,MAX_DVB_MINORS ,"DVB" )) !=0 ) { -printk (KERN_ERR "dvb-core: unable to get major %d\n" ,DVB_MAJOR ); +pr_err ("dvb-core: unable to get major %d\n" ,DVB_MAJOR );return retval; }cdev_init (&dvb_device_cdev, &dvb_device_fops);if ((retval =cdev_add (&dvb_device_cdev, dev,MAX_DVB_MINORS )) !=0 ) { -printk (KERN_ERR "dvb-core: unable register character device\n" ); +pr_err ("dvb-core: unable register character device\n" ); goto error; }
Signature · 1 line
2.7.4
Re: [PATCH 11/25] [media] dvb-core: use pr_foo() instead of printk()
drivers/media/dvb-core/dmxdev.c line 27
Quoted 13 lines
drivers/media/dvb-core/dmxdev.c +2
-0@@ -20,6 +20,8 @@* */ +#define pr_fmt (fmt) "dmxdev: " fmt +#include <linux/sched.h> #include <linux/spinlock.h> #include <linux/slab.h>
How do you think to use an approach like the following there?
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
or eventually
+#define MY_LOG_PREFIX KBUILD_MODNAME ": "
+#define pr_fmt(fmt) MY_LOG_PREFIX fmt
Regards,
Markus
Re: [PATCH 11/25] [media] dvb-core: use pr_foo() instead of printk()
Em Fri, 14 Oct 2016 20:22:40 +0200
SF Markus Elfring <[email protected]> escreveu:
Quoted 17 lines
drivers/media/dvb-core/dmxdev.c line 27
Quoted 13 lines
drivers/media/dvb-core/dmxdev.c +2
-0@@ -20,6 +20,8 @@* */ +#define pr_fmt (fmt) "dmxdev: " fmt +#include <linux/sched.h> #include <linux/spinlock.h> #include <linux/slab.h> How do you think to use an approach like the following there?
Review
Quoted 8 lines
(quoted diff) +3
-0+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt or eventually +#define MY_LOG_PREFIX KBUILD_MODNAME ": " +#define pr_fmt(fmt) MY_LOG_PREFIX fmt
we use a lot KBUILD_MODNAME on driver's pr_fmt() macros.
However, in this specific case, it is not a good idea, as this patch is touching at the DVB core, with is composed by several different and almost independent parts. So, we want to know what part of the DVB core is producing such messages.
Regards,
Mauro
Re: [PATCH 11/25] [media] dvb-core: use pr_foo() instead of printk()
In reply to Mauro Carvalho Chehabdrivers/media/dvb-core/dmxdev.c static int debug; · line 45
Quoted 8 lines · CEST Mauro Carvalho Chehab
drivers/media/dvb-core/dmxdev.c +5
-1-#define dprintk if (debug) printk +#define dprintk(fmt, arg...) do { \ + if (debug) \ + printk(KERN_DEBUG pr_fmt("%s: " fmt), \ + __func__, ##arg); \ +} while (0)
Why not just use pr_debug() or dev_dbg() here? They already have a way to control output at runtime (CONFIG_DYNAMIC_DEBUG).
Arnd
PATCH 12/25 dvb_demux: convert an internal ifdef into a Kconfig option
In reply to Mauro Carvalho ChehabThere are some ifdefs inside the dvb_demux that are meant to enable advanced debug capabilities, at the cost of being very verbose.
Keeping those as internal ifdefs is a very bad idea, as it doesn't make easy to check if the code there was broken by some patch. So, let's add an explicit Kconfig option for it.
--- drivers/media/dvb-core/Kconfig | 13 +++++++++++++ drivers/media/dvb-core/dvb_demux.c | 14 +++++--------- 2 files changed, 18 insertions(+), 9 deletions(-)
drivers/media/dvb-core/Kconfig +13 -0
@@ -27,3 +27,16 @@ config DVB_DYNAMIC_MINORS will be required to manage the device nodes. If you are unsure about this, say N here. + +config DVB_DEMUX_SECTION_LOSS_LOG + bool "Enable DVB demux section packet loss log" + depends on DVB_CORE + default n + help + Enable extra log messages meant to detect packet loss + inside the Kernel. + + Should not be enabled on normal cases, as logs can + be very verbose. + + If you are unsure about this, say N here.
drivers/media/dvb-core/dvb_demux.c +5 -9
@@ -37,10 +37,6 @@#include "dvb_demux.h" #define NOBUFS -/* -** #define DVB_DEMUX_SECTION_LOSS_LOG to monitor payload loss in the syslog -*/ -// #define DVB_DEMUX_SECTION_LOSS_LOG static int dvb_demux_tscheck;module_param (dvb_demux_tscheck, int,0644 );
@@ -194,7 +190,7 @@ static void dvb_dmx_swfilter_section_new(struct dvb_demux_feed *feed) {struct dmx_section_feed *sec = &feed->feed.sec; -#ifdef DVB_DEMUX_SECTION_LOSS_LOG +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG if (sec->secbufp < sec->tsfeedp) {int i, n = sec->tsfeedp - sec->secbufp;
@@ -247,7 +243,7 @@ static int dvb_dmx_swfilter_section_copy_dump(struct dvb_demux_feed *feed,return 0 ;if (sec->tsfeedp + len >DMX_MAX_SECFEED_SIZE ) { -#ifdef DVB_DEMUX_SECTION_LOSS_LOG +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG dprintk ("dvb_demux.c section buffer full loss: %d/%d\n" , sec->tsfeedp + len -DMX_MAX_SECFEED_SIZE ,DMX_MAX_SECFEED_SIZE );
@@ -281,7 +277,7 @@ static int dvb_dmx_swfilter_section_copy_dump(struct dvb_demux_feed *feed,/* dump [secbuf .. secbuf+seclen) */ if (feed->pusi_seen)dvb_dmx_swfilter_section_feed (feed); -#ifdef DVB_DEMUX_SECTION_LOSS_LOG +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG else dprintk("dvb_demux.c pusi not seen, discarding section data\n");#endif
@@ -317,7 +313,7 @@ static int dvb_dmx_swfilter_section_packet(struct dvb_demux_feed *feed, }if (!ccok || dc_i) { -#ifdef DVB_DEMUX_SECTION_LOSS_LOG +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG dprintk ("dvb_demux.c discontinuity detected %d bytes lost\n" , count);/*
@@ -349,7 +345,7 @@ static int dvb_dmx_swfilter_section_packet(struct dvb_demux_feed *feed,dvb_dmx_swfilter_section_copy_dump (feed, after, after_len); } -#ifdef DVB_DEMUX_SECTION_LOSS_LOG +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG else if (count > 0) dprintk("dvb_demux.c PUSI=1 but %d bytes lost\n", count);
Signature · 1 line
2.7.4
PATCH 13/25 dvb_demux: uncomment a packet loss check code
In reply to Mauro Carvalho ChehabThere is a commented code that also detects packet loss. Uncomment it and put into the DVB_DEMUX_SECTION_LOSS_LOG debug Kconfig option.
--- drivers/media/dvb-core/dvb_demux.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
drivers/media/dvb-core/dvb_demux.c +6 -4
@@ -110,21 +110,23 @@ static inline int dvb_dmx_swfilter_payload(struct dvb_demux_feed *feed, {int count =payload (buf);int p; -//int ccok; -//u8 cc; +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG +int ccok; +u8 cc; +#endif if (count ==0 )return -1 ; p =188 - count; -/* +#ifdef CONFIG_DVB_DEMUX_SECTION_LOSS_LOG cc = buf[3 ] &0x0f ; ccok = ((feed->cc +1 ) &0x0f ) == cc; feed->cc = cc;if (!ccok)dprintk ("missed packet!\n" ); -*/ +#endif if (buf[1 ] &0x40 )// PUSI ? feed->peslen =0xfffa ;
Signature · 1 line
2.7.4
PATCH 14/25 dvb-core: get rid of demux optional circular buffer
In reply to Mauro Carvalho ChehabThere is a provision at the dvb_demux.c to use a vmalloc'ed circular buffer, enabled via an extra #ifdef option that it is not at Kconfig. Enabling it will only make the Kernel to allocate/deallocate such buffer, but no code would actually use it. So, no practical effect, except for sparing some memory without any good reason.
So, get rid of such dead code.
--- drivers/media/dvb-core/demux.h | 5 +---- drivers/media/dvb-core/dmxdev.c | 4 ++-- drivers/media/dvb-core/dvb_demux.c | 42 ++------------------------------------ drivers/media/dvb-core/dvb_demux.h | 2 -- drivers/media/dvb-core/dvb_net.c | 3 +-- 5 files changed, 6 insertions(+), 50 deletions(-)
drivers/media/dvb-core/demux.h +1 -4
@@ -103,7 +103,6 @@ struct dmx_ts_feed {u16 pid, int type, enum dmx_ts_pes pes_type, - size_t circular_buffer_size, ktime_t timeout);int (*start_filtering)(struct dmx_ts_feed *feed);int (*stop_filtering)(struct dmx_ts_feed *feed);
@@ -181,7 +180,6 @@ struct dmx_section_feed {/* public: */ int (*set)(struct dmx_section_feed *feed,u16 pid, -size_t circular_buffer_size,int check_crc);int (*allocate_filter)(struct dmx_section_feed *feed,struct dmx_section_filter **filter);
@@ -206,8 +204,7 @@ struct dmx_section_feed {* the &dmx_demux. * Any TS packets that match the filter settings are copied to a circular * buffer. The filtered TS packets are delivered to the client using this -* callback function. The size of the circular buffer is controlled by the -* circular_buffer_size parameter of the &dmx_ts_feed.@set function. +* callback function. * It is expected that the @buffer1 and @buffer2 callback parameters point to * addresses within the circular buffer, but other implementations are also * possible. Note that the called party should not try to free the memory
drivers/media/dvb-core/dmxdev.c +2 -2
@@ -595,7 +595,7 @@ static int dvb_dmxdev_start_feed(struct dmxdev *dmxdev, tsfeed = feed->ts; tsfeed->priv = filter; - ret = tsfeed->set (tsfeed, feed->pid, ts_type, ts_pes,32768 , timeout); + ret = tsfeed->set (tsfeed, feed->pid, ts_type, ts_pes, timeout);if (ret <0 ) { dmxdev->demux->release_ts_feed (dmxdev->demux, tsfeed);return ret;
@@ -666,7 +666,7 @@ static int dvb_dmxdev_filter_start(struct dmxdev_filter *filter)return ret; } - ret = (*secfeed)->set (*secfeed, para->pid,32768 , + ret = (*secfeed)->set (*secfeed, para->pid, (para->flags &DMX_CHECK_CRC ) ?1 :0 );if (ret <0 ) { pr_err("DVB (%s): could not set feed\n",
drivers/media/dvb-core/dvb_demux.c +2 -40
102 lines not on this page · raw message
drivers/media/dvb-core/dvb_demux.h +0 -2
@@ -80,8 +80,6 @@ struct dvb_demux_feed {int type;int state;u16 pid; -u8 *buffer; -int buffer_size;ktime_t timeout;struct dvb_demux_filter *filter;
drivers/media/dvb-core/dvb_net.c +1 -2
@@ -969,7 +969,7 @@ static int dvb_net_feed_start(struct net_device *dev) goto error; } - ret = priv->secfeed->set (priv->secfeed, priv->pid,32768 ,1 ); + ret = priv->secfeed->set (priv->secfeed, priv->pid,1 );if (ret<0 ) {pr_err ("%s: could not set section feed\n" , dev->name);
@@ -1023,7 +1023,6 @@ static int dvb_net_feed_start(struct net_device *dev) priv->pid,/* pid */ TS_PACKET ,/* type */ DMX_PES_OTHER ,/* pes type */ -32768 ,/* circular buffer size */ timeout/* timeout */ );
Signature · 1 line
2.7.4
PATCH 15/25 dvb-core: move dvb_filter out of the DVB core
In reply to Mauro Carvalho ChehabThe dvb_filter.c can hardly be considered as part of the DVB core. More than half of the code there is commented out by av7110 and ttusb_dec.
On the latter, just two small helper functions and a struct definition is used.
Being part of the core means that it would require an amount of work to fix issues in it, like bad printk's on it, and to document it on some future, like other kAPI headers. It simply not worth the effort for something that seems to be deprecated, as no new drivers use it.
So, move it out of the core, by moving it to pci/ttpci directory, where av7110 driver is kept, and copy the two routines used by ttyusb_dec directly into its code.
---
drivers/media/common/b2c2/flexcop-common.h | 1 -
drivers/media/dvb-core/Makefile | 2 +-
drivers/media/pci/ttpci/Makefile | 2 +-
drivers/media/{dvb-core => pci/ttpci}/dvb_filter.c | 3 --
drivers/media/{dvb-core => pci/ttpci}/dvb_filter.h | 0
drivers/media/usb/ttusb-dec/ttusb_dec.c | 58 +++++++++++++++++++++-
6 files changed, 59 insertions(+), 7 deletions(-)
rename drivers/media/{dvb-core => pci/ttpci}/dvb_filter.c (99%)
rename drivers/media/{dvb-core => pci/ttpci}/dvb_filter.h (100%)drivers/media/common/b2c2/flexcop-common.h +0 -1
@@ -14,7 +14,6 @@#include "dmxdev.h" #include "dvb_demux.h" -#include "dvb_filter.h" #include "dvb_net.h" #include "dvb_frontend.h"
drivers/media/dvb-core/Makefile +1 -1
@@ -4,7 +4,7 @@ dvb-net-$(CONFIG_DVB_NET) := dvb_net.o -dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o dvb_filter.o \ +dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o \ dvb_ca_en50221.o dvb_frontend.o \ $(dvb-net-y) dvb_ringbuffer.o dvb_math.o
drivers/media/pci/ttpci/Makefile +1 -1
@@ -3,7 +3,7 @@ # and the AV7110 DVB device driver # -dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o +dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o dvb_filter.o ifdef CONFIG_DVB_AV7110_IR dvb-ttpci-objs += av7110_ir.o
drivers/media/pci/ttpci/dvb_filter.c renamed from drivers/media/dvb-core/dvb_filter.c +0 -3
@@ -390,7 +390,6 @@ int dvb_filter_get_ac3info(u8 *mbuf, int count, struct dvb_audio_info *ai, int preturn 0 ; } -EXPORT_SYMBOL (dvb_filter_get_ac3info);#if 0
@@ -565,7 +564,6 @@ void dvb_filter_pes2ts_init(struct dvb_filter_pes2ts *p2ts, unsigned short pid, p2ts->cb=cb; p2ts->priv=priv; } -EXPORT_SYMBOL (dvb_filter_pes2ts_init);int dvb_filter_pes2ts (struct dvb_filter_pes2ts *p2ts,unsigned char *pes,int len,int payload_start)
@@ -600,4 +598,3 @@ int dvb_filter_pes2ts(struct dvb_filter_pes2ts *p2ts, unsigned char *pes,memcpy (buf+5 +rest, pes, len);return p2ts->cb (p2ts->priv, buf); } -EXPORT_SYMBOL (dvb_filter_pes2ts);
drivers/media/pci/ttpci/dvb_filter.h renamed from drivers/media/dvb-core/dvb_filter.h +0 -0
drivers/media/usb/ttusb-dec/ttusb_dec.c +57 -1
76 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH 16/25 dvb_filter: get rid of dead code
In reply to Mauro Carvalho ChehabThere are lots of stuff here commented out for a really long time. Get rid of them. If one wants it again, it could always use git log.
--- drivers/media/pci/ttpci/dvb_filter.c | 485 ----------------------------------- 1 file changed, 485 deletions(-)
drivers/media/pci/ttpci/dvb_filter.c +0 -485
@@ -3,13 +3,6 @@#include <linux/string.h> #include "dvb_filter.h" -#if 0 -static unsigned int bitrates[3 ][16 ] = -{{0 ,32 ,64 ,96 ,128 ,160 ,192 ,224 ,256 ,288 ,320 ,352 ,384 ,416 ,448 ,0 }, - {0 ,32 ,48 ,56 ,64 ,80 ,96 ,112 ,128 ,160 ,192 ,224 ,256 ,320 ,384 ,0 }, - {0 ,32 ,40 ,48 ,56 ,64 ,80 ,96 ,112 ,128 ,160 ,192 ,224 ,256 ,320 ,0 }}; -#endif -static u32 freq[4 ] = {480 ,441 ,320 ,0 }; static unsigned int ac3_bitrates[32] =
@@ -25,323 +18,6 @@ static u32 ac3_frames[3][32] = 1536,1728,1920,0,0,0,0,0,0,0,0,0,0,0,0,0}}; - -#if 0 -static void setup_ts2pes (ipack *pa,ipack *pv,u16 *pida,u16 *pidv, -void (*pes_write)(u8 *buf,int count,void *data), -void *priv) -{ -dvb_filter_ipack_init (pa,IPACKS , pes_write); -dvb_filter_ipack_init (pv,IPACKS , pes_write); - pa->pid = pida; - pv->pid = pidv; - pa->data = priv; - pv->data = priv; -} -#endif - -#if 0 -static void ts_to_pes (ipack *p,u8 *buf)// don't need count (=188) -{ -u8 off =0 ; - -if (!buf || !p ){ -printk ("NULL POINTER IDIOT\n" ); -return ; - } -if (buf[1 ]&PAY_START ) { -if (p->plength ==MMAX_PLENGTH -6 && p->found>6 ){ - p->plength = p->found-6 ; - p->found =0 ; -send_ipack (p); -dvb_filter_ipack_reset (p); - } - } -if (buf[3 ] &ADAPT_FIELD ) {// adaptation field? - off = buf[4 ] +1 ; -if (off+4 >187 )return ; - } -dvb_filter_instant_repack (buf+4 +off,TS_SIZE -4 -off, p); -} -#endif - -#if 0 -/* needs 5 byte input, returns picture coding type*/ -static int read_picture_header (u8 *headr,struct mpg_picture *pic,int field,int pr) -{ -u8 pct; - -if (pr)printk ("Pic header: " ); - pic->temporal_reference[field] = (( headr[0 ] <<2 ) | - (headr[1 ] &0x03 ) )&0x03ff ; -if (pr)printk (" temp ref: 0x%04x" , pic->temporal_reference[field]); - - pct = ( headr[1 ] >>2 ) &0x07 ; - pic->picture_coding_type[field] = pct; -if (pr) { -switch (pct){ -case I_FRAME : -printk (" I-FRAME" ); -break ; -case B_FRAME : -printk (" B-FRAME" ); -break ; -case P_FRAME : -printk (" P-FRAME" ); -break ; - } - } - - - pic->vinfo.vbv_delay = (( headr[1 ] >>5 ) | ( headr[2 ] <<3 ) | - ( (headr[3 ] &0x1F ) <<11 ) ) &0xffff ; - -if (pr)printk (" vbv delay: 0x%04x" , pic->vinfo.vbv_delay); - - pic->picture_header_parameter = ( headr[3 ] &0xe0 ) | - ((headr[4 ] &0x80 ) >>3 ); - -if ( pct ==B_FRAME ){ - pic->picture_header_parameter |= ( headr[4 ] >>3 ) &0x0f ; - } -if (pr)printk (" pic head param: 0x%x" , - pic->picture_header_parameter); - -return pct; -} -#endif - -#if 0 -/* needs 4 byte input */ -static int read_gop_header (u8 *headr,struct mpg_picture *pic,int pr) -{ -if (pr)printk ("GOP header: " ); - - pic->time_code = (( headr[0 ] <<17 ) | ( headr[1 ] <<9 ) | - ( headr[2 ] <<1 ) | (headr[3 ] &0x01 )) &0x1ffffff ; - -if (pr)printk (" time: %d:%d.%d " , (headr[0 ]>>2 )&0x1F , - ((headr[0 ]<<4 )&0x30 )| ((headr[1 ]>>4 )&0x0F ), - ((headr[1 ]<<3 )&0x38 )| ((headr[2 ]>>5 )&0x0F )); - -if ( ( headr[3 ] &0x40 ) !=0 ){ - pic->closed_gop =1 ; - }else { - pic->closed_gop =0 ; - } -if (pr)printk ("closed: %d" , pic->closed_gop); - -if ( ( headr[3 ] &0x20 ) !=0 ){ - pic->broken_link =1 ; - }else { - pic->broken_link =0 ; - } -if (pr)printk (" broken: %d\n" , pic->broken_link); - -return 0 ; -} -#endif - -#if 0 -/* needs 8 byte input */ -static int read_sequence_header (u8 *headr,struct dvb_video_info *vi,int pr) -{ -int sw; -int form =-1 ; - -if (pr)printk ("Reading sequence header\n" ); - - vi->horizontal_size = ((headr[1 ] &0xF0 ) >>4 ) | (headr[0 ] <<4 ); - vi->vertical_size = ((headr[1 ] &0x0F ) <<8 ) | (headr[2 ]); - - sw = (int )((headr[3 ]&0xF0 ) >>4 ) ; - -switch ( sw ){ -case 1 : -if (pr) -printk ("Videostream: ASPECT: 1:1" ); - vi->aspect_ratio =100 ; -break ; -case 2 : -if (pr) -printk ("Videostream: ASPECT: 4:3" ); - vi->aspect_ratio =133 ; -break ; -case 3 : -if (pr) -printk ("Videostream: ASPECT: 16:9" ); - vi->aspect_ratio =177 ; -break ; -case 4 : -if (pr) -printk ("Videostream: ASPECT: 2.21:1" ); - vi->aspect_ratio =221 ; -break ; - - case 5 ... 15: -if (pr) -printk ("Videostream: ASPECT: reserved" ); - vi->aspect_ratio =0 ; -break ; - -default : - vi->aspect_ratio =0 ; -return -1 ; - } - -if (pr) -printk (" Size = %dx%d" ,vi->horizontal_size,vi->vertical_size); - - sw = (int )(headr[3 ]&0x0F ); - -switch ( sw ) { -case 1 : -if (pr) -printk (" FRate: 23.976 fps" ); - vi->framerate =23976 ; - form =-1 ; -break ; -case 2 : -if (pr) -printk (" FRate: 24 fps" ); - vi->framerate =24000 ; - form =-1 ; -break ; -case 3 : -if (pr) -printk (" FRate: 25 fps" ); - vi->framerate =25000 ; - form =VIDEO_MODE_PAL ; -break ; -case 4 : -if (pr) -printk (" FRate: 29.97 fps" ); - vi->framerate =29970 ; - form =VIDEO_MODE_NTSC ; -break ; -case 5 : -if (pr) -printk (" FRate: 30 fps" ); - vi->framerate =30000 ; - form =VIDEO_MODE_NTSC ; -break ; -case 6 : -if (pr) -printk (" FRate: 50 fps" ); - vi->framerate =50000 ; - form =VIDEO_MODE_PAL ; -break ; -case 7 : -if (pr) -printk (" FRate: 60 fps" ); - vi->framerate =60000 ; - form =VIDEO_MODE_NTSC ; -break ; - } - - vi->bit_rate = (headr[4 ] <<10 ) | (headr[5 ] <<2 ) | (headr[6 ] &0x03 ); - - vi->vbv_buffer_size - = (( headr[6 ] &0xF8 ) >>3 ) | (( headr[7 ] &0x1F )<<5 ); - -if (pr){ -printk (" BRate: %d Mbit/s" ,4 *(vi->bit_rate)/10000 ); -printk (" vbvbuffer %d" ,16 *1024 *(vi->vbv_buffer_size)); -printk ("\n" ); - } - - vi->video_format = form; - -return 0 ; -} -#endif - - -#if 0 -static int get_vinfo (u8 *mbuf,int count,struct dvb_video_info *vi,int pr) -{ -u8 *headr; -int found =0 ; -int c =0 ; - -while (found <4 && c+4 < count){ -u8 *b; - - b = mbuf+c; -if ( b[0 ] ==0x00 && b[1 ] ==0x00 && b[2 ] ==0x01 - && b[3 ] ==0xb3 ) found =4 ; -else { - c++; - } - } - -if (! found)return -1 ; - c +=4 ; -if (c+12 >= count)return -1 ; - headr = mbuf+c; -if (read_sequence_header (headr, vi, pr) <0 )return -1 ; - vi->off = c-4 ; -return 0 ; -} -#endif - - -#if 0 -static int get_ainfo (u8 *mbuf,int count,struct dvb_audio_info *ai,int pr) -{ -u8 *headr; -int found =0 ; -int c =0 ; -int fr =0 ; - -while (found <2 && c < count){ -u8 b[2 ]; -memcpy ( b, mbuf+c,2 ); - -if ( b[0 ] ==0xff && (b[1 ] &0xf8 ) ==0xf8 ) - found =2 ; -else { - c++; - } - } - -if (!found)return -1 ; - -if (c+3 >= count)return -1 ; - headr = mbuf+c; - - ai->layer = (headr[1 ] &0x06 ) >>1 ; - -if (pr) -printk ("Audiostream: Layer: %d" ,4 -ai->layer); - - - ai->bit_rate = bitrates[(3 -ai->layer)][(headr[2 ] >>4 )]*1000 ; - -if (pr){ -if (ai->bit_rate ==0 ) -printk (" Bit rate: free" ); -else if (ai->bit_rate ==0xf ) -printk (" BRate: reserved" ); -else -printk (" BRate: %d kb/s" , ai->bit_rate/1000 ); - } - - fr = (headr[2 ] &0x0c ) >>2 ; - ai->frequency = freq[fr]*100 ; -if (pr){ -if (ai->frequency ==3 ) -printk (" Freq: reserved\n" ); -else -printk (" Freq: %d kHz\n" ,ai->frequency); - - } - ai->off = c; -return 0 ; -} -#endif - -int dvb_filter_get_ac3info (u8 *mbuf,int count,struct dvb_audio_info *ai,int pr) {u8 *headr;
@@ -391,167 +67,6 @@ int dvb_filter_get_ac3info(u8 *mbuf, int count, struct dvb_audio_info *ai, int preturn 0 ; } - -#if 0 -static u8 *skip_pes_header (u8 **bufp) -{ -u8 *inbuf = *bufp; -u8 *buf = inbuf; -u8 *pts =NULL ; -int skip =0 ; - -static const int mpeg1_skip_table[16 ] = { -1 ,0xffff ,5 ,10 ,0xffff ,0xffff ,0xffff ,0xffff , -0xffff ,0xffff ,0xffff ,0xffff ,0xffff ,0xffff ,0xffff ,0xffff - }; - - -if ((inbuf[6 ] &0xc0 ) ==0x80 ){/* mpeg2 */ -if (buf[7 ] &PTS_ONLY ) - pts = buf+9 ; -else pts =NULL ; - buf = inbuf +9 + inbuf[8 ]; - }else {/* mpeg1 */ -for (buf = inbuf +6 ; *buf ==0xff ; buf++) -if (buf == inbuf +6 +16 ) { -break ; - } -if ((*buf &0xc0 ) ==0x40 ) - buf +=2 ; - skip = mpeg1_skip_table [*buf >>4 ]; -if (skip ==5 || skip ==10 ) pts = buf; -else pts =NULL ; - - buf += mpeg1_skip_table [*buf >>4 ]; - } - - *bufp = buf; -return pts; -} -#endif - -#if 0 -static void initialize_quant_matrix (u32 *matrix ) -{ -int i; - - matrix[0 ] =0x08101013 ; - matrix[1 ] =0x10131616 ; - matrix[2 ] =0x16161616 ; - matrix[3 ] =0x1a181a1b ; - matrix[4 ] =0x1b1b1a1a ; - matrix[5 ] =0x1a1a1b1b ; - matrix[6 ] =0x1b1d1d1d ; - matrix[7 ] =0x2222221d ; - matrix[8 ] =0x1d1d1b1b ; - matrix[9 ] =0x1d1d2020 ; - matrix[10 ] =0x22222526 ; - matrix[11 ] =0x25232322 ; - matrix[12 ] =0x23262628 ; - matrix[13 ] =0x28283030 ; - matrix[14 ] =0x2e2e3838 ; - matrix[15 ] =0x3a454553 ; - -for ( i =16 ; i <32 ; i++ ) - matrix[i] =0x10101010 ; -} -#endif - -#if 0 -static void initialize_mpg_picture (struct mpg_picture *pic) -{ -int i; - -/* set MPEG1 */ - pic->mpeg1_flag =1 ; - pic->profile_and_level =0x4A ;/* MP@LL */ - pic->progressive_sequence =1 ; - pic->low_delay =0 ; - - pic->sequence_display_extension_flag =0 ; -for ( i =0 ; i <4 ; i++ ){ - pic->frame_centre_horizontal_offset[i] =0 ; - pic->frame_centre_vertical_offset[i] =0 ; - } - pic->last_frame_centre_horizontal_offset =0 ; - pic->last_frame_centre_vertical_offset =0 ; - - pic->picture_display_extension_flag[0 ] =0 ; - pic->picture_display_extension_flag[1 ] =0 ; - pic->sequence_header_flag =0 ; - pic->gop_flag =0 ; - pic->sequence_end_flag =0 ; -} -#endif - -#if 0 -static void mpg_set_picture_parameter (int32_t field_type,struct mpg_picture *pic ) -{ -int16_t last_h_offset; -int16_t last_v_offset; - -int16_t *p_h_offset; -int16_t *p_v_offset; - -if ( pic->mpeg1_flag ){ - pic->picture_structure[field_type] =VIDEO_FRAME_PICTURE ; - pic->top_field_first =0 ; - pic->repeat_first_field =0 ; - pic->progressive_frame =1 ; - pic->picture_coding_parameter =0x000010 ; - } - -/* Reset flag */ - pic->picture_display_extension_flag[field_type] =0 ; - - last_h_offset = pic->last_frame_centre_horizontal_offset; - last_v_offset = pic->last_frame_centre_vertical_offset; -if ( field_type ==FIRST_FIELD ){ - p_h_offset = pic->frame_centre_horizontal_offset; - p_v_offset = pic->frame_centre_vertical_offset; - *p_h_offset = last_h_offset; - *(p_h_offset +1 ) = last_h_offset; - *(p_h_offset +2 ) = last_h_offset; - *p_v_offset = last_v_offset; - *(p_v_offset +1 ) = last_v_offset; - *(p_v_offset +2 ) = last_v_offset; - }else { - pic->frame_centre_horizontal_offset[3 ] = last_h_offset; - pic->frame_centre_vertical_offset[3 ] = last_v_offset; - } -} -#endif - -#if 0 -static void init_mpg_picture (struct mpg_picture *pic,int chan,int32_t field_type) -{ - pic->picture_header =0 ; - pic->sequence_header_data - = (INIT_HORIZONTAL_SIZE <<20 ) - | (INIT_VERTICAL_SIZE <<8 ) - | (INIT_ASPECT_RATIO <<4 ) - | (INIT_FRAME_RATE ); - pic->mpeg1_flag =0 ; - pic->vinfo.horizontal_size - =INIT_DISP_HORIZONTAL_SIZE ; - pic->vinfo.vertical_size - =INIT_DISP_VERTICAL_SIZE ; - pic->picture_display_extension_flag[field_type] - =0 ; - pic->pts_flag[field_type] =0 ; - - pic->sequence_gop_header =0 ; - pic->picture_header =0 ; - pic->sequence_header_flag =0 ; - pic->gop_flag =0 ; - pic->sequence_end_flag =0 ; - pic->sequence_display_extension_flag =0 ; - pic->last_frame_centre_horizontal_offset =0 ; - pic->last_frame_centre_vertical_offset =0 ; - pic->channel = chan; -} -#endif -void dvb_filter_pes2ts_init (struct dvb_filter_pes2ts *p2ts,unsigned short pid,dvb_filter_pes2ts_cb_t *cb,void *priv) {
Signature · 1 line
2.7.4
PATCH 17/25 dvb_filter: use KERN_CONT where needed
In reply to Mauro Carvalho ChehabSome continuation messages are not using KERN_CONT.
Since commit 563873318d32 ("Merge branch 'printk-cleanups"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
While here, add missing log level annotations.
--- drivers/media/pci/ttpci/dvb_filter.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
drivers/media/pci/ttpci/dvb_filter.c +6 -7
@@ -17,7 +17,6 @@ static u32 ac3_frames[3][32] = {96 ,120 ,144 ,168 ,192 ,240 ,288 ,336 ,384 ,480 ,576 ,672 ,768 ,960 ,1152 ,1344 , 1536,1728,1920,0,0,0,0,0,0,0,0,0,0,0,0,0}}; -int dvb_filter_get_ac3info (u8 *mbuf,int count,struct dvb_audio_info *ai,int pr) {u8 *headr;
@@ -38,7 +37,7 @@ int dvb_filter_get_ac3info(u8 *mbuf, int count, struct dvb_audio_info *ai, int pif (!found)return -1 ;if (pr) -printk ("Audiostream: AC3" ); +printk (KERN_DEBUG "Audiostream: AC3" ); ai->off = c;if (c+5 >= count)return -1 ;
@@ -50,19 +49,19 @@ int dvb_filter_get_ac3info(u8 *mbuf, int count, struct dvb_audio_info *ai, int p ai->bit_rate = ac3_bitrates[frame >>1 ]*1000 ;if (pr) -printk (" BRate: %d kb/s" , (int ) ai->bit_rate/1000 ); +printk (KERN_CONT " BRate: %d kb/s" , (int ) ai->bit_rate/1000 ); ai->frequency = (headr[2 ] &0xc0 ) >>6 ; fr = (headr[2 ] &0xc0 ) >>6 ; ai->frequency = freq[fr]*100 ; -if (pr)printk (" Freq: %d Hz\n" , (int ) ai->frequency); - +if (pr) +printk (KERN_CONT " Freq: %d Hz\n" , (int ) ai->frequency); ai->framesize = ac3_frames[fr][frame >>1 ];if ((frame &1 ) && (fr ==1 )) ai->framesize++; ai->framesize = ai->framesize <<1 ; -if (pr)printk (" Framesize %d\n" ,(int ) ai->framesize); - +if (pr) +printk (KERN_DEBUG " Framesize %d\n" , (int ) ai->framesize);return 0 ; }
Signature · 1 line
2.7.4
PATCH 18/25 uvc_driver: use KERN_CONT where needed
In reply to Mauro Carvalho ChehabSome continuation messages are not using KERN_CONT.
Since commit 563873318d32 ("Merge branch 'printk-cleanups"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
--- drivers/media/usb/uvc/uvc_driver.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)
drivers/media/usb/uvc/uvc_driver.c +15 -15
@@ -1309,7 +1309,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,switch (UVC_ENTITY_TYPE (entity)) {case UVC_VC_EXTENSION_UNIT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- XU %d" , entity->id); +printk (KERN_CONT " <- XU %d" , entity->id);if (entity->bNrInPins !=1 ) { uvc_trace(UVC_TRACE_DESCR, "Extension unit %d has more "
@@ -1321,7 +1321,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,case UVC_VC_PROCESSING_UNIT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- PU %d" , entity->id); +printk (KERN_CONT " <- PU %d" , entity->id);if (chain->processing !=NULL ) { uvc_trace(UVC_TRACE_DESCR, "Found multiple "
@@ -1334,7 +1334,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,case UVC_VC_SELECTOR_UNIT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- SU %d" , entity->id); +printk (KERN_CONT " <- SU %d" , entity->id);/* Single-input selector units are ignored. */ if (entity->bNrInPins ==1 )
@@ -1353,7 +1353,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,case UVC_ITT_CAMERA :case UVC_ITT_MEDIA_TRANSPORT_INPUT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- IT %d\n" , entity->id); +printk (KERN_CONT " <- IT %d\n" , entity->id);break ;
@@ -1361,17 +1361,17 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,case UVC_OTT_DISPLAY :case UVC_OTT_MEDIA_TRANSPORT_OUTPUT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" OT %d" , entity->id); +printk (KERN_CONT " OT %d" , entity->id);break ;case UVC_TT_STREAMING :if (UVC_ENTITY_IS_ITERM (entity)) {if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- IT %d\n" , entity->id); +printk (KERN_CONT " <- IT %d\n" , entity->id); }else {if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" OT %d" , entity->id); +printk (KERN_CONT " OT %d" , entity->id); }break ;
@@ -1416,9 +1416,9 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain,list_add_tail (&forward->chain, &chain->entities);if (uvc_trace_param &UVC_TRACE_PROBE ) {if (!found) -printk (" (->" ); +printk (KERN_CONT " (->" ); -printk (" XU %d" , forward->id); +printk (KERN_CONT " XU %d" , forward->id); found =1 ; }break ;
@@ -1436,16 +1436,16 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain,list_add_tail (&forward->chain, &chain->entities);if (uvc_trace_param &UVC_TRACE_PROBE ) {if (!found) -printk (" (->" ); +printk (KERN_CONT " (->" ); -printk (" OT %d" , forward->id); +printk (KERN_CONT " OT %d" , forward->id); found =1 ; }break ; } }if (found) -printk (")" ); +printk (KERN_CONT ")" );return 0 ; }
@@ -1471,7 +1471,7 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain, }if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- IT" ); +printk (KERN_CONT " <- IT" ); chain->selector = entity;for (i =0 ; i < entity->bNrInPins; ++i) {
@@ -1485,14 +1485,14 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain, }if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" %d" , term->id); +printk (KERN_CONT " %d" , term->id);list_add_tail (&term->chain, &chain->entities);uvc_scan_chain_forward (chain, term, entity); }if (uvc_trace_param &UVC_TRACE_PROBE ) -printk ("\n" ); +printk (KERN_CONT "\n" ); id =0 ;break ;
Signature · 1 line
2.7.4
Re: [PATCH 18/25] [media] uvc_driver: use KERN_CONT where needed
Hi Mauro,
Thank you for the patch.
Quoted 7 lines · On Friday 14 Oct 2016 14:45:56 Mauro Carvalho Chehab wrote:
Some continuation messages are not using
KERN_CONT.Since commit
563873318d32("Merge branch 'printk-cleanups"), this won't work as expected anymore. So, let's addKERN_CONTto those lines.Signed-off-by Mauro Carvalho Chehab <[email protected]>
Quoted 10 lines
--- drivers/media/usb/uvc/uvc_driver.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)(quoted diff) +0
-0
b/drivers/media/usb/uvc/uvc_driver.cindex302e284a95eb..9c4b56b4a9c6100644
drivers/media/usb/uvc/uvc_driver.c static int uvc_scan_chain_entity(struct · line 1315
Quoted 8 lines
drivers/media/usb/uvc/uvc_driver.c +1
-1@@ -1309,7 +1309,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, switch (UVC_ENTITY_TYPE(entity)) {case UVC_VC_EXTENSION_UNIT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- XU %d" , entity->id); +printk (KERN_CONT " <- XU %d" , entity->id);if (entity->bNrInPins !=1 ) { uvc_trace(UVC_TRACE_DESCR, "Extension unit %d has more
"
Quoted 108 lines
drivers/media/usb/uvc/uvc_driver.c +1
-1@@ -1321,7 +1321,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, case UVC_VC_PROCESSING_UNIT: if (uvc_trace_param & UVC_TRACE_PROBE) - printk(" <- PU %d", entity->id); + printk(KERN_CONT " <- PU %d", entity->id); if (chain->processing != NULL) {drivers/media/usb/uvc/uvc_driver.c +1
-1uvc_trace(UVC_TRACE_DESCR, "Found multiple "@@ -1334,7 +1334,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, case UVC_VC_SELECTOR_UNIT: if (uvc_trace_param & UVC_TRACE_PROBE) - printk(" <- SU %d", entity->id); + printk(KERN_CONT " <- SU %d", entity->id); /* Single-input selector units are ignored. */drivers/media/usb/uvc/uvc_driver.c +0
-0if (entity->bNrInPins ==1 )@@ -1353,7 +1353,7 @@ static int uvc_scan_chain_entity(struct
uvc_video_chain*chain, caseUVC_ITT_CAMERA:drivers/media/usb/uvc/uvc_driver.c +1
-1case UVC_ITT_MEDIA_TRANSPORT_INPUT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- IT %d\n" , entity->id); +printk (KERN_CONT " <- IT %d\n" , entity->id);break ;@@ -1361,17 +1361,17 @@ static int uvc_scan_chain_entity(struct
uvc_video_chain*chain, caseUVC_OTT_DISPLAY:drivers/media/usb/uvc/uvc_driver.c +11
-11case UVC_OTT_MEDIA_TRANSPORT_OUTPUT :if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" OT %d" , entity->id); +printk (KERN_CONT " OT %d" , entity->id);break ;case UVC_TT_STREAMING :if (UVC_ENTITY_IS_ITERM (entity)) {if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- IT %d\n" , entity->id); +printk (KERN_CONT " <- IT %d\n" , entity->id); }else {if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" OT %d" , entity->id); +printk (KERN_CONT " OT %d" , entity->id); }break ;@@ -1416,9 +1416,9 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain,list_add_tail (&forward->chain, &chain->entities);if (uvc_trace_param &UVC_TRACE_PROBE ) {if (!found) -printk (" (->" ); +printk (KERN_CONT " (->" ); -printk (" XU %d" , forward->id); +printk (KERN_CONT " XU %d" , forward->id); found =1 ; }break ;@@ -1436,16 +1436,16 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain,list_add_tail (&forward->chain, &chain->entities);if (uvc_trace_param &UVC_TRACE_PROBE ) {if (!found) -printk (" (->" ); +printk (KERN_CONT " (->" ); -printk (" OT %d" , forward->id); +printk (KERN_CONT " OT %d" , forward->id); found =1 ; }break ; } }if (found) -printk (")" ); +printk (KERN_CONT ")" );return 0 ; }@@ -1471,7 +1471,7 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain, }if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" <- IT" ); +printk (KERN_CONT " <- IT" ); chain->selector = entity;for (i =0 ; i < entity->bNrInPins; ++i) {@@ -1485,14 +1485,14 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain, }if (uvc_trace_param &UVC_TRACE_PROBE ) -printk (" %d" , term->id); +printk (KERN_CONT " %d" , term->id);list_add_tail (&term->chain, &chain->entities);uvc_scan_chain_forward (chain, term, entity); }if (uvc_trace_param &UVC_TRACE_PROBE ) -printk ("\n" ); +printk (KERN_CONT "\n" ); id =0 ;break ;
Signature · 3 lines
Regards, Laurent Pinchart
PATCH 19/25 imon: use %*ph to do small hexa dumps
In reply to Mauro Carvalho ChehabSince commit 563873318d32 ("Merge branch 'printk-cleanups"), continuation lines require KERN_CONT. Instead, let's just use %*ph to print the buffer.
--- drivers/media/rc/imon.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
drivers/media/rc/imon.c +2 -5
@@ -1593,7 +1593,6 @@ static void imon_incoming_packet(struct imon_context *ictx,struct device *dev = ictx->dev;unsigned long flags;u32 kc; -int i;u64 scancode;int press_type =0 ;int msec;
@@ -1664,10 +1663,8 @@ static void imon_incoming_packet(struct imon_context *ictx, }if (debug) { -printk (KERN_INFO "intf%d decoded packet: " , intf); -for (i =0 ; i < len; ++i) -printk ("%02x " , buf[i]); -printk ("\n" ); +printk (KERN_INFO "intf%d decoded packet: %*ph\n" , + intf, len, buf); } press_type =imon_parse_press_type (ictx, buf, ktype);
Signature · 1 line
2.7.4
PATCH 20/25 mt20xx: use %*ph to do small hexa dumps
In reply to Mauro Carvalho ChehabSince commit 563873318d32 ("Merge branch 'printk-cleanups"), continuation lines require KERN_CONT. Instead, let's just use %*ph to print the buffer.
--- drivers/media/tuners/mt20xx.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-)
drivers/media/tuners/mt20xx.c +5 -16
@@ -487,13 +487,8 @@ static void mt2050_set_if_freq(struct dvb_frontend *fe,unsigned int freq, unsign buf[5 ]=div2a;if (num2!=0 ) buf[5 ]=buf[5 ]|0x40 ; -if (debug >1 ) { -int i; -tuner_dbg ("bufs is: " ); -for (i=0 ;i<6 ;i++) -printk ("%x " ,buf[i]); -printk ("\n" ); - } +if (debug >1 ) +tuner_dbg ("bufs is: %*ph\n" ,6 , buf); ret=tuner_i2c_xfer_send (&priv->i2c_props,buf,6 );if (ret!=6 )
@@ -619,15 +614,9 @@ struct dvb_frontend *microtune_attach(struct dvb_frontend *fe,tuner_i2c_xfer_send (&priv->i2c_props,buf,1 );tuner_i2c_xfer_recv (&priv->i2c_props,buf,21 ); -if (debug) { -int i; -tuner_dbg ("MT20xx hexdump:" ); -for (i=0 ;i<21 ;i++) { -printk (" %02x" ,buf[i]); -if (((i+1 )%8 )==0 )printk (" " ); - } -printk ("\n" ); - } +if (debug) +tuner_dbg ("MT20xx hexdump: %*ph\n" ,21 , buf); + company_code = buf[0x11 ] <<8 | buf[0x12 ];tuner_info ("microtune: companycode=%04x part=%02x rev=%02x\n" , company_code,buf[0x13 ],buf[0x14 ]);
Signature · 1 line
2.7.4
PATCH 21/25 tvaudio: mark printk continuation lines as such
In reply to Mauro Carvalho ChehabThis driver has printk continuation lines for debugging purposes. Since commit 563873318d32
("Merge branch 'printk-cleanups'"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
--- drivers/media/i2c/tvaudio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/media/i2c/tvaudio.c +3 -2
@@ -1894,8 +1894,9 @@ static int tvaudio_probe(struct i2c_client *client, const struct i2c_device_id *printk (KERN_INFO "tvaudio: TV audio decoder + audio/video mux driver\n" );printk (KERN_INFO "tvaudio: known chips: " );for (desc = chiplist; desc->name !=NULL ; desc++) -printk ("%s%s" , (desc == chiplist) ?"" :", " , desc->name); -printk ("\n" ); +printk (KERN_CONT "%s%s" , + (desc == chiplist) ?"" :", " , desc->name); +printk (KERN_CONT "\n" ); } chip =devm_kzalloc (&client->dev,sizeof (*chip),GFP_KERNEL );
Signature · 1 line
2.7.4
PATCH 22/25 flexcop-i2c: mark printk continuation lines as such
In reply to Mauro Carvalho ChehabThis driver has printk continuation lines for debugging purposes.
Since commit 563873318d32 ("Merge branch 'printk-cleanups'"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
--- drivers/media/common/b2c2/flexcop-i2c.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/media/common/b2c2/flexcop-i2c.c +5 -5
@@ -124,10 +124,10 @@ int flexcop_i2c_request(struct flexcop_i2c_adapter *i2c,#ifdef DUMP_I2C_MESSAGES printk (KERN_DEBUG "%d " , i2c->port);if (op ==FC_READ ) -printk ("rd(" ); +printk (KERN_CONT "rd(" );else -printk ("wr(" ); -printk ("%02x): %02x " , chipaddr, addr); +printk (KERN_CONT "wr(" ); +printk (KERN_CONT "%02x): %02x " , chipaddr, addr);#endif /* in that case addr is the only value ->
@@ -151,7 +151,7 @@ int flexcop_i2c_request(struct flexcop_i2c_adapter *i2c,#ifdef DUMP_I2C_MESSAGES for (i =0 ; i < bytes_to_transfer; i++) -printk ("%02x " , buf[i]); +printk (KERN_CONT "%02x " , buf[i]);#endif if (ret <0 )
@@ -163,7 +163,7 @@ int flexcop_i2c_request(struct flexcop_i2c_adapter *i2c, }#ifdef DUMP_I2C_MESSAGES -printk ("\n" ); +printk (KERN_CONT "\n" );#endif return 0 ;
Signature · 1 line
2.7.4
PATCH 23/25 cx2341x: mark printk continuation lines as such
In reply to Mauro Carvalho ChehabThis driver has printk continuation lines for debugging purposes.
Since commit 563873318d32 ("Merge branch 'printk-cleanups'"), this won't work as expected anymore. So, let's add KERN_CONT to those lines.
--- drivers/media/common/cx2341x.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/media/common/cx2341x.c +6 -6
@@ -1190,8 +1190,8 @@ void cx2341x_log_status(const struct cx2341x_mpeg_params *p, const char *prefix) prefix, cx2341x_menu_item(p, V4L2_CID_MPEG_STREAM_TYPE));if (p->stream_insert_nav_packets) -printk (" (with navigation packets)" ); -printk ("\n" ); +printk (KERN_CONT " (with navigation packets)" ); +printk (KERN_CONT "\n" );printk (KERN_INFO "%s: VBI Format: %s\n" , prefix,cx2341x_menu_item (p,V4L2_CID_MPEG_STREAM_VBI_FMT ));
@@ -1209,8 +1209,8 @@ void cx2341x_log_status(const struct cx2341x_mpeg_params *p, const char *prefix)cx2341x_menu_item (p,V4L2_CID_MPEG_VIDEO_BITRATE_MODE ), p->video_bitrate);if (p->video_bitrate_mode ==V4L2_MPEG_VIDEO_BITRATE_MODE_VBR ) -printk (", Peak %d" , p->video_bitrate_peak); -printk ("\n" ); +printk (KERN_CONT ", Peak %d" , p->video_bitrate_peak); +printk (KERN_CONT "\n" ); printk(KERN_INFO "%s: Video: GOP Size %d, %d B-Frames, %sGOP Closure\n", prefix,
@@ -1232,9 +1232,9 @@ void cx2341x_log_status(const struct cx2341x_mpeg_params *p, const char *prefix)cx2341x_menu_item (p,V4L2_CID_MPEG_AUDIO_MODE ), p->audio_mute ? " (muted)" : "");if (p->audio_mode ==V4L2_MPEG_AUDIO_MODE_JOINT_STEREO ) -printk (", %s" ,cx2341x_menu_item (p, +printk (KERN_CONT ", %s" ,cx2341x_menu_item (p,V4L2_CID_MPEG_AUDIO_MODE_EXTENSION )); -printk (", %s, %s\n" , +printk (KERN_CONT ", %s, %s\n" ,cx2341x_menu_item (p,V4L2_CID_MPEG_AUDIO_EMPHASIS ),cx2341x_menu_item (p,V4L2_CID_MPEG_AUDIO_CRC ));
Signature · 1 line
2.7.4
PATCH 24/25 dvb-pll: use pr_foo() macros instead of printk()
In reply to Mauro Carvalho ChehabReplace printk() macros by their pr_foo() counterparts.
--- drivers/media/dvb-frontends/dvb-pll.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-)
drivers/media/dvb-frontends/dvb-pll.c +12 -7
@@ -18,6 +18,8 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/module.h> #include <linux/dvb/frontend.h>
@@ -25,6 +27,9 @@#include "dvb-pll.h" +#define dprintk(fmt, arg...) \ + printk(KERN_DEBUG pr_fmt("%s: " fmt), __func__, ##arg) +struct dvb_pll_priv {/* pll number */ int nr;
@@ -362,7 +367,7 @@ static void opera1_bw(struct dvb_frontend *fe, u8 *buf) result =i2c_transfer (priv->i2c, &msg,1 );if (result !=1 ) -printk (KERN_ERR "%s: i2c_transfer failed:%d" , +pr_err ("%s: i2c_transfer failed:%d" , __func__, result);if (b_w <=10000 )
@@ -432,7 +437,7 @@ static void samsung_dtos403ih102a_set(struct dvb_frontend *fe, u8 *buf) result =i2c_transfer (priv->i2c, &msg,1 );if (result !=1 ) -printk (KERN_ERR "%s: i2c_transfer failed:%d" , +pr_err ("%s: i2c_transfer failed:%d" , __func__, result); buf[2 ] =0x9e ;
@@ -578,7 +583,7 @@ static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf, }if (debug) -printk ("pll: %s: freq=%d | i=%d/%d\n" , desc->name, +dprintk ("pll: %s: freq=%d | i=%d/%d\n" , desc->name, frequency, i, desc->count);if (i == desc->count)return -EINVAL ;
@@ -594,7 +599,7 @@ static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf, desc->set (fe, buf);if (debug) -printk ("pll: %s: div=%d | buf=0x%02x,0x%02x,0x%02x,0x%02x\n" , +dprintk ("pll: %s: div=%d | buf=0x%02x,0x%02x,0x%02x,0x%02x\n" , desc->name, div, buf[0 ], buf[1 ], buf[2 ], buf[3 ]);// calculate the frequency we set it to
@@ -803,10 +808,10 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, fe->tuner_priv = priv;if ((debug) || (id[priv->nr] == pll_desc_id)) { -printk ("dvb-pll[%d]" , priv->nr); +dprintk ("dvb-pll[%d]" , priv->nr);if (i2c !=NULL ) -printk (" %d-%04x" ,i2c_adapter_id (i2c), pll_addr); -printk (": id# %d (%s) attached, %s\n" , pll_desc_id, desc->name, +pr_cont (" %d-%04x" ,i2c_adapter_id (i2c), pll_addr); +pr_cont (": id# %d (%s) attached, %s\n" , pll_desc_id, desc->name, id[priv->nr] == pll_desc_id ?"insmod option" :"autodetected" ); }
Signature · 1 line
2.7.4
PATCH 25/25 nxt6000: use pr_foo() macros instead of printk()
In reply to Mauro Carvalho ChehabReplace printk() macros by their pr_foo() counterparts and use pr_cont() for the continuation lines.
--- drivers/media/dvb-frontends/nxt6000.c | 136 +++++++++++++++++++--------------- 1 file changed, 76 insertions(+), 60 deletions(-)
drivers/media/dvb-frontends/nxt6000.c +76 -60
@@ -19,6 +19,8 @@Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h>
@@ -39,7 +41,11 @@ struct nxt6000_state { };static int debug; -#define dprintk if (debug) printk +#define dprintk(fmt, arg...) do { \ + if (debug) \ + printk(KERN_DEBUG pr_fmt("%s: " fmt), \ + __func__, ##arg); \ +} while (0)static int nxt6000_writereg (struct nxt6000_state * state,u8 reg,u8 data) {
@@ -215,119 +221,129 @@ static void nxt6000_dump_status(struct nxt6000_state *state) {u8 val; -/* -printk("RS_COR_STAT: 0x%02X\n", nxt6000_readreg(fe, RS_COR_STAT)); -printk("VIT_SYNC_STATUS: 0x%02X\n", nxt6000_readreg(fe, VIT_SYNC_STATUS)); -printk("OFDM_COR_STAT: 0x%02X\n", nxt6000_readreg(fe, OFDM_COR_STAT)); -printk("OFDM_SYR_STAT: 0x%02X\n", nxt6000_readreg(fe, OFDM_SYR_STAT)); -printk("OFDM_TPS_RCVD_1: 0x%02X\n", nxt6000_readreg(fe, OFDM_TPS_RCVD_1)); -printk("OFDM_TPS_RCVD_2: 0x%02X\n", nxt6000_readreg(fe, OFDM_TPS_RCVD_2)); -printk("OFDM_TPS_RCVD_3: 0x%02X\n", nxt6000_readreg(fe, OFDM_TPS_RCVD_3)); -printk("OFDM_TPS_RCVD_4: 0x%02X\n", nxt6000_readreg(fe, OFDM_TPS_RCVD_4)); -printk("OFDM_TPS_RESERVED_1: 0x%02X\n", nxt6000_readreg(fe, OFDM_TPS_RESERVED_1)); -printk("OFDM_TPS_RESERVED_2: 0x%02X\n", nxt6000_readreg(fe, OFDM_TPS_RESERVED_2)); -*/ -printk ("NXT6000 status:" ); +#if 0 +pr_info ("RS_COR_STAT: 0x%02X\n" , +nxt6000_readreg (fe,RS_COR_STAT )); +pr_info ("VIT_SYNC_STATUS: 0x%02X\n" , +nxt6000_readreg (fe,VIT_SYNC_STATUS )); +pr_info ("OFDM_COR_STAT: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_COR_STAT )); +pr_info ("OFDM_SYR_STAT: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_SYR_STAT )); +pr_info ("OFDM_TPS_RCVD_1: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_TPS_RCVD_1 )); +pr_info ("OFDM_TPS_RCVD_2: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_TPS_RCVD_2 )); +pr_info ("OFDM_TPS_RCVD_3: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_TPS_RCVD_3 )); +pr_info ("OFDM_TPS_RCVD_4: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_TPS_RCVD_4 )); +pr_info ("OFDM_TPS_RESERVED_1: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_TPS_RESERVED_1 )); +pr_info ("OFDM_TPS_RESERVED_2: 0x%02X\n" , +nxt6000_readreg (fe,OFDM_TPS_RESERVED_2 )); +#endif +pr_info ("NXT6000 status:" ); val =nxt6000_readreg (state,RS_COR_STAT ); -printk (" DATA DESCR LOCK: %d," , val &0x01 ); -printk (" DATA SYNC LOCK: %d," , (val >>1 ) &0x01 ); +pr_cont (" DATA DESCR LOCK: %d," , val &0x01 ); +pr_cont (" DATA SYNC LOCK: %d," , (val >>1 ) &0x01 ); val =nxt6000_readreg (state,VIT_SYNC_STATUS ); -printk (" VITERBI LOCK: %d," , (val >>7 ) &0x01 ); +pr_cont (" VITERBI LOCK: %d," , (val >>7 ) &0x01 );switch ((val >>4 ) &0x07 ) {case 0x00 : -printk (" VITERBI CODERATE: 1/2," ); +pr_cont (" VITERBI CODERATE: 1/2," );break ;case 0x01 : -printk (" VITERBI CODERATE: 2/3," ); +pr_cont (" VITERBI CODERATE: 2/3," );break ;case 0x02 : -printk (" VITERBI CODERATE: 3/4," ); +pr_cont (" VITERBI CODERATE: 3/4," );break ;case 0x03 : -printk (" VITERBI CODERATE: 5/6," ); +pr_cont (" VITERBI CODERATE: 5/6," );break ;case 0x04 : -printk (" VITERBI CODERATE: 7/8," ); +pr_cont (" VITERBI CODERATE: 7/8," );break ;default : -printk (" VITERBI CODERATE: Reserved," ); +pr_cont (" VITERBI CODERATE: Reserved," ); } val =nxt6000_readreg (state,OFDM_COR_STAT ); -printk (" CHCTrack: %d," , (val >>7 ) &0x01 ); -printk (" TPSLock: %d," , (val >>6 ) &0x01 ); -printk (" SYRLock: %d," , (val >>5 ) &0x01 ); -printk (" AGCLock: %d," , (val >>4 ) &0x01 ); +pr_cont (" CHCTrack: %d," , (val >>7 ) &0x01 ); +pr_cont (" TPSLock: %d," , (val >>6 ) &0x01 ); +pr_cont (" SYRLock: %d," , (val >>5 ) &0x01 ); +pr_cont (" AGCLock: %d," , (val >>4 ) &0x01 );switch (val &0x0F ) {case 0x00 : -printk (" CoreState: IDLE," ); +pr_cont (" CoreState: IDLE," );break ;case 0x02 : -printk (" CoreState: WAIT_AGC," ); +pr_cont (" CoreState: WAIT_AGC," );break ;case 0x03 : -printk (" CoreState: WAIT_SYR," ); +pr_cont (" CoreState: WAIT_SYR," );break ;case 0x04 : -printk (" CoreState: WAIT_PPM," ); +pr_cont (" CoreState: WAIT_PPM," );break ;case 0x01 : -printk (" CoreState: WAIT_TRL," ); +pr_cont (" CoreState: WAIT_TRL," );break ;case 0x05 : -printk (" CoreState: WAIT_TPS," ); +pr_cont (" CoreState: WAIT_TPS," );break ;case 0x06 : -printk (" CoreState: MONITOR_TPS," ); +pr_cont (" CoreState: MONITOR_TPS," );break ;default : -printk (" CoreState: Reserved," ); +pr_cont (" CoreState: Reserved," ); } val =nxt6000_readreg (state,OFDM_SYR_STAT ); -printk (" SYRLock: %d," , (val >>4 ) &0x01 ); -printk (" SYRMode: %s," , (val >>2 ) &0x01 ?"8K" :"2K" ); +pr_cont (" SYRLock: %d," , (val >>4 ) &0x01 ); +pr_cont (" SYRMode: %s," , (val >>2 ) &0x01 ?"8K" :"2K" );switch ((val >>4 ) &0x03 ) {case 0x00 : -printk (" SYRGuard: 1/32," ); +pr_cont (" SYRGuard: 1/32," );break ;case 0x01 : -printk (" SYRGuard: 1/16," ); +pr_cont (" SYRGuard: 1/16," );break ;case 0x02 : -printk (" SYRGuard: 1/8," ); +pr_cont (" SYRGuard: 1/8," );break ;case 0x03 : -printk (" SYRGuard: 1/4," ); +pr_cont (" SYRGuard: 1/4," );break ; }
@@ -336,77 +352,77 @@ static void nxt6000_dump_status(struct nxt6000_state *state)switch ((val >>4 ) &0x07 ) {case 0x00 : -printk (" TPSLP: 1/2," ); +pr_cont (" TPSLP: 1/2," );break ;case 0x01 : -printk (" TPSLP: 2/3," ); +pr_cont (" TPSLP: 2/3," );break ;case 0x02 : -printk (" TPSLP: 3/4," ); +pr_cont (" TPSLP: 3/4," );break ;case 0x03 : -printk (" TPSLP: 5/6," ); +pr_cont (" TPSLP: 5/6," );break ;case 0x04 : -printk (" TPSLP: 7/8," ); +pr_cont (" TPSLP: 7/8," );break ;default : -printk (" TPSLP: Reserved," ); +pr_cont (" TPSLP: Reserved," ); }switch (val &0x07 ) {case 0x00 : -printk (" TPSHP: 1/2," ); +pr_cont (" TPSHP: 1/2," );break ;case 0x01 : -printk (" TPSHP: 2/3," ); +pr_cont (" TPSHP: 2/3," );break ;case 0x02 : -printk (" TPSHP: 3/4," ); +pr_cont (" TPSHP: 3/4," );break ;case 0x03 : -printk (" TPSHP: 5/6," ); +pr_cont (" TPSHP: 5/6," );break ;case 0x04 : -printk (" TPSHP: 7/8," ); +pr_cont (" TPSHP: 7/8," );break ;default : -printk (" TPSHP: Reserved," ); +pr_cont (" TPSHP: Reserved," ); } val =nxt6000_readreg (state,OFDM_TPS_RCVD_4 ); -printk (" TPSMode: %s," , val &0x01 ?"8K" :"2K" ); +pr_cont (" TPSMode: %s," , val &0x01 ?"8K" :"2K" );switch ((val >>4 ) &0x03 ) {case 0x00 : -printk (" TPSGuard: 1/32," ); +pr_cont (" TPSGuard: 1/32," );break ;case 0x01 : -printk (" TPSGuard: 1/16," ); +pr_cont (" TPSGuard: 1/16," );break ;case 0x02 : -printk (" TPSGuard: 1/8," ); +pr_cont (" TPSGuard: 1/8," );break ;case 0x03 : -printk (" TPSGuard: 1/4," ); +pr_cont (" TPSGuard: 1/4," );break ; }
@@ -416,8 +432,8 @@ static void nxt6000_dump_status(struct nxt6000_state *state) val =nxt6000_readreg (state,RF_AGC_STATUS ); val =nxt6000_readreg (state,RF_AGC_STATUS ); -printk (" RF AGC LOCK: %d," , (val >>4 ) &0x01 ); -printk ("\n" ); +pr_cont (" RF AGC LOCK: %d," , (val >>4 ) &0x01 ); +pr_cont ("\n" ); }static int nxt6000_read_status (struct dvb_frontend *fe,enum fe_status *status)
Signature · 1 line
2.7.4