aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorPeter Rosin <peda@axentia.se>2016-05-04 16:15:34 -0400
committerWolfram Sang <wsa@the-dreams.de>2016-05-04 16:40:07 -0400
commite01fc42d78ab953f6de4ff9273cb9d6d9ed3dd37 (patch)
tree13c0ec4c5f8ea03a224b9d158039a87c551643a3 /drivers/media
parent1cf79db28ef53aeaa66a825e8f788d19fdd8648f (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.c302
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 */
168static 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 */
180static 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 */
192static 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 */
198static 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 */
209static struct rtl2832_sdr_frame_buf *rtl2832_sdr_get_next_fill_buf( 169static 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;
789err: 750err:
@@ -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;
826err: 787err:
@@ -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;