V4L/DVB (9758): em28xx: replace some magic by register descriptions where known
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 26 Nov 2008 19:28:42 +0000 (16:28 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 29 Dec 2008 19:53:42 +0000 (17:53 -0200)
Replaces all occurrences of em28xx_write_regs_req() and em28xx_write_reg()
used to setup register names by em28xx_write_reg().

Also, documents the register names that are known.

This patch were generated by this small perl script:

my %reg_map = (
# Register table - the same as defined on parse_em28xx.pl script
);

while (<>) {
if (m/(.*)em28xx_write_regs_req\(dev\,\s*0x00\,\s*(.*)\,\s*\"\\x(..)\",\s*1\)\;(.*)/) {
my $reg = $2;
my $val = $3;
$val =~ tr/A-f/a-f/;
$reg = $reg_map{$reg} if defined($reg_map{$reg});
printf "$1em28xx_write_reg(dev, %s, 0x%s);$4\n", $reg, $val;
} elsif (m/(.*)em28xx_write_regs\(dev\,\s*(.*)\,\s*\"\\x(..)\",\s*1\)\;(.*)/) {
my $reg = $2;
my $val = $3;
$val =~ tr/A-f/a-f/;
$reg = $reg_map{$reg} if defined($reg_map{$reg});
printf "$1em28xx_write_reg(dev, %s, 0x%s);$4\n", $reg, $val;
} else {
print $_;
}
}

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/em28xx/em28xx-core.c
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/em28xx/em28xx.h

index 164f9b3d0a91fb616d88ff298f921f0226a4bb05..e777ca636ecb6fcde2c6d0d57709edd38424c719 100644 (file)
@@ -554,20 +554,20 @@ EXPORT_SYMBOL_GPL(em28xx_audio_setup);
 
 int em28xx_colorlevels_set_default(struct em28xx *dev)
 {
-       em28xx_write_regs(dev, EM28XX_R20_YGAIN, "\x10", 1);    /* contrast */
-       em28xx_write_regs(dev, EM28XX_R21_YOFFSET, "\x00", 1);  /* brightness */
-       em28xx_write_regs(dev, EM28XX_R22_UVGAIN, "\x10", 1);   /* saturation */
-       em28xx_write_regs(dev, EM28XX_R23_UOFFSET, "\x00", 1);
-       em28xx_write_regs(dev, EM28XX_R24_VOFFSET, "\x00", 1);
-       em28xx_write_regs(dev, EM28XX_R25_SHARPNESS, "\x00", 1);
-
-       em28xx_write_regs(dev, EM28XX_R14_GAMMA, "\x20", 1);
-       em28xx_write_regs(dev, EM28XX_R15_RGAIN, "\x20", 1);
-       em28xx_write_regs(dev, EM28XX_R16_GGAIN, "\x20", 1);
-       em28xx_write_regs(dev, EM28XX_R17_BGAIN, "\x20", 1);
-       em28xx_write_regs(dev, EM28XX_R18_ROFFSET, "\x00", 1);
-       em28xx_write_regs(dev, EM28XX_R19_GOFFSET, "\x00", 1);
-       return em28xx_write_regs(dev, EM28XX_R1A_BOFFSET, "\x00", 1);
+       em28xx_write_reg(dev, EM28XX_R20_YGAIN, 0x10);  /* contrast */
+       em28xx_write_reg(dev, EM28XX_R21_YOFFSET, 0x00);        /* brightness */
+       em28xx_write_reg(dev, EM28XX_R22_UVGAIN, 0x10); /* saturation */
+       em28xx_write_reg(dev, EM28XX_R23_UOFFSET, 0x00);
+       em28xx_write_reg(dev, EM28XX_R24_VOFFSET, 0x00);
+       em28xx_write_reg(dev, EM28XX_R25_SHARPNESS, 0x00);
+
+       em28xx_write_reg(dev, EM28XX_R14_GAMMA, 0x20);
+       em28xx_write_reg(dev, EM28XX_R15_RGAIN, 0x20);
+       em28xx_write_reg(dev, EM28XX_R16_GGAIN, 0x20);
+       em28xx_write_reg(dev, EM28XX_R17_BGAIN, 0x20);
+       em28xx_write_reg(dev, EM28XX_R18_ROFFSET, 0x00);
+       em28xx_write_reg(dev, EM28XX_R19_GOFFSET, 0x00);
+       return em28xx_write_reg(dev, EM28XX_R1A_BOFFSET, 0x00);
 }
 
 int em28xx_capture_start(struct em28xx *dev, int start)
@@ -600,17 +600,17 @@ int em28xx_capture_start(struct em28xx *dev, int start)
 
        if (!start) {
                /* disable video capture */
-               rc = em28xx_write_regs(dev, EM28XX_R12_VINENABLE, "\x27", 1);
+               rc = em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x27);
                return rc;
        }
 
        /* enable video capture */
-       rc = em28xx_write_regs_req(dev, 0x00, 0x48, "\x00", 1);
+       rc = em28xx_write_reg(dev, 0x48, 0x00);
 
        if (dev->mode == EM28XX_ANALOG_MODE)
-               rc = em28xx_write_regs(dev, EM28XX_R12_VINENABLE, "\x67", 1);
+               rc = em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x67);
        else
-               rc = em28xx_write_regs(dev, EM28XX_R12_VINENABLE, "\x37", 1);
+               rc = em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x37);
 
        msleep(6);
 
