diff options
author | Antti Palosaari <crope@iki.fi> | 2014-11-25 15:53:21 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-01-29 15:40:24 -0500 |
commit | 3de3583539390a6e0d5b780f0c16980462991f7c (patch) | |
tree | b73071f5efa7e2aa2fd5d031fb4ea1fba53e0cc7 | |
parent | 6307b560800fd92b915a851186653317460039ad (diff) |
[media] si2168: get rid of own struct i2c_client pointer
We don't need that anymore as same pointer is passed to each
routine via struct dvb_frontend private field.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/media/dvb-frontends/si2168.c | 61 | ||||
-rw-r--r-- | drivers/media/dvb-frontends/si2168_priv.h | 1 |
2 files changed, 30 insertions, 32 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index d0dfc73eb1f4..e00bc0467356 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c | |||
@@ -29,7 +29,7 @@ static int si2168_cmd_execute(struct i2c_client *client, struct si2168_cmd *cmd) | |||
29 | 29 | ||
30 | if (cmd->wlen) { | 30 | if (cmd->wlen) { |
31 | /* write cmd and args for firmware */ | 31 | /* write cmd and args for firmware */ |
32 | ret = i2c_master_send(dev->client, cmd->args, cmd->wlen); | 32 | ret = i2c_master_send(client, cmd->args, cmd->wlen); |
33 | if (ret < 0) { | 33 | if (ret < 0) { |
34 | goto err_mutex_unlock; | 34 | goto err_mutex_unlock; |
35 | } else if (ret != cmd->wlen) { | 35 | } else if (ret != cmd->wlen) { |
@@ -43,7 +43,7 @@ static int si2168_cmd_execute(struct i2c_client *client, struct si2168_cmd *cmd) | |||
43 | #define TIMEOUT 70 | 43 | #define TIMEOUT 70 |
44 | timeout = jiffies + msecs_to_jiffies(TIMEOUT); | 44 | timeout = jiffies + msecs_to_jiffies(TIMEOUT); |
45 | while (!time_after(jiffies, timeout)) { | 45 | while (!time_after(jiffies, timeout)) { |
46 | ret = i2c_master_recv(dev->client, cmd->args, cmd->rlen); | 46 | ret = i2c_master_recv(client, cmd->args, cmd->rlen); |
47 | if (ret < 0) { | 47 | if (ret < 0) { |
48 | goto err_mutex_unlock; | 48 | goto err_mutex_unlock; |
49 | } else if (ret != cmd->rlen) { | 49 | } else if (ret != cmd->rlen) { |
@@ -56,7 +56,7 @@ static int si2168_cmd_execute(struct i2c_client *client, struct si2168_cmd *cmd) | |||
56 | break; | 56 | break; |
57 | } | 57 | } |
58 | 58 | ||
59 | dev_dbg(&dev->client->dev, "cmd execution took %d ms\n", | 59 | dev_dbg(&client->dev, "cmd execution took %d ms\n", |
60 | jiffies_to_msecs(jiffies) - | 60 | jiffies_to_msecs(jiffies) - |
61 | (jiffies_to_msecs(timeout) - TIMEOUT)); | 61 | (jiffies_to_msecs(timeout) - TIMEOUT)); |
62 | 62 | ||
@@ -75,7 +75,7 @@ err_mutex_unlock: | |||
75 | 75 | ||
76 | return 0; | 76 | return 0; |
77 | err: | 77 | err: |
78 | dev_dbg(&dev->client->dev, "failed=%d\n", ret); | 78 | dev_dbg(&client->dev, "failed=%d\n", ret); |
79 | return ret; | 79 | return ret; |
80 | } | 80 | } |
81 | 81 | ||
@@ -151,12 +151,12 @@ static int si2168_read_status(struct dvb_frontend *fe, fe_status_t *status) | |||
151 | c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | 151 | c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; |
152 | } | 152 | } |
153 | 153 | ||
154 | dev_dbg(&dev->client->dev, "status=%02x args=%*ph\n", | 154 | dev_dbg(&client->dev, "status=%02x args=%*ph\n", |
155 | *status, cmd.rlen, cmd.args); | 155 | *status, cmd.rlen, cmd.args); |
156 | 156 | ||
157 | return 0; | 157 | return 0; |
158 | err: | 158 | err: |
159 | dev_dbg(&dev->client->dev, "failed=%d\n", ret); | 159 | dev_dbg(&client->dev, "failed=%d\n", ret); |
160 | return ret; | 160 | return ret; |
161 | } | 161 | } |
162 | 162 | ||
@@ -169,7 +169,7 @@ static int si2168_set_frontend(struct dvb_frontend *fe) | |||
169 | struct si2168_cmd cmd; | 169 | struct si2168_cmd cmd; |
170 | u8 bandwidth, delivery_system; | 170 | u8 bandwidth, delivery_system; |
171 | 171 | ||
172 | dev_dbg(&dev->client->dev, | 172 | dev_dbg(&client->dev, |
173 | "delivery_system=%u modulation=%u frequency=%u bandwidth_hz=%u symbol_rate=%u inversion=%u, stream_id=%d\n", | 173 | "delivery_system=%u modulation=%u frequency=%u bandwidth_hz=%u symbol_rate=%u inversion=%u, stream_id=%d\n", |
174 | c->delivery_system, c->modulation, | 174 | c->delivery_system, c->modulation, |
175 | c->frequency, c->bandwidth_hz, c->symbol_rate, | 175 | c->frequency, c->bandwidth_hz, c->symbol_rate, |
@@ -352,7 +352,7 @@ static int si2168_set_frontend(struct dvb_frontend *fe) | |||
352 | 352 | ||
353 | return 0; | 353 | return 0; |
354 | err: | 354 | err: |
355 | dev_dbg(&dev->client->dev, "failed=%d\n", ret); | 355 | dev_dbg(&client->dev, "failed=%d\n", ret); |
356 | return ret; | 356 | return ret; |
357 | } | 357 | } |
358 | 358 | ||
@@ -367,7 +367,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
367 | struct si2168_cmd cmd; | 367 | struct si2168_cmd cmd; |
368 | unsigned int chip_id; | 368 | unsigned int chip_id; |
369 | 369 | ||
370 | dev_dbg(&dev->client->dev, "\n"); | 370 | dev_dbg(&client->dev, "\n"); |
371 | 371 | ||
372 | /* initialize */ | 372 | /* initialize */ |
373 | memcpy(cmd.args, "\xc0\x12\x00\x0c\x00\x0d\x16\x00\x00\x00\x00\x00\x00", 13); | 373 | memcpy(cmd.args, "\xc0\x12\x00\x0c\x00\x0d\x16\x00\x00\x00\x00\x00\x00", 13); |
@@ -430,7 +430,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
430 | fw_file = SI2168_B40_FIRMWARE; | 430 | fw_file = SI2168_B40_FIRMWARE; |
431 | break; | 431 | break; |
432 | default: | 432 | default: |
433 | dev_err(&dev->client->dev, | 433 | dev_err(&client->dev, |
434 | "unknown chip version Si21%d-%c%c%c\n", | 434 | "unknown chip version Si21%d-%c%c%c\n", |
435 | cmd.args[2], cmd.args[1], | 435 | cmd.args[2], cmd.args[1], |
436 | cmd.args[3], cmd.args[4]); | 436 | cmd.args[3], cmd.args[4]); |
@@ -439,31 +439,31 @@ static int si2168_init(struct dvb_frontend *fe) | |||
439 | } | 439 | } |
440 | 440 | ||
441 | /* cold state - try to download firmware */ | 441 | /* cold state - try to download firmware */ |
442 | dev_info(&dev->client->dev, "found a '%s' in cold state\n", | 442 | dev_info(&client->dev, "found a '%s' in cold state\n", |
443 | si2168_ops.info.name); | 443 | si2168_ops.info.name); |
444 | 444 | ||
445 | /* request the firmware, this will block and timeout */ | 445 | /* request the firmware, this will block and timeout */ |
446 | ret = request_firmware(&fw, fw_file, &dev->client->dev); | 446 | ret = request_firmware(&fw, fw_file, &client->dev); |
447 | if (ret) { | 447 | if (ret) { |
448 | /* fallback mechanism to handle old name for Si2168 B40 fw */ | 448 | /* fallback mechanism to handle old name for Si2168 B40 fw */ |
449 | if (chip_id == SI2168_B40) { | 449 | if (chip_id == SI2168_B40) { |
450 | fw_file = SI2168_B40_FIRMWARE_FALLBACK; | 450 | fw_file = SI2168_B40_FIRMWARE_FALLBACK; |
451 | ret = request_firmware(&fw, fw_file, &dev->client->dev); | 451 | ret = request_firmware(&fw, fw_file, &client->dev); |
452 | } | 452 | } |
453 | 453 | ||
454 | if (ret == 0) { | 454 | if (ret == 0) { |
455 | dev_notice(&dev->client->dev, | 455 | dev_notice(&client->dev, |
456 | "please install firmware file '%s'\n", | 456 | "please install firmware file '%s'\n", |
457 | SI2168_B40_FIRMWARE); | 457 | SI2168_B40_FIRMWARE); |
458 | } else { | 458 | } else { |
459 | dev_err(&dev->client->dev, | 459 | dev_err(&client->dev, |
460 | "firmware file '%s' not found\n", | 460 | "firmware file '%s' not found\n", |
461 | fw_file); | 461 | fw_file); |
462 | goto error_fw_release; | 462 | goto error_fw_release; |
463 | } | 463 | } |
464 | } | 464 | } |
465 | 465 | ||
466 | dev_info(&dev->client->dev, "downloading firmware from file '%s'\n", | 466 | dev_info(&client->dev, "downloading firmware from file '%s'\n", |
467 | fw_file); | 467 | fw_file); |
468 | 468 | ||
469 | if ((fw->size % 17 == 0) && (fw->data[0] > 5)) { | 469 | if ((fw->size % 17 == 0) && (fw->data[0] > 5)) { |
@@ -475,7 +475,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
475 | cmd.rlen = 1; | 475 | cmd.rlen = 1; |
476 | ret = si2168_cmd_execute(client, &cmd); | 476 | ret = si2168_cmd_execute(client, &cmd); |
477 | if (ret) { | 477 | if (ret) { |
478 | dev_err(&dev->client->dev, | 478 | dev_err(&client->dev, |
479 | "firmware download failed=%d\n", | 479 | "firmware download failed=%d\n", |
480 | ret); | 480 | ret); |
481 | goto error_fw_release; | 481 | goto error_fw_release; |
@@ -493,7 +493,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
493 | cmd.rlen = 1; | 493 | cmd.rlen = 1; |
494 | ret = si2168_cmd_execute(client, &cmd); | 494 | ret = si2168_cmd_execute(client, &cmd); |
495 | if (ret) { | 495 | if (ret) { |
496 | dev_err(&dev->client->dev, | 496 | dev_err(&client->dev, |
497 | "firmware download failed=%d\n", | 497 | "firmware download failed=%d\n", |
498 | ret); | 498 | ret); |
499 | goto error_fw_release; | 499 | goto error_fw_release; |
@@ -519,7 +519,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
519 | if (ret) | 519 | if (ret) |
520 | goto err; | 520 | goto err; |
521 | 521 | ||
522 | dev_dbg(&dev->client->dev, "firmware version: %c.%c.%d\n", | 522 | dev_dbg(&client->dev, "firmware version: %c.%c.%d\n", |
523 | cmd.args[6], cmd.args[7], cmd.args[8]); | 523 | cmd.args[6], cmd.args[7], cmd.args[8]); |
524 | 524 | ||
525 | /* set ts mode */ | 525 | /* set ts mode */ |
@@ -533,7 +533,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
533 | 533 | ||
534 | dev->fw_loaded = true; | 534 | dev->fw_loaded = true; |
535 | 535 | ||
536 | dev_info(&dev->client->dev, "found a '%s' in warm state\n", | 536 | dev_info(&client->dev, "found a '%s' in warm state\n", |
537 | si2168_ops.info.name); | 537 | si2168_ops.info.name); |
538 | warm: | 538 | warm: |
539 | dev->active = true; | 539 | dev->active = true; |
@@ -543,7 +543,7 @@ warm: | |||
543 | error_fw_release: | 543 | error_fw_release: |
544 | release_firmware(fw); | 544 | release_firmware(fw); |
545 | err: | 545 | err: |
546 | dev_dbg(&dev->client->dev, "failed=%d\n", ret); | 546 | dev_dbg(&client->dev, "failed=%d\n", ret); |
547 | return ret; | 547 | return ret; |
548 | } | 548 | } |
549 | 549 | ||
@@ -554,7 +554,7 @@ static int si2168_sleep(struct dvb_frontend *fe) | |||
554 | int ret; | 554 | int ret; |
555 | struct si2168_cmd cmd; | 555 | struct si2168_cmd cmd; |
556 | 556 | ||
557 | dev_dbg(&dev->client->dev, "\n"); | 557 | dev_dbg(&client->dev, "\n"); |
558 | 558 | ||
559 | dev->active = false; | 559 | dev->active = false; |
560 | 560 | ||
@@ -567,7 +567,7 @@ static int si2168_sleep(struct dvb_frontend *fe) | |||
567 | 567 | ||
568 | return 0; | 568 | return 0; |
569 | err: | 569 | err: |
570 | dev_dbg(&dev->client->dev, "failed=%d\n", ret); | 570 | dev_dbg(&client->dev, "failed=%d\n", ret); |
571 | return ret; | 571 | return ret; |
572 | } | 572 | } |
573 | 573 | ||
@@ -590,7 +590,7 @@ static int si2168_select(struct i2c_adapter *adap, void *mux_priv, u32 chan) | |||
590 | struct si2168_dev *dev = i2c_get_clientdata(client); | 590 | struct si2168_dev *dev = i2c_get_clientdata(client); |
591 | int ret; | 591 | int ret; |
592 | struct i2c_msg gate_open_msg = { | 592 | struct i2c_msg gate_open_msg = { |
593 | .addr = dev->client->addr, | 593 | .addr = client->addr, |
594 | .flags = 0, | 594 | .flags = 0, |
595 | .len = 3, | 595 | .len = 3, |
596 | .buf = "\xc0\x0d\x01", | 596 | .buf = "\xc0\x0d\x01", |
@@ -599,9 +599,9 @@ static int si2168_select(struct i2c_adapter *adap, void *mux_priv, u32 chan) | |||
599 | mutex_lock(&dev->i2c_mutex); | 599 | mutex_lock(&dev->i2c_mutex); |
600 | 600 | ||
601 | /* open tuner I2C gate */ | 601 | /* open tuner I2C gate */ |
602 | ret = __i2c_transfer(dev->client->adapter, &gate_open_msg, 1); | 602 | ret = __i2c_transfer(client->adapter, &gate_open_msg, 1); |
603 | if (ret != 1) { | 603 | if (ret != 1) { |
604 | dev_warn(&dev->client->dev, "i2c write failed=%d\n", ret); | 604 | dev_warn(&client->dev, "i2c write failed=%d\n", ret); |
605 | if (ret >= 0) | 605 | if (ret >= 0) |
606 | ret = -EREMOTEIO; | 606 | ret = -EREMOTEIO; |
607 | } else { | 607 | } else { |
@@ -617,16 +617,16 @@ static int si2168_deselect(struct i2c_adapter *adap, void *mux_priv, u32 chan) | |||
617 | struct si2168_dev *dev = i2c_get_clientdata(client); | 617 | struct si2168_dev *dev = i2c_get_clientdata(client); |
618 | int ret; | 618 | int ret; |
619 | struct i2c_msg gate_close_msg = { | 619 | struct i2c_msg gate_close_msg = { |
620 | .addr = dev->client->addr, | 620 | .addr = client->addr, |
621 | .flags = 0, | 621 | .flags = 0, |
622 | .len = 3, | 622 | .len = 3, |
623 | .buf = "\xc0\x0d\x00", | 623 | .buf = "\xc0\x0d\x00", |
624 | }; | 624 | }; |
625 | 625 | ||
626 | /* close tuner I2C gate */ | 626 | /* close tuner I2C gate */ |
627 | ret = __i2c_transfer(dev->client->adapter, &gate_close_msg, 1); | 627 | ret = __i2c_transfer(client->adapter, &gate_close_msg, 1); |
628 | if (ret != 1) { | 628 | if (ret != 1) { |
629 | dev_warn(&dev->client->dev, "i2c write failed=%d\n", ret); | 629 | dev_warn(&client->dev, "i2c write failed=%d\n", ret); |
630 | if (ret >= 0) | 630 | if (ret >= 0) |
631 | ret = -EREMOTEIO; | 631 | ret = -EREMOTEIO; |
632 | } else { | 632 | } else { |
@@ -691,7 +691,6 @@ static int si2168_probe(struct i2c_client *client, | |||
691 | goto err; | 691 | goto err; |
692 | } | 692 | } |
693 | 693 | ||
694 | dev->client = client; | ||
695 | mutex_init(&dev->i2c_mutex); | 694 | mutex_init(&dev->i2c_mutex); |
696 | 695 | ||
697 | /* create mux i2c adapter for tuner */ | 696 | /* create mux i2c adapter for tuner */ |
@@ -714,7 +713,7 @@ static int si2168_probe(struct i2c_client *client, | |||
714 | 713 | ||
715 | i2c_set_clientdata(client, dev); | 714 | i2c_set_clientdata(client, dev); |
716 | 715 | ||
717 | dev_info(&dev->client->dev, | 716 | dev_info(&client->dev, |
718 | "Silicon Labs Si2168 successfully attached\n"); | 717 | "Silicon Labs Si2168 successfully attached\n"); |
719 | return 0; | 718 | return 0; |
720 | err: | 719 | err: |
diff --git a/drivers/media/dvb-frontends/si2168_priv.h b/drivers/media/dvb-frontends/si2168_priv.h index cb8827af2a98..aadd1367673f 100644 --- a/drivers/media/dvb-frontends/si2168_priv.h +++ b/drivers/media/dvb-frontends/si2168_priv.h | |||
@@ -29,7 +29,6 @@ | |||
29 | 29 | ||
30 | /* state struct */ | 30 | /* state struct */ |
31 | struct si2168_dev { | 31 | struct si2168_dev { |
32 | struct i2c_client *client; | ||
33 | struct i2c_adapter *adapter; | 32 | struct i2c_adapter *adapter; |
34 | struct mutex i2c_mutex; | 33 | struct mutex i2c_mutex; |
35 | struct dvb_frontend fe; | 34 | struct dvb_frontend fe; |