diff options
author | Peter Rosin <peda@axentia.se> | 2016-05-04 16:15:34 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2016-05-04 16:40:07 -0400 |
commit | e01fc42d78ab953f6de4ff9273cb9d6d9ed3dd37 (patch) | |
tree | 13c0ec4c5f8ea03a224b9d158039a87c551643a3 /drivers/media | |
parent | 1cf79db28ef53aeaa66a825e8f788d19fdd8648f (diff) |
[media] rtl2832_sdr: get rid of empty regmap wrappers
Tested-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb-frontends/rtl2832_sdr.c | 302 |
1 files changed, 132 insertions, 170 deletions
diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.c b/drivers/media/dvb-frontends/rtl2832_sdr.c index 6a6b1debe277..47a480a7d46c 100644 --- a/drivers/media/dvb-frontends/rtl2832_sdr.c +++ b/drivers/media/dvb-frontends/rtl2832_sdr.c | |||
@@ -120,6 +120,7 @@ struct rtl2832_sdr_dev { | |||
120 | unsigned long flags; | 120 | unsigned long flags; |
121 | 121 | ||
122 | struct platform_device *pdev; | 122 | struct platform_device *pdev; |
123 | struct regmap *regmap; | ||
123 | 124 | ||
124 | struct video_device vdev; | 125 | struct video_device vdev; |
125 | struct v4l2_device v4l2_dev; | 126 | struct v4l2_device v4l2_dev; |
@@ -164,47 +165,6 @@ struct rtl2832_sdr_dev { | |||
164 | unsigned long jiffies_next; | 165 | unsigned long jiffies_next; |
165 | }; | 166 | }; |
166 | 167 | ||
167 | /* write multiple registers */ | ||
168 | static int rtl2832_sdr_wr_regs(struct rtl2832_sdr_dev *dev, u16 reg, | ||
169 | const u8 *val, int len) | ||
170 | { | ||
171 | struct platform_device *pdev = dev->pdev; | ||
172 | struct rtl2832_sdr_platform_data *pdata = pdev->dev.platform_data; | ||
173 | struct regmap *regmap = pdata->regmap; | ||
174 | |||
175 | return regmap_bulk_write(regmap, reg, val, len); | ||
176 | } | ||
177 | |||
178 | #if 0 | ||
179 | /* read multiple registers */ | ||
180 | static int rtl2832_sdr_rd_regs(struct rtl2832_sdr_dev *dev, u16 reg, u8 *val, | ||
181 | int len) | ||
182 | { | ||
183 | struct platform_device *pdev = dev->pdev; | ||
184 | struct rtl2832_sdr_platform_data *pdata = pdev->dev.platform_data; | ||
185 | struct regmap *regmap = pdata->regmap; | ||
186 | |||
187 | return regmap_bulk_read(regmap, reg, val, len); | ||
188 | } | ||
189 | #endif | ||
190 | |||
191 | /* write single register */ | ||
192 | static int rtl2832_sdr_wr_reg(struct rtl2832_sdr_dev *dev, u16 reg, u8 val) | ||
193 | { | ||
194 | return rtl2832_sdr_wr_regs(dev, reg, &val, 1); | ||
195 | } | ||
196 | |||
197 | /* write single register with mask */ | ||
198 | static int rtl2832_sdr_wr_reg_mask(struct rtl2832_sdr_dev *dev, u16 reg, | ||
199 | u8 val, u8 mask) | ||
200 | { | ||
201 | struct platform_device *pdev = dev->pdev; | ||
202 | struct rtl2832_sdr_platform_data *pdata = pdev->dev.platform_data; | ||
203 | struct regmap *regmap = pdata->regmap; | ||
204 | |||
205 | return regmap_update_bits(regmap, reg, mask, val); | ||
206 | } | ||
207 | |||
208 | /* Private functions */ | 168 | /* Private functions */ |
209 | static struct rtl2832_sdr_frame_buf *rtl2832_sdr_get_next_fill_buf( | 169 | static struct rtl2832_sdr_frame_buf *rtl2832_sdr_get_next_fill_buf( |
210 | struct rtl2832_sdr_dev *dev) | 170 | struct rtl2832_sdr_dev *dev) |
@@ -559,11 +519,11 @@ static int rtl2832_sdr_set_adc(struct rtl2832_sdr_dev *dev) | |||
559 | 519 | ||
560 | f_sr = dev->f_adc; | 520 | f_sr = dev->f_adc; |
561 | 521 | ||
562 | ret = rtl2832_sdr_wr_regs(dev, 0x13e, "\x00\x00", 2); | 522 | ret = regmap_bulk_write(dev->regmap, 0x13e, "\x00\x00", 2); |
563 | if (ret) | 523 | if (ret) |
564 | goto err; | 524 | goto err; |
565 | 525 | ||
566 | ret = rtl2832_sdr_wr_regs(dev, 0x115, "\x00\x00\x00\x00", 4); | 526 | ret = regmap_bulk_write(dev->regmap, 0x115, "\x00\x00\x00\x00", 4); |
567 | if (ret) | 527 | if (ret) |
568 | goto err; | 528 | goto err; |
569 | 529 | ||
@@ -589,7 +549,7 @@ static int rtl2832_sdr_set_adc(struct rtl2832_sdr_dev *dev) | |||
589 | buf[1] = (u32tmp >> 8) & 0xff; | 549 | buf[1] = (u32tmp >> 8) & 0xff; |
590 | buf[2] = (u32tmp >> 0) & 0xff; | 550 | buf[2] = (u32tmp >> 0) & 0xff; |
591 | 551 | ||
592 | ret = rtl2832_sdr_wr_regs(dev, 0x119, buf, 3); | 552 | ret = regmap_bulk_write(dev->regmap, 0x119, buf, 3); |
593 | if (ret) | 553 | if (ret) |
594 | goto err; | 554 | goto err; |
595 | 555 | ||
@@ -603,15 +563,15 @@ static int rtl2832_sdr_set_adc(struct rtl2832_sdr_dev *dev) | |||
603 | u8tmp2 = 0xcd; /* enable ADC I, ADC Q */ | 563 | u8tmp2 = 0xcd; /* enable ADC I, ADC Q */ |
604 | } | 564 | } |
605 | 565 | ||
606 | ret = rtl2832_sdr_wr_reg(dev, 0x1b1, u8tmp1); | 566 | ret = regmap_write(dev->regmap, 0x1b1, u8tmp1); |
607 | if (ret) | 567 | if (ret) |
608 | goto err; | 568 | goto err; |
609 | 569 | ||
610 | ret = rtl2832_sdr_wr_reg(dev, 0x008, u8tmp2); | 570 | ret = regmap_write(dev->regmap, 0x008, u8tmp2); |
611 | if (ret) | 571 | if (ret) |
612 | goto err; | 572 | goto err; |
613 | 573 | ||
614 | ret = rtl2832_sdr_wr_reg(dev, 0x006, 0x80); | 574 | ret = regmap_write(dev->regmap, 0x006, 0x80); |
615 | if (ret) | 575 | if (ret) |
616 | goto err; | 576 | goto err; |
617 | 577 | ||
@@ -622,168 +582,169 @@ static int rtl2832_sdr_set_adc(struct rtl2832_sdr_dev *dev) | |||
622 | buf[1] = (u32tmp >> 16) & 0xff; | 582 | buf[1] = (u32tmp >> 16) & 0xff; |
623 | buf[2] = (u32tmp >> 8) & 0xff; | 583 | buf[2] = (u32tmp >> 8) & 0xff; |
624 | buf[3] = (u32tmp >> 0) & 0xff; | 584 | buf[3] = (u32tmp >> 0) & 0xff; |
625 | ret = rtl2832_sdr_wr_regs(dev, 0x19f, buf, 4); | 585 | ret = regmap_bulk_write(dev->regmap, 0x19f, buf, 4); |
626 | if (ret) | 586 | if (ret) |
627 | goto err; | 587 | goto err; |
628 | 588 | ||
629 | /* low-pass filter */ | 589 | /* low-pass filter */ |
630 | ret = rtl2832_sdr_wr_regs(dev, 0x11c, | 590 | ret = regmap_bulk_write(dev->regmap, 0x11c, |
631 | "\xca\xdc\xd7\xd8\xe0\xf2\x0e\x35\x06\x50\x9c\x0d\x71\x11\x14\x71\x74\x19\x41\xa5", | 591 | "\xca\xdc\xd7\xd8\xe0\xf2\x0e\x35\x06\x50\x9c\x0d\x71\x11\x14\x71\x74\x19\x41\xa5", |
632 | 20); | 592 | 20); |
633 | if (ret) | 593 | if (ret) |
634 | goto err; | 594 | goto err; |
635 | 595 | ||
636 | ret = rtl2832_sdr_wr_regs(dev, 0x017, "\x11\x10", 2); | 596 | ret = regmap_bulk_write(dev->regmap, 0x017, "\x11\x10", 2); |
637 | if (ret) | 597 | if (ret) |
638 | goto err; | 598 | goto err; |
639 | 599 | ||
640 | /* mode */ | 600 | /* mode */ |
641 | ret = rtl2832_sdr_wr_regs(dev, 0x019, "\x05", 1); | 601 | ret = regmap_write(dev->regmap, 0x019, 0x05); |
642 | if (ret) | 602 | if (ret) |
643 | goto err; | 603 | goto err; |
644 | 604 | ||
645 | ret = rtl2832_sdr_wr_regs(dev, 0x01a, "\x1b\x16\x0d\x06\x01\xff", 6); | 605 | ret = regmap_bulk_write(dev->regmap, 0x01a, |
606 | "\x1b\x16\x0d\x06\x01\xff", 6); | ||
646 | if (ret) | 607 | if (ret) |
647 | goto err; | 608 | goto err; |
648 | 609 | ||
649 | /* FSM */ | 610 | /* FSM */ |
650 | ret = rtl2832_sdr_wr_regs(dev, 0x192, "\x00\xf0\x0f", 3); | 611 | ret = regmap_bulk_write(dev->regmap, 0x192, "\x00\xf0\x0f", 3); |
651 | if (ret) | 612 | if (ret) |
652 | goto err; | 613 | goto err; |
653 | 614 | ||
654 | /* PID filter */ | 615 | /* PID filter */ |
655 | ret = rtl2832_sdr_wr_regs(dev, 0x061, "\x60", 1); | 616 | ret = regmap_write(dev->regmap, 0x061, 0x60); |
656 | if (ret) | 617 | if (ret) |
657 | goto err; | 618 | goto err; |
658 | 619 | ||
659 | /* used RF tuner based settings */ | 620 | /* used RF tuner based settings */ |
660 | switch (pdata->tuner) { | 621 | switch (pdata->tuner) { |
661 | case RTL2832_SDR_TUNER_E4000: | 622 | case RTL2832_SDR_TUNER_E4000: |
662 | ret = rtl2832_sdr_wr_regs(dev, 0x112, "\x5a", 1); | 623 | ret = regmap_write(dev->regmap, 0x112, 0x5a); |
663 | ret = rtl2832_sdr_wr_regs(dev, 0x102, "\x40", 1); | 624 | ret = regmap_write(dev->regmap, 0x102, 0x40); |
664 | ret = rtl2832_sdr_wr_regs(dev, 0x103, "\x5a", 1); | 625 | ret = regmap_write(dev->regmap, 0x103, 0x5a); |
665 | ret = rtl2832_sdr_wr_regs(dev, 0x1c7, "\x30", 1); | 626 | ret = regmap_write(dev->regmap, 0x1c7, 0x30); |
666 | ret = rtl2832_sdr_wr_regs(dev, 0x104, "\xd0", 1); | 627 | ret = regmap_write(dev->regmap, 0x104, 0xd0); |
667 | ret = rtl2832_sdr_wr_regs(dev, 0x105, "\xbe", 1); | 628 | ret = regmap_write(dev->regmap, 0x105, 0xbe); |
668 | ret = rtl2832_sdr_wr_regs(dev, 0x1c8, "\x18", 1); | 629 | ret = regmap_write(dev->regmap, 0x1c8, 0x18); |
669 | ret = rtl2832_sdr_wr_regs(dev, 0x106, "\x35", 1); | 630 | ret = regmap_write(dev->regmap, 0x106, 0x35); |
670 | ret = rtl2832_sdr_wr_regs(dev, 0x1c9, "\x21", 1); | 631 | ret = regmap_write(dev->regmap, 0x1c9, 0x21); |
671 | ret = rtl2832_sdr_wr_regs(dev, 0x1ca, "\x21", 1); | 632 | ret = regmap_write(dev->regmap, 0x1ca, 0x21); |
672 | ret = rtl2832_sdr_wr_regs(dev, 0x1cb, "\x00", 1); | 633 | ret = regmap_write(dev->regmap, 0x1cb, 0x00); |
673 | ret = rtl2832_sdr_wr_regs(dev, 0x107, "\x40", 1); | 634 | ret = regmap_write(dev->regmap, 0x107, 0x40); |
674 | ret = rtl2832_sdr_wr_regs(dev, 0x1cd, "\x10", 1); | 635 | ret = regmap_write(dev->regmap, 0x1cd, 0x10); |
675 | ret = rtl2832_sdr_wr_regs(dev, 0x1ce, "\x10", 1); | 636 | ret = regmap_write(dev->regmap, 0x1ce, 0x10); |
676 | ret = rtl2832_sdr_wr_regs(dev, 0x108, "\x80", 1); | 637 | ret = regmap_write(dev->regmap, 0x108, 0x80); |
677 | ret = rtl2832_sdr_wr_regs(dev, 0x109, "\x7f", 1); | 638 | ret = regmap_write(dev->regmap, 0x109, 0x7f); |
678 | ret = rtl2832_sdr_wr_regs(dev, 0x10a, "\x80", 1); | 639 | ret = regmap_write(dev->regmap, 0x10a, 0x80); |
679 | ret = rtl2832_sdr_wr_regs(dev, 0x10b, "\x7f", 1); | 640 | ret = regmap_write(dev->regmap, 0x10b, 0x7f); |
680 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 641 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
681 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 642 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
682 | ret = rtl2832_sdr_wr_regs(dev, 0x011, "\xd4", 1); | 643 | ret = regmap_write(dev->regmap, 0x011, 0xd4); |
683 | ret = rtl2832_sdr_wr_regs(dev, 0x1e5, "\xf0", 1); | 644 | ret = regmap_write(dev->regmap, 0x1e5, 0xf0); |
684 | ret = rtl2832_sdr_wr_regs(dev, 0x1d9, "\x00", 1); | 645 | ret = regmap_write(dev->regmap, 0x1d9, 0x00); |
685 | ret = rtl2832_sdr_wr_regs(dev, 0x1db, "\x00", 1); | 646 | ret = regmap_write(dev->regmap, 0x1db, 0x00); |
686 | ret = rtl2832_sdr_wr_regs(dev, 0x1dd, "\x14", 1); | 647 | ret = regmap_write(dev->regmap, 0x1dd, 0x14); |
687 | ret = rtl2832_sdr_wr_regs(dev, 0x1de, "\xec", 1); | 648 | ret = regmap_write(dev->regmap, 0x1de, 0xec); |
688 | ret = rtl2832_sdr_wr_regs(dev, 0x1d8, "\x0c", 1); | 649 | ret = regmap_write(dev->regmap, 0x1d8, 0x0c); |
689 | ret = rtl2832_sdr_wr_regs(dev, 0x1e6, "\x02", 1); | 650 | ret = regmap_write(dev->regmap, 0x1e6, 0x02); |
690 | ret = rtl2832_sdr_wr_regs(dev, 0x1d7, "\x09", 1); | 651 | ret = regmap_write(dev->regmap, 0x1d7, 0x09); |
691 | ret = rtl2832_sdr_wr_regs(dev, 0x00d, "\x83", 1); | 652 | ret = regmap_write(dev->regmap, 0x00d, 0x83); |
692 | ret = rtl2832_sdr_wr_regs(dev, 0x010, "\x49", 1); | 653 | ret = regmap_write(dev->regmap, 0x010, 0x49); |
693 | ret = rtl2832_sdr_wr_regs(dev, 0x00d, "\x87", 1); | 654 | ret = regmap_write(dev->regmap, 0x00d, 0x87); |
694 | ret = rtl2832_sdr_wr_regs(dev, 0x00d, "\x85", 1); | 655 | ret = regmap_write(dev->regmap, 0x00d, 0x85); |
695 | ret = rtl2832_sdr_wr_regs(dev, 0x013, "\x02", 1); | 656 | ret = regmap_write(dev->regmap, 0x013, 0x02); |
696 | break; | 657 | break; |
697 | case RTL2832_SDR_TUNER_FC0012: | 658 | case RTL2832_SDR_TUNER_FC0012: |
698 | case RTL2832_SDR_TUNER_FC0013: | 659 | case RTL2832_SDR_TUNER_FC0013: |
699 | ret = rtl2832_sdr_wr_regs(dev, 0x112, "\x5a", 1); | 660 | ret = regmap_write(dev->regmap, 0x112, 0x5a); |
700 | ret = rtl2832_sdr_wr_regs(dev, 0x102, "\x40", 1); | 661 | ret = regmap_write(dev->regmap, 0x102, 0x40); |
701 | ret = rtl2832_sdr_wr_regs(dev, 0x103, "\x5a", 1); | 662 | ret = regmap_write(dev->regmap, 0x103, 0x5a); |
702 | ret = rtl2832_sdr_wr_regs(dev, 0x1c7, "\x2c", 1); | 663 | ret = regmap_write(dev->regmap, 0x1c7, 0x2c); |
703 | ret = rtl2832_sdr_wr_regs(dev, 0x104, "\xcc", 1); | 664 | ret = regmap_write(dev->regmap, 0x104, 0xcc); |
704 | ret = rtl2832_sdr_wr_regs(dev, 0x105, "\xbe", 1); | 665 | ret = regmap_write(dev->regmap, 0x105, 0xbe); |
705 | ret = rtl2832_sdr_wr_regs(dev, 0x1c8, "\x16", 1); | 666 | ret = regmap_write(dev->regmap, 0x1c8, 0x16); |
706 | ret = rtl2832_sdr_wr_regs(dev, 0x106, "\x35", 1); | 667 | ret = regmap_write(dev->regmap, 0x106, 0x35); |
707 | ret = rtl2832_sdr_wr_regs(dev, 0x1c9, "\x21", 1); | 668 | ret = regmap_write(dev->regmap, 0x1c9, 0x21); |
708 | ret = rtl2832_sdr_wr_regs(dev, 0x1ca, "\x21", 1); | 669 | ret = regmap_write(dev->regmap, 0x1ca, 0x21); |
709 | ret = rtl2832_sdr_wr_regs(dev, 0x1cb, "\x00", 1); | 670 | ret = regmap_write(dev->regmap, 0x1cb, 0x00); |
710 | ret = rtl2832_sdr_wr_regs(dev, 0x107, "\x40", 1); | 671 | ret = regmap_write(dev->regmap, 0x107, 0x40); |
711 | ret = rtl2832_sdr_wr_regs(dev, 0x1cd, "\x10", 1); | 672 | ret = regmap_write(dev->regmap, 0x1cd, 0x10); |
712 | ret = rtl2832_sdr_wr_regs(dev, 0x1ce, "\x10", 1); | 673 | ret = regmap_write(dev->regmap, 0x1ce, 0x10); |
713 | ret = rtl2832_sdr_wr_regs(dev, 0x108, "\x80", 1); | 674 | ret = regmap_write(dev->regmap, 0x108, 0x80); |
714 | ret = rtl2832_sdr_wr_regs(dev, 0x109, "\x7f", 1); | 675 | ret = regmap_write(dev->regmap, 0x109, 0x7f); |
715 | ret = rtl2832_sdr_wr_regs(dev, 0x10a, "\x80", 1); | 676 | ret = regmap_write(dev->regmap, 0x10a, 0x80); |
716 | ret = rtl2832_sdr_wr_regs(dev, 0x10b, "\x7f", 1); | 677 | ret = regmap_write(dev->regmap, 0x10b, 0x7f); |
717 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 678 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
718 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 679 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
719 | ret = rtl2832_sdr_wr_regs(dev, 0x011, "\xe9\xbf", 2); | 680 | ret = regmap_bulk_write(dev->regmap, 0x011, "\xe9\xbf", 2); |
720 | ret = rtl2832_sdr_wr_regs(dev, 0x1e5, "\xf0", 1); | 681 | ret = regmap_write(dev->regmap, 0x1e5, 0xf0); |
721 | ret = rtl2832_sdr_wr_regs(dev, 0x1d9, "\x00", 1); | 682 | ret = regmap_write(dev->regmap, 0x1d9, 0x00); |
722 | ret = rtl2832_sdr_wr_regs(dev, 0x1db, "\x00", 1); | 683 | ret = regmap_write(dev->regmap, 0x1db, 0x00); |
723 | ret = rtl2832_sdr_wr_regs(dev, 0x1dd, "\x11", 1); | 684 | ret = regmap_write(dev->regmap, 0x1dd, 0x11); |
724 | ret = rtl2832_sdr_wr_regs(dev, 0x1de, "\xef", 1); | 685 | ret = regmap_write(dev->regmap, 0x1de, 0xef); |
725 | ret = rtl2832_sdr_wr_regs(dev, 0x1d8, "\x0c", 1); | 686 | ret = regmap_write(dev->regmap, 0x1d8, 0x0c); |
726 | ret = rtl2832_sdr_wr_regs(dev, 0x1e6, "\x02", 1); | 687 | ret = regmap_write(dev->regmap, 0x1e6, 0x02); |
727 | ret = rtl2832_sdr_wr_regs(dev, 0x1d7, "\x09", 1); | 688 | ret = regmap_write(dev->regmap, 0x1d7, 0x09); |
728 | break; | 689 | break; |
729 | case RTL2832_SDR_TUNER_R820T: | 690 | case RTL2832_SDR_TUNER_R820T: |
730 | case RTL2832_SDR_TUNER_R828D: | 691 | case RTL2832_SDR_TUNER_R828D: |
731 | ret = rtl2832_sdr_wr_regs(dev, 0x112, "\x5a", 1); | 692 | ret = regmap_write(dev->regmap, 0x112, 0x5a); |
732 | ret = rtl2832_sdr_wr_regs(dev, 0x102, "\x40", 1); | 693 | ret = regmap_write(dev->regmap, 0x102, 0x40); |
733 | ret = rtl2832_sdr_wr_regs(dev, 0x115, "\x01", 1); | 694 | ret = regmap_write(dev->regmap, 0x115, 0x01); |
734 | ret = rtl2832_sdr_wr_regs(dev, 0x103, "\x80", 1); | 695 | ret = regmap_write(dev->regmap, 0x103, 0x80); |
735 | ret = rtl2832_sdr_wr_regs(dev, 0x1c7, "\x24", 1); | 696 | ret = regmap_write(dev->regmap, 0x1c7, 0x24); |
736 | ret = rtl2832_sdr_wr_regs(dev, 0x104, "\xcc", 1); | 697 | ret = regmap_write(dev->regmap, 0x104, 0xcc); |
737 | ret = rtl2832_sdr_wr_regs(dev, 0x105, "\xbe", 1); | 698 | ret = regmap_write(dev->regmap, 0x105, 0xbe); |
738 | ret = rtl2832_sdr_wr_regs(dev, 0x1c8, "\x14", 1); | 699 | ret = regmap_write(dev->regmap, 0x1c8, 0x14); |
739 | ret = rtl2832_sdr_wr_regs(dev, 0x106, "\x35", 1); | 700 | ret = regmap_write(dev->regmap, 0x106, 0x35); |
740 | ret = rtl2832_sdr_wr_regs(dev, 0x1c9, "\x21", 1); | 701 | ret = regmap_write(dev->regmap, 0x1c9, 0x21); |
741 | ret = rtl2832_sdr_wr_regs(dev, 0x1ca, "\x21", 1); | 702 | ret = regmap_write(dev->regmap, 0x1ca, 0x21); |
742 | ret = rtl2832_sdr_wr_regs(dev, 0x1cb, "\x00", 1); | 703 | ret = regmap_write(dev->regmap, 0x1cb, 0x00); |
743 | ret = rtl2832_sdr_wr_regs(dev, 0x107, "\x40", 1); | 704 | ret = regmap_write(dev->regmap, 0x107, 0x40); |
744 | ret = rtl2832_sdr_wr_regs(dev, 0x1cd, "\x10", 1); | 705 | ret = regmap_write(dev->regmap, 0x1cd, 0x10); |
745 | ret = rtl2832_sdr_wr_regs(dev, 0x1ce, "\x10", 1); | 706 | ret = regmap_write(dev->regmap, 0x1ce, 0x10); |
746 | ret = rtl2832_sdr_wr_regs(dev, 0x108, "\x80", 1); | 707 | ret = regmap_write(dev->regmap, 0x108, 0x80); |
747 | ret = rtl2832_sdr_wr_regs(dev, 0x109, "\x7f", 1); | 708 | ret = regmap_write(dev->regmap, 0x109, 0x7f); |
748 | ret = rtl2832_sdr_wr_regs(dev, 0x10a, "\x80", 1); | 709 | ret = regmap_write(dev->regmap, 0x10a, 0x80); |
749 | ret = rtl2832_sdr_wr_regs(dev, 0x10b, "\x7f", 1); | 710 | ret = regmap_write(dev->regmap, 0x10b, 0x7f); |
750 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 711 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
751 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 712 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
752 | ret = rtl2832_sdr_wr_regs(dev, 0x011, "\xf4", 1); | 713 | ret = regmap_write(dev->regmap, 0x011, 0xf4); |
753 | break; | 714 | break; |
754 | case RTL2832_SDR_TUNER_FC2580: | 715 | case RTL2832_SDR_TUNER_FC2580: |
755 | ret = rtl2832_sdr_wr_regs(dev, 0x112, "\x39", 1); | 716 | ret = regmap_write(dev->regmap, 0x112, 0x39); |
756 | ret = rtl2832_sdr_wr_regs(dev, 0x102, "\x40", 1); | 717 | ret = regmap_write(dev->regmap, 0x102, 0x40); |
757 | ret = rtl2832_sdr_wr_regs(dev, 0x103, "\x5a", 1); | 718 | ret = regmap_write(dev->regmap, 0x103, 0x5a); |
758 | ret = rtl2832_sdr_wr_regs(dev, 0x1c7, "\x2c", 1); | 719 | ret = regmap_write(dev->regmap, 0x1c7, 0x2c); |
759 | ret = rtl2832_sdr_wr_regs(dev, 0x104, "\xcc", 1); | 720 | ret = regmap_write(dev->regmap, 0x104, 0xcc); |
760 | ret = rtl2832_sdr_wr_regs(dev, 0x105, "\xbe", 1); | 721 | ret = regmap_write(dev->regmap, 0x105, 0xbe); |
761 | ret = rtl2832_sdr_wr_regs(dev, 0x1c8, "\x16", 1); | 722 | ret = regmap_write(dev->regmap, 0x1c8, 0x16); |
762 | ret = rtl2832_sdr_wr_regs(dev, 0x106, "\x35", 1); | 723 | ret = regmap_write(dev->regmap, 0x106, 0x35); |
763 | ret = rtl2832_sdr_wr_regs(dev, 0x1c9, "\x21", 1); | 724 | ret = regmap_write(dev->regmap, 0x1c9, 0x21); |
764 | ret = rtl2832_sdr_wr_regs(dev, 0x1ca, "\x21", 1); | 725 | ret = regmap_write(dev->regmap, 0x1ca, 0x21); |
765 | ret = rtl2832_sdr_wr_regs(dev, 0x1cb, "\x00", 1); | 726 | ret = regmap_write(dev->regmap, 0x1cb, 0x00); |
766 | ret = rtl2832_sdr_wr_regs(dev, 0x107, "\x40", 1); | 727 | ret = regmap_write(dev->regmap, 0x107, 0x40); |
767 | ret = rtl2832_sdr_wr_regs(dev, 0x1cd, "\x10", 1); | 728 | ret = regmap_write(dev->regmap, 0x1cd, 0x10); |
768 | ret = rtl2832_sdr_wr_regs(dev, 0x1ce, "\x10", 1); | 729 | ret = regmap_write(dev->regmap, 0x1ce, 0x10); |
769 | ret = rtl2832_sdr_wr_regs(dev, 0x108, "\x80", 1); | 730 | ret = regmap_write(dev->regmap, 0x108, 0x80); |
770 | ret = rtl2832_sdr_wr_regs(dev, 0x109, "\x7f", 1); | 731 | ret = regmap_write(dev->regmap, 0x109, 0x7f); |
771 | ret = rtl2832_sdr_wr_regs(dev, 0x10a, "\x9c", 1); | 732 | ret = regmap_write(dev->regmap, 0x10a, 0x9c); |
772 | ret = rtl2832_sdr_wr_regs(dev, 0x10b, "\x7f", 1); | 733 | ret = regmap_write(dev->regmap, 0x10b, 0x7f); |
773 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 734 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
774 | ret = rtl2832_sdr_wr_regs(dev, 0x00e, "\xfc", 1); | 735 | ret = regmap_write(dev->regmap, 0x00e, 0xfc); |
775 | ret = rtl2832_sdr_wr_regs(dev, 0x011, "\xe9\xf4", 2); | 736 | ret = regmap_bulk_write(dev->regmap, 0x011, "\xe9\xf4", 2); |
776 | break; | 737 | break; |
777 | default: | 738 | default: |
778 | dev_notice(&pdev->dev, "Unsupported tuner\n"); | 739 | dev_notice(&pdev->dev, "Unsupported tuner\n"); |
779 | } | 740 | } |
780 | 741 | ||
781 | /* software reset */ | 742 | /* software reset */ |
782 | ret = rtl2832_sdr_wr_reg_mask(dev, 0x101, 0x04, 0x04); | 743 | ret = regmap_update_bits(dev->regmap, 0x101, 0x04, 0x04); |
783 | if (ret) | 744 | if (ret) |
784 | goto err; | 745 | goto err; |
785 | 746 | ||
786 | ret = rtl2832_sdr_wr_reg_mask(dev, 0x101, 0x00, 0x04); | 747 | ret = regmap_update_bits(dev->regmap, 0x101, 0x04, 0x00); |
787 | if (ret) | 748 | if (ret) |
788 | goto err; | 749 | goto err; |
789 | err: | 750 | err: |
@@ -798,29 +759,29 @@ static void rtl2832_sdr_unset_adc(struct rtl2832_sdr_dev *dev) | |||
798 | dev_dbg(&pdev->dev, "\n"); | 759 | dev_dbg(&pdev->dev, "\n"); |
799 | 760 | ||
800 | /* PID filter */ | 761 | /* PID filter */ |
801 | ret = rtl2832_sdr_wr_regs(dev, 0x061, "\xe0", 1); | 762 | ret = regmap_write(dev->regmap, 0x061, 0xe0); |
802 | if (ret) | 763 | if (ret) |
803 | goto err; | 764 | goto err; |
804 | 765 | ||
805 | /* mode */ | 766 | /* mode */ |
806 | ret = rtl2832_sdr_wr_regs(dev, 0x019, "\x20", 1); | 767 | ret = regmap_write(dev->regmap, 0x019, 0x20); |
807 | if (ret) | 768 | if (ret) |
808 | goto err; | 769 | goto err; |
809 | 770 | ||
810 | ret = rtl2832_sdr_wr_regs(dev, 0x017, "\x11\x10", 2); | 771 | ret = regmap_bulk_write(dev->regmap, 0x017, "\x11\x10", 2); |
811 | if (ret) | 772 | if (ret) |
812 | goto err; | 773 | goto err; |
813 | 774 | ||
814 | /* FSM */ | 775 | /* FSM */ |
815 | ret = rtl2832_sdr_wr_regs(dev, 0x192, "\x00\x0f\xff", 3); | 776 | ret = regmap_bulk_write(dev->regmap, 0x192, "\x00\x0f\xff", 3); |
816 | if (ret) | 777 | if (ret) |
817 | goto err; | 778 | goto err; |
818 | 779 | ||
819 | ret = rtl2832_sdr_wr_regs(dev, 0x13e, "\x40\x00", 2); | 780 | ret = regmap_bulk_write(dev->regmap, 0x13e, "\x40\x00", 2); |
820 | if (ret) | 781 | if (ret) |
821 | goto err; | 782 | goto err; |
822 | 783 | ||
823 | ret = rtl2832_sdr_wr_regs(dev, 0x115, "\x06\x3f\xce\xcc", 4); | 784 | ret = regmap_bulk_write(dev->regmap, 0x115, "\x06\x3f\xce\xcc", 4); |
824 | if (ret) | 785 | if (ret) |
825 | goto err; | 786 | goto err; |
826 | err: | 787 | err: |
@@ -1400,6 +1361,7 @@ static int rtl2832_sdr_probe(struct platform_device *pdev) | |||
1400 | subdev = pdata->v4l2_subdev; | 1361 | subdev = pdata->v4l2_subdev; |
1401 | dev->v4l2_subdev = pdata->v4l2_subdev; | 1362 | dev->v4l2_subdev = pdata->v4l2_subdev; |
1402 | dev->pdev = pdev; | 1363 | dev->pdev = pdev; |
1364 | dev->regmap = pdata->regmap; | ||
1403 | dev->udev = pdata->dvb_usb_device->udev; | 1365 | dev->udev = pdata->dvb_usb_device->udev; |
1404 | dev->f_adc = bands_adc[0].rangelow; | 1366 | dev->f_adc = bands_adc[0].rangelow; |
1405 | dev->f_tuner = bands_fm[0].rangelow; | 1367 | dev->f_tuner = bands_fm[0].rangelow; |