V4L/DVB (12342): af9015: avoid magically sized temporary buffer in eeprom_dump
authorJan Nikitenko <jan.nikitenko@gmail.com>
Mon, 27 Jul 2009 22:05:19 +0000 (19:05 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 12 Sep 2009 15:18:13 +0000 (12:18 -0300)
Replace printing to magically sized temporary buffer with use
of KERN_CONT for continual printing of eeprom registers dump.

Since deb_info is defined as dprintk, which is conditionally defined
to printk without additional parameters, meaning that deb_info is equivalent
to direct printk (without adding KERN_ facility), we can use KERN_DEBUG and
KERN_CONT in there, eliminating the need for sprintf into temporary buffer
with not easily readable/magical size.

Though it's strange, that deb_info definition uses printk without KERN_
facility and callers don't use it either.

Signed-off-by: Jan Nikitenko <jan.nikitenko@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/af9015.c

index 26690df..00fbaf5 100644 (file)
@@ -538,24 +538,22 @@ exit:
 /* dump eeprom */
 static int af9015_eeprom_dump(struct dvb_usb_device *d)
 {
-       char buf[4+3*16+1], buf2[4];
        u8 reg, val;
 
        for (reg = 0; ; reg++) {
                if (reg % 16 == 0) {
                        if (reg)
-                               deb_info("%s\n", buf);
-                       sprintf(buf, "%02x: ", reg);
+                               deb_info(KERN_CONT "\n");
+                       deb_info(KERN_DEBUG "%02x:", reg);
                }
                if (af9015_read_reg_i2c(d, AF9015_I2C_EEPROM, reg, &val) == 0)
-                       sprintf(buf2, "%02x ", val);
+                       deb_info(KERN_CONT " %02x", val);
                else
-                       strcpy(buf2, "-- ");
-               strcat(buf, buf2);
+                       deb_info(KERN_CONT " --");
                if (reg == 0xff)
                        break;
        }
-       deb_info("%s\n", buf);
+       deb_info(KERN_CONT "\n");
        return 0;
 }