Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a65ff76ac8b24df49bbf4acc38918fb52d1033b0
Commit:     a65ff76ac8b24df49bbf4acc38918fb52d1033b0
Parent:     5b358fe12f03a7822db6f376b608f996c664a952
Author:     Jean Delvare <[EMAIL PROTECTED]>
AuthorDate: Tue May 8 00:38:20 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue May 8 11:15:28 2007 -0700

    rivafb/nvidiafb: Various cleanups
    
    Various cleanups to rivafb/nvidiafb's I2C code:
    * Drop useless par->bus.
    * Refactor I2C bus deletion code.
    * Drop useless variable initialization.
    * Remove unneeded include of <linux/i2c-id.h>.
    * Simplify +1/-1.
    * Add __devinit tags where possible.
    
    [adaplas]
    The varible initialization are not useless. However, rivafb must
    check if i2c bus are created properly before reading the EDID
    block.
    
    Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
    Signed-off-by: Antonino Daplas <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/video/nvidia/nv_i2c.c   |   20 +++++++-------------
 drivers/video/nvidia/nv_type.h  |    2 --
 drivers/video/riva/fbdev.c      |    4 ++--
 drivers/video/riva/rivafb-i2c.c |   31 ++++++++++++++-----------------
 drivers/video/riva/rivafb.h     |    2 --
 5 files changed, 23 insertions(+), 36 deletions(-)