@@ -619,9 +619,9 @@ int em28xx_capture_start(struct em28xx *dev, int start)
 
 int em28xx_outfmt_set_yuv422(struct em28xx *dev)
 {
-       em28xx_write_regs(dev, EM28XX_R27_OUTFMT, "\x34", 1);
-       em28xx_write_regs(dev, EM28XX_R10_VINMODE, "\x10", 1);
-       return em28xx_write_regs(dev, EM28XX_R11_VINCTRL, "\x11", 1);
+       em28xx_write_reg(dev, EM28XX_R27_OUTFMT, 0x34);
+       em28xx_write_reg(dev, EM28XX_R10_VINMODE, 0x10);
+       return em28xx_write_reg(dev, EM28XX_R11_VINCTRL, 0x11);
 }
 
 static int em28xx_accumulator_set(struct em28xx *dev, u8 xmin, u8 xmax,
@@ -737,11 +737,11 @@ int em28xx_gpio_set(struct em28xx *dev, struct em28xx_reg_seq *gpio)
        if (!gpio)
                return rc;
 
-       dev->em28xx_write_regs_req(dev, 0x00, 0x48, "\x00", 1);
+       em28xx_write_reg(dev, 0x48, 0x00);
        if (dev->mode == EM28XX_ANALOG_MODE)
-               dev->em28xx_write_regs_req(dev, 0x00, 0x12, "\x67", 1);
+               em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x67);
        else
-               dev->em28xx_write_regs_req(dev, 0x00, 0x12, "\x37", 1);
+               em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x37);
        msleep(6);
 
        /* Send GPIO reset sequences specified at board entry */
index acda76f86ff8223a96ea96b4b70b72c8663d5ca0..87e9f1d7a95889e58ef095b3f1555588579c1f97 100644 (file)
@@ -518,7 +518,7 @@ static int em28xx_config(struct em28xx *dev)
 
        /* Sets I2C speed to 100 KHz */
        if (!dev->board.is_em2800) {
-               retval = em28xx_write_regs_req(dev, 0x00, 0x06, "\x40", 1);
+               retval = em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, 0x40);
                if (retval < 0) {
                        em28xx_errdev("%s: em28xx_write_regs_req failed! retval [%d]\n",
                                __func__, retval);
@@ -528,9 +528,9 @@ static int em28xx_config(struct em28xx *dev)
 
        /* enable vbi capturing */
 
-/*     em28xx_write_regs_req(dev, 0x00, 0x0e, "\xC0", 1); audio register */
-/*     em28xx_write_regs_req(dev, 0x00, 0x0f, "\x80", 1); clk register */
-       em28xx_write_regs_req(dev, 0x00, 0x11, "\x51", 1);
+/*     em28xx_write_reg(dev, EM28XX_R0E_AUDIOSRC, 0xc0); audio register */
+/*     em28xx_write_reg(dev, EM28XX_R0F_XCLK, 0x80); clk register */
+       em28xx_write_reg(dev, EM28XX_R11_VINCTRL, 0x51);
 
        dev->mute = 1;          /* maybe not the right place... */
        dev->volume = 0x1f;
@@ -2094,7 +2094,7 @@ static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev,
 
        if (dev->board.has_msp34xx) {
                /* Send a reset to other chips via gpio */
-               errCode = em28xx_write_regs_req(dev, 0x00, 0x08, "\xf7", 1);
+               errCode = em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xf7);
                if (errCode < 0) {
                        em28xx_errdev("%s: em28xx_write_regs_req - msp34xx(1) failed! errCode [%d]\n",
                                __func__, errCode);
@@ -2102,7 +2102,7 @@ static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev,
                }
                msleep(3);
 
-               errCode = em28xx_write_regs_req(dev, 0x00, 0x08, "\xff", 1);
+               errCode = em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xff);
                if (errCode < 0) {
                        em28xx_errdev("%s: em28xx_write_regs_req - msp34xx(2) failed! errCode [%d]\n",
                                __func__, errCode);
index 3e9ca7899beb26adb83bd719cec5bf63b58d25c3..e41015d2e72202aa9ad3a5a918222c382c282adc 100644 (file)
@@ -617,7 +617,7 @@ int em28xx_ir_fini(struct em28xx *dev);
 static inline int em28xx_compression_disable(struct em28xx *dev)
 {
        /* side effect of disabling scaler and mixer */
-       return em28xx_write_regs(dev, EM28XX_R26_COMPR, "\x00", 1);
+       return em28xx_write_reg(dev, EM28XX_R26_COMPR, 0x00);
 }
 
 static inline int em28xx_contrast_get(struct em28xx *dev)