[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:
Antonino A. Daplas
2005-09-09 13:04:35 -07:00
committed by Linus Torvalds
parent 5e518d7672
commit 13776711ce
3 changed files with 148 additions and 22 deletions

View File

@@ -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");