diff --git a/drivers/video/nvidia/nv_i2c.c b/drivers/video/nvidia/nv_i2c.c
index badc1a6..4fc7118 100644
--- a/drivers/video/nvidia/nv_i2c.c
+++ b/drivers/video/nvidia/nv_i2c.c
@@ -127,8 +127,6 @@ static int nvidia_setup_i2c_bus(struct nvidia_i2c_chan 
*chan, const char *name,
 
 void nvidia_create_i2c_busses(struct nvidia_par *par)
 {
-       par->bus = 3;
-
        par->chan[0].par = par;
        par->chan[1].par = par;
        par->chan[2].par = par;
@@ -145,18 +143,14 @@ void nvidia_create_i2c_busses(struct nvidia_par *par)
 
 void nvidia_delete_i2c_busses(struct nvidia_par *par)
 {
-       if (par->chan[0].par)
-               i2c_del_adapter(&par->chan[0].adapter);
-       par->chan[0].par = NULL;
-
-       if (par->chan[1].par)
-               i2c_del_adapter(&par->chan[1].adapter);
-       par->chan[1].par = NULL;
-
-       if (par->chan[2].par)
-               i2c_del_adapter(&par->chan[2].adapter);
-       par->chan[2].par = NULL;
+       int i;
 
+       for (i = 0; i < 3; i++) {
+               if (!par->chan[i].par)
+                       continue;
+               i2c_del_adapter(&par->chan[i].adapter);
+               par->chan[i].par = NULL;
+       }
 }
 
 int nvidia_probe_i2c_connector(struct fb_info *info, int conn, u8 **out_edid)
diff --git a/drivers/video/nvidia/nv_type.h b/drivers/video/nvidia/nv_type.h
index 86e65de..ee430af 100644
--- a/drivers/video/nvidia/nv_type.h
+++ b/drivers/video/nvidia/nv_type.h
@@ -4,7 +4,6 @@
 #include <linux/fb.h>
 #include <linux/types.h>
 #include <linux/i2c.h>
-#include <linux/i2c-id.h>
 #include <linux/i2c-algo-bit.h>
 
 #define NV_ARCH_04  0x04
@@ -100,7 +99,6 @@ struct nvidia_par {
        u32 Architecture;
        u32 CursorStart;
        int Chipset;
-       int bus;
        unsigned long FbAddress;
        u8 __iomem *FbStart;
        u32 FbMapSize;
diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c
index b8d50f1..9e6ee1f 100644
--- a/drivers/video/riva/fbdev.c
+++ b/drivers/video/riva/fbdev.c
@@ -1788,10 +1788,10 @@ static int __devinit riva_get_EDID_i2c(struct fb_info 
*info)
 
        NVTRACE_ENTER();
        riva_create_i2c_busses(par);
-       for (i = 0; i < par->bus; i++) {
+       for (i = 0; i < 3; i++) {
                if (!par->chan[i].par)
                        continue;
-               riva_probe_i2c_connector(par, i+1, &par->EDID);
+               riva_probe_i2c_connector(par, i, &par->EDID);
                if (par->EDID && !fb_parse_edid(par->EDID, &var)) {
                        printk(PFX "Found EDID Block from BUS %i\n", i);
                        break;
diff --git a/drivers/video/riva/rivafb-i2c.c b/drivers/video/riva/rivafb-i2c.c
index ca9e7e8..bcb2096 100644
--- a/drivers/video/riva/rivafb-i2c.c
+++ b/drivers/video/riva/rivafb-i2c.c
@@ -88,8 +88,9 @@ static int riva_gpio_getsda(void* data)
        return val;
 }
 
-static int riva_setup_i2c_bus(struct riva_i2c_chan *chan, const char *name,
-                             unsigned int i2c_class)
+static int __devinit riva_setup_i2c_bus(struct riva_i2c_chan *chan,
+                                       const char *name,
+                                       unsigned int i2c_class)
 {
        int rc;
 
@@ -126,10 +127,8 @@ static int riva_setup_i2c_bus(struct riva_i2c_chan *chan, 
const char *name,
        return rc;
 }
 
-void riva_create_i2c_busses(struct riva_par *par)
+void __devinit riva_create_i2c_busses(struct riva_par *par)
 {
-       par->bus = 3;
-
        par->chan[0].par        = par;
        par->chan[1].par        = par;
        par->chan[2].par        = par;
@@ -144,24 +143,22 @@ void riva_create_i2c_busses(struct riva_par *par)
 
 void riva_delete_i2c_busses(struct riva_par *par)
 {
-       if (par->chan[0].par)
-               i2c_del_adapter(&par->chan[0].adapter);
-       par->chan[0].par = NULL;
-
-       if (par->chan[1].par)
-               i2c_del_adapter(&par->chan[1].adapter);
-       par->chan[1].par = NULL;
+       int i;
 
-       if (par->chan[2].par)
-               i2c_del_adapter(&par->chan[2].adapter);
-       par->chan[2].par = NULL;
+       for (i = 0; i < 3; i++) {
+               if (!par->chan[i].par)
+                       continue;
+               i2c_del_adapter(&par->chan[i].adapter);
+               par->chan[i].par = NULL;
+       }
 }
 
-int riva_probe_i2c_connector(struct riva_par *par, int conn, u8 **out_edid)
+int __devinit riva_probe_i2c_connector(struct riva_par *par, int conn, u8 
**out_edid)
 {
        u8 *edid = NULL;
 
-       edid = fb_ddc_read(&par->chan[conn-1].adapter);
+       if (par->chan[conn].par)
+               edid = fb_ddc_read(&par->chan[conn].adapter);
 
        if (out_edid)
                *out_edid = edid;
diff --git a/drivers/video/riva/rivafb.h b/drivers/video/riva/rivafb.h
index 48ead6d..d9f107b 100644
--- a/drivers/video/riva/rivafb.h
+++ b/drivers/video/riva/rivafb.h
@@ -4,7 +4,6 @@
 #include <linux/fb.h>
 #include <video/vga.h>
 #include <linux/i2c.h>
-#include <linux/i2c-id.h>
 #include <linux/i2c-algo-bit.h>
 
 #include "riva_hw.h"
@@ -61,7 +60,6 @@ struct riva_par {
        Bool SecondCRTC;
        int FlatPanel;
        struct pci_dev *pdev;
-       int bus;
        int cursor_reset;
 #ifdef CONFIG_MTRR
        struct { int vram; int vram_valid; } mtrr;
-
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