[PATCH] savagefb: Driver updates
- Fallback to firmware EDID if chipset has no DDC/I2C support or if I2C probing failed - Add fb_blank hook - Fix savagefb_suspend/resume to enable driver to successfully suspend and resume from S3, memory or disk Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
5e518d7672
commit
13776711ce
@@ -259,8 +259,9 @@ static u8 *savage_do_probe_i2c_edid(struct savagefb_i2c_chan *chan)
|
||||
return buf;
|
||||
}
|
||||
|
||||
int savagefb_probe_i2c_connector(struct savagefb_par *par, u8 **out_edid)
|
||||
int savagefb_probe_i2c_connector(struct fb_info *info, u8 **out_edid)
|
||||
{
|
||||
struct savagefb_par *par = info->par;
|
||||
u8 *edid = NULL;
|
||||
int i;
|
||||
|
||||
@@ -270,12 +271,19 @@ int savagefb_probe_i2c_connector(struct savagefb_par *par, u8 **out_edid)
|
||||
if (edid)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!edid) {
|
||||
/* try to get from firmware */
|
||||
edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
|
||||
if (edid)
|
||||
memcpy(edid, fb_firmware_edid(info->device),
|
||||
EDID_LENGTH);
|
||||
}
|
||||
|
||||
if (out_edid)
|
||||
*out_edid = edid;
|
||||
if (!edid)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
return (edid) ? 0 : 1;
|
||||
}
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
Reference in New Issue
Block a user