Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9c4e6dbb3204568d4c058af6e34772393ada19
Commit:     5b9c4e6dbb3204568d4c058af6e34772393ada19
Parent:     c1d570385bd6dd5fe4c0cab09b1c390331111b35
Author:     Mauro Carvalho Chehab <[EMAIL PROTECTED]>
AuthorDate: Wed Mar 28 22:37:26 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Apr 27 15:45:11 2007 -0300

    V4L/DVB (5478): Use ARRAY_SIZE and a cleaner logic for initializing tuner
    
    ATI HDTV Wonder needs to initialize some registers before allowing the
    tuner to start working.
    The current logic have lots of magic. This patch makes the code cleaner,
    using ARRAY_SIZE() for the initialization array and using a
    bidimensional array, instead of doing some stuff like:
        &buffer[i+2]
    
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/cx88/cx88-cards.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/drivers/media/video/cx88/cx88-cards.c 
b/drivers/media/video/cx88/cx88-cards.c
index 13a8bb5..6a33f4c 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1790,7 +1790,7 @@ static void dvico_fusionhdtv_hybrid_init(struct cx88_core 
*core)
                { 0x03, 0x0C },
        };
 
-       for (i = 0; i < 13; i++) {
+       for (i = 0; i < ARRAY_SIZE(init_bufs); i++) {
                msg.buf = init_bufs[i];
                msg.len = (i != 12 ? 5 : 2);
                err = i2c_transfer(&core->i2c_adap, &msg, 1);
@@ -1917,12 +1917,21 @@ void cx88_card_setup(struct cx88_core *core)
                if (0 == core->i2c_rc) {
                        /* enable tuner */
                        int i;
-                       static const u8 buffer [] = { 
0x10,0x12,0x13,0x04,0x16,0x00,0x14,0x04,0x017,0x00 };
+                       static const u8 buffer [][2] = {
+                               {0x10,0x12},
+                               {0x13,0x04},
+                               {0x16,0x00},
+                               {0x14,0x04},
+                               {0x17,0x00}
+                       };
                        core->i2c_client.addr = 0x0a;
 
-                       for (i = 0; i < 5; i++)
-                               if (2 != 
i2c_master_send(&core->i2c_client,&buffer[i*2],2))
-                                       printk(KERN_WARNING "%s: Unable to 
enable tuner(%i).\n",
+                       for (i = 0; i < ARRAY_SIZE(buffer); i++)
+                               if (2 != i2c_master_send(&core->i2c_client,
+                                                       buffer[i],2))
+                                       printk(KERN_WARNING
+                                               "%s: Unable to enable "
+                                               "tuner(%i).\n",
                                                core->name, i);
                }
                break;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to