All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 11/13] i810fb: Use generic DDC reading
@ 2006-07-31 23:38 Antonino A. Daplas
  0 siblings, 0 replies; only message in thread
From: Antonino A. Daplas @ 2006-07-31 23:38 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Fbdev development list

Update driver to use generic DDC reading

Signed-off-by: Antonino Daplas <adaplas@pol.net>
---

 drivers/video/Kconfig         |    1 +
 drivers/video/i810/i810-i2c.c |   42 +----------------------------------------
 2 files changed, 2 insertions(+), 41 deletions(-)

diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index a838924..115d00d 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -829,6 +829,7 @@ config FB_I810_I2C
 	depends on FB_I810 && FB_I810_GTF
 	select I2C
 	select I2C_ALGOBIT
+	select FB_DDC
 	help
 
 config FB_INTEL
diff --git a/drivers/video/i810/i810-i2c.c b/drivers/video/i810/i810-i2c.c
index c1f7b49..565a431 100644
--- a/drivers/video/i810/i810-i2c.c
+++ b/drivers/video/i810/i810-i2c.c
@@ -19,7 +19,6 @@ #include "i810_regs.h"
 #include "i810_main.h"
 #include "../edid.h"
 
-#define I810_DDC 0x50
 /* bit locations in the registers */
 #define SCL_DIR_MASK		0x0001
 #define SCL_DIR			0x0002
@@ -151,53 +150,14 @@ void i810_delete_i2c_busses(struct i810f
 	par->chan[2].par = NULL;
 }
 
-static u8 *i810_do_probe_i2c_edid(struct i810fb_i2c_chan *chan)
-{
-        u8 start = 0x0;
-        struct i2c_msg msgs[] = {
-                {
-                        .addr   = I810_DDC,
-                        .len    = 1,
-                        .buf    = &start,
-                }, {
-                        .addr   = I810_DDC,
-                        .flags  = I2C_M_RD,
-                        .len    = EDID_LENGTH,
-                },
-        };
-        u8 *buf;
-
-        buf = kmalloc(EDID_LENGTH, GFP_KERNEL);
-        if (!buf) {
-		DPRINTK("i810-i2c: Failed to allocate memory\n");
-                return NULL;
-        }
-        msgs[1].buf = buf;
-
-        if (i2c_transfer(&chan->adapter, msgs, 2) == 2) {
-		DPRINTK("i810-i2c: I2C Transfer successful\n");
-                return buf;
-	}
-
-        DPRINTK("i810-i2c: Unable to read EDID block.\n");
-        kfree(buf);
-        return NULL;
-}
-
 int i810_probe_i2c_connector(struct fb_info *info, u8 **out_edid, int conn)
 {
 	struct i810fb_par *par = info->par;
         u8 *edid = NULL;
-        int i;
 
 	DPRINTK("i810-i2c: Probe DDC%i Bus\n", conn+1);
 	if (conn < par->ddc_num) {
-		for (i = 0; i < 3; i++) {
-			/* Do the real work */
-			edid = i810_do_probe_i2c_edid(&par->chan[conn]);
-			if (edid)
-				break;
-		}
+		edid = fb_ddc_read(&par->chan[conn].adapter);
 	} else {
 		const u8 *e = fb_firmware_edid(info->device);
 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2006-07-31 23:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-31 23:38 [PATCH 11/13] i810fb: Use generic DDC reading Antonino A. Daplas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.