aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/frontends/nxt200x.c56
1 files changed, 30 insertions, 26 deletions
diff --git a/drivers/media/dvb/frontends/nxt200x.c b/drivers/media/dvb/frontends/nxt200x.c
index 49ca78d883b1..03af52ec2c58 100644
--- a/drivers/media/dvb/frontends/nxt200x.c
+++ b/drivers/media/dvb/frontends/nxt200x.c
@@ -37,6 +37,8 @@
37 * /usr/lib/hotplug/firmware/ or /lib/firmware/ 37 * /usr/lib/hotplug/firmware/ or /lib/firmware/
38 * (depending on configuration of firmware hotplug). 38 * (depending on configuration of firmware hotplug).
39 */ 39 */
40#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
41
40#define NXT2002_DEFAULT_FIRMWARE "dvb-fe-nxt2002.fw" 42#define NXT2002_DEFAULT_FIRMWARE "dvb-fe-nxt2002.fw"
41#define NXT2004_DEFAULT_FIRMWARE "dvb-fe-nxt2004.fw" 43#define NXT2004_DEFAULT_FIRMWARE "dvb-fe-nxt2004.fw"
42#define CRC_CCIT_MASK 0x1021 44#define CRC_CCIT_MASK 0x1021
@@ -62,10 +64,7 @@ struct nxt200x_state {
62}; 64};
63 65
64static int debug; 66static int debug;
65#define dprintk(args...) \ 67#define dprintk(args...) do { if (debug) pr_debug(args); } while (0)
66 do { \
67 if (debug) printk(KERN_DEBUG "nxt200x: " args); \
68 } while (0)
69 68
70static int i2c_writebytes (struct nxt200x_state* state, u8 addr, u8 *buf, u8 len) 69static int i2c_writebytes (struct nxt200x_state* state, u8 addr, u8 *buf, u8 len)
71{ 70{
@@ -73,7 +72,7 @@ static int i2c_writebytes (struct nxt200x_state* state, u8 addr, u8 *buf, u8 len
73 struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = buf, .len = len }; 72 struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = buf, .len = len };
74 73
75 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 74 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
76 printk (KERN_WARNING "nxt200x: %s: i2c write error (addr 0x%02x, err == %i)\n", 75 pr_warn("%s: i2c write error (addr 0x%02x, err == %i)\n",
77 __func__, addr, err); 76 __func__, addr, err);
78 return -EREMOTEIO; 77 return -EREMOTEIO;
79 } 78 }
@@ -86,7 +85,7 @@ static int i2c_readbytes(struct nxt200x_state *state, u8 addr, u8 *buf, u8 len)
86 struct i2c_msg msg = { .addr = addr, .flags = I2C_M_RD, .buf = buf, .len = len }; 85 struct i2c_msg msg = { .addr = addr, .flags = I2C_M_RD, .buf = buf, .len = len };
87 86
88 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 87 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
89 printk (KERN_WARNING "nxt200x: %s: i2c read error (addr 0x%02x, err == %i)\n", 88 pr_warn("%s: i2c read error (addr 0x%02x, err == %i)\n",
90 __func__, addr, err); 89 __func__, addr, err);
91 return -EREMOTEIO; 90 return -EREMOTEIO;
92 } 91 }
@@ -104,7 +103,7 @@ static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg,
104 memcpy(&buf2[1], buf, len); 103 memcpy(&buf2[1], buf, len);
105 104
106 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 105 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
107 printk (KERN_WARNING "nxt200x: %s: i2c write error (addr 0x%02x, err == %i)\n", 106 pr_warn("%s: i2c write error (addr 0x%02x, err == %i)\n",
108 __func__, state->config->demod_address, err); 107 __func__, state->config->demod_address, err);
109 return -EREMOTEIO; 108 return -EREMOTEIO;
110 } 109 }
@@ -121,7 +120,7 @@ static int nxt200x_readbytes(struct nxt200x_state *state, u8 reg, u8 *buf, u8 le
121 int err; 120 int err;
122 121
123 if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) { 122 if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) {
124 printk (KERN_WARNING "nxt200x: %s: i2c read error (addr 0x%02x, err == %i)\n", 123 pr_warn("%s: i2c read error (addr 0x%02x, err == %i)\n",
125 __func__, state->config->demod_address, err); 124 __func__, state->config->demod_address, err);
126 return -EREMOTEIO; 125 return -EREMOTEIO;
127 } 126 }
@@ -199,7 +198,7 @@ static int nxt200x_writereg_multibyte (struct nxt200x_state* state, u8 reg, u8*
199 break; 198 break;
200 } 199 }
201 200
202 printk(KERN_WARNING "nxt200x: Error writing multireg register 0x%02X\n",reg); 201 pr_warn("Error writing multireg register 0x%02X\n", reg);
203 202
204 return 0; 203 return 0;
205} 204}
@@ -281,7 +280,8 @@ static void nxt200x_microcontroller_stop (struct nxt200x_state* state)
281 counter++; 280 counter++;
282 } 281 }
283 282
284 printk(KERN_WARNING "nxt200x: Timeout waiting for nxt200x to stop. This is ok after firmware upload.\n"); 283 pr_warn("Timeout waiting for nxt200x to stop. This is ok after "
284 "firmware upload.\n");
285 return; 285 return;
286} 286}
287 287
@@ -320,7 +320,7 @@ static void nxt2004_microcontroller_init (struct nxt200x_state* state)
320 counter++; 320 counter++;
321 } 321 }
322 322
323 printk(KERN_WARNING "nxt200x: Timeout waiting for nxt2004 to init.\n"); 323 pr_warn("Timeout waiting for nxt2004 to init.\n");
324 324
325 return; 325 return;
326} 326}
@@ -338,7 +338,7 @@ static int nxt200x_writetuner (struct nxt200x_state* state, u8* data)
338 switch (state->demod_chip) { 338 switch (state->demod_chip) {
339 case NXT2004: 339 case NXT2004:
340 if (i2c_writebytes(state, data[0], data+1, 4)) 340 if (i2c_writebytes(state, data[0], data+1, 4))
341 printk(KERN_WARNING "nxt200x: error writing to tuner\n"); 341 pr_warn("error writing to tuner\n");
342 /* wait until we have a lock */ 342 /* wait until we have a lock */
343 while (count < 20) { 343 while (count < 20) {
344 i2c_readbytes(state, data[0], &buf, 1); 344 i2c_readbytes(state, data[0], &buf, 1);
@@ -347,7 +347,7 @@ static int nxt200x_writetuner (struct nxt200x_state* state, u8* data)
347 msleep(100); 347 msleep(100);
348 count++; 348 count++;
349 } 349 }
350 printk("nxt2004: timeout waiting for tuner lock\n"); 350 pr_warn("timeout waiting for tuner lock\n");
351 break; 351 break;
352 case NXT2002: 352 case NXT2002:
353 /* set the i2c transfer speed to the tuner */ 353 /* set the i2c transfer speed to the tuner */
@@ -376,7 +376,7 @@ static int nxt200x_writetuner (struct nxt200x_state* state, u8* data)
376 msleep(100); 376 msleep(100);
377 count++; 377 count++;
378 } 378 }
379 printk("nxt2002: timeout error writing tuner\n"); 379 pr_warn("timeout error writing to tuner\n");
380 break; 380 break;
381 default: 381 default:
382 return -EINVAL; 382 return -EINVAL;
@@ -878,22 +878,24 @@ static int nxt2002_init(struct dvb_frontend* fe)
878 u8 buf[2]; 878 u8 buf[2];
879 879
880 /* request the firmware, this will block until someone uploads it */ 880 /* request the firmware, this will block until someone uploads it */
881 printk("nxt2002: Waiting for firmware upload (%s)...\n", NXT2002_DEFAULT_FIRMWARE); 881 pr_debug("%s: Waiting for firmware upload (%s)...\n",
882 __func__, NXT2002_DEFAULT_FIRMWARE);
882 ret = request_firmware(&fw, NXT2002_DEFAULT_FIRMWARE, 883 ret = request_firmware(&fw, NXT2002_DEFAULT_FIRMWARE,
883 state->i2c->dev.parent); 884 state->i2c->dev.parent);
884 printk("nxt2002: Waiting for firmware upload(2)...\n"); 885 pr_debug("%s: Waiting for firmware upload(2)...\n", __func__);
885 if (ret) { 886 if (ret) {
886 printk("nxt2002: No firmware uploaded (timeout or file not found?)\n"); 887 pr_err("%s: No firmware uploaded (timeout or file not found?)"
888 "\n", __func__);
887 return ret; 889 return ret;
888 } 890 }
889 891
890 ret = nxt2002_load_firmware(fe, fw); 892 ret = nxt2002_load_firmware(fe, fw);
891 release_firmware(fw); 893 release_firmware(fw);
892 if (ret) { 894 if (ret) {
893 printk("nxt2002: Writing firmware to device failed\n"); 895 pr_err("%s: Writing firmware to device failed\n", __func__);
894 return ret; 896 return ret;
895 } 897 }
896 printk("nxt2002: Firmware upload complete\n"); 898 pr_info("%s: Firmware upload complete\n", __func__);
897 899
898 /* Put the micro into reset */ 900 /* Put the micro into reset */
899 nxt200x_microcontroller_stop(state); 901 nxt200x_microcontroller_stop(state);
@@ -943,22 +945,24 @@ static int nxt2004_init(struct dvb_frontend* fe)
943 nxt200x_writebytes(state, 0x1E, buf, 1); 945 nxt200x_writebytes(state, 0x1E, buf, 1);
944 946
945 /* request the firmware, this will block until someone uploads it */ 947 /* request the firmware, this will block until someone uploads it */
946 printk("nxt2004: Waiting for firmware upload (%s)...\n", NXT2004_DEFAULT_FIRMWARE); 948 pr_debug("%s: Waiting for firmware upload (%s)...\n",
949 __func__, NXT2004_DEFAULT_FIRMWARE);
947 ret = request_firmware(&fw, NXT2004_DEFAULT_FIRMWARE, 950 ret = request_firmware(&fw, NXT2004_DEFAULT_FIRMWARE,
948 state->i2c->dev.parent); 951 state->i2c->dev.parent);
949 printk("nxt2004: Waiting for firmware upload(2)...\n"); 952 pr_debug("%s: Waiting for firmware upload(2)...\n", __func__);
950 if (ret) { 953 if (ret) {
951 printk("nxt2004: No firmware uploaded (timeout or file not found?)\n"); 954 pr_err("%s: No firmware uploaded (timeout or file not found?)"
955 "\n", __func__);
952 return ret; 956 return ret;
953 } 957 }
954 958
955 ret = nxt2004_load_firmware(fe, fw); 959 ret = nxt2004_load_firmware(fe, fw);
956 release_firmware(fw); 960 release_firmware(fw);
957 if (ret) { 961 if (ret) {
958 printk("nxt2004: Writing firmware to device failed\n"); 962 pr_err("%s: Writing firmware to device failed\n", __func__);
959 return ret; 963 return ret;
960 } 964 }
961 printk("nxt2004: Firmware upload complete\n"); 965 pr_info("%s: Firmware upload complete\n", __func__);
962 966
963 /* ensure transfer is complete */ 967 /* ensure transfer is complete */
964 buf[0] = 0x01; 968 buf[0] = 0x01;
@@ -1164,11 +1168,11 @@ struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config,
1164 switch (buf[0]) { 1168 switch (buf[0]) {
1165 case 0x04: 1169 case 0x04:
1166 state->demod_chip = NXT2002; 1170 state->demod_chip = NXT2002;
1167 printk("nxt200x: NXT2002 Detected\n"); 1171 pr_info("NXT2002 Detected\n");
1168 break; 1172 break;
1169 case 0x05: 1173 case 0x05:
1170 state->demod_chip = NXT2004; 1174 state->demod_chip = NXT2004;
1171 printk("nxt200x: NXT2004 Detected\n"); 1175 pr_info("NXT2004 Detected\n");
1172 break; 1176 break;
1173 default: 1177 default:
1174 goto error; 1178 goto error;