nvidiafb: Bring back generic ddc reading
PATCH RESEND 3/9 nvidiafb: Bring back generic ddc reading
Make nvidiafb use fb_ddc_read(). This patch was submitted before but was reverted due to problems in a non-x86 platform. This includes a fix for that where ddc reading is bypassed if there is no DDC bus (duh).
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/nvidia/nv_i2c.c | 44 ++--------------------------------------- 1 files changed, 2 insertions(+), 42 deletions(-)
drivers/video/nvidia/nv_i2c.c +2 -42
@@ -70,8 +70,6 @@ static int nvidia_gpio_getscl(void *dataif (VGA_RD08 (par->PCIO,0x3d5 ) &0x04 ) val =1 ; - val =VGA_RD08 (par->PCIO,0x3d5 ); -return val; }
@@ -159,51 +157,13 @@ void nvidia_delete_i2c_busses(struct nvi } -static u8 *nvidia_do_probe_i2c_edid (struct nvidia_i2c_chan *chan) -{ -u8 start =0x0 ; -struct i2c_msg msgs[] = { - { - .addr =0x50 , - .len =1 , - .buf = &start, - }, { - .addr =0x50 , - .flags =I2C_M_RD , - .len =EDID_LENGTH , - }, - }; -u8 *buf; - -if (!chan->par) -return NULL ; - - buf =kmalloc (EDID_LENGTH ,GFP_KERNEL ); -if (!buf) { -dev_warn (&chan->par->pci_dev->dev,"Out of memory!\n" ); -return NULL ; - } - msgs[1 ].buf = buf; - -if (i2c_transfer (&chan->adapter, msgs,2 ) ==2 ) -return buf; -dev_dbg (&chan->par->pci_dev->dev,"Unable to read EDID block.\n" ); -kfree (buf); -return NULL ; -} -int nvidia_probe_i2c_connector (struct fb_info *info,int conn,u8 **out_edid) {struct nvidia_par *par = info->par;u8 *edid =NULL ; -int i; -for (i =0 ; i <3 ; i++) { -/* Do the real work */ - edid =nvidia_do_probe_i2c_edid (&par->chan[conn -1 ]); -if (edid) -break ; - } +if (par->chan[conn -1 ].par) + edid =fb_ddc_read (&par->chan[conn -1 ].adapter);if (!edid && conn ==1 ) {/* try to get from firmware */
-------------------------------------------------------------------------
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