savagefb: Fix load failure of the Twister chipset
PATCH 1/3 savagefb: Fix load failure of the Twister chipset
- The Twister chipsets are actually prosavages. Reclassify them as such and remove the S3_SAVAGE_TWISTER id.
- Fix i2c code if fb_firmware_edid() returns NULL
Signed-off-by Antonino Daplas <[email protected]>
--- savagefb-i2c.c | 11 +++++++---- savagefb.h | 4 ---- savagefb_driver.c | 11 +++++------ 3 files changed, 12 insertions(+), 14 deletions(-)
drivers/video/savage/savagefb-i2c.c +7 -4
@@ -274,10 +274,13 @@ int savagefb_probe_i2c_connector(structif (!edid) {/* try to get from firmware */ - edid =kmalloc (EDID_LENGTH ,GFP_KERNEL ); -if (edid) -memcpy (edid,fb_firmware_edid (info->device), -EDID_LENGTH ); +const u8 *e =fb_firmware_edid (info->device); + +if (e) { + edid =kmalloc (EDID_LENGTH ,GFP_KERNEL ); +if (edid) +memcpy (edid, e,EDID_LENGTH ); + } }if (out_edid)
drivers/video/savage/savagefb.h +0 -4
@@ -60,8 +60,6 @@#define S3_SAVAGE_SERIES (chip) ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE2000)) -#define S3_MOBILE_TWISTER_SERIES (chip) ((chip==S3_TWISTER) || (chip == S3_PROSAVAGEDDR)) -/* Chip tags. These are used to group the adapters into * related families. */
@@ -74,8 +72,6 @@ typedef enum {S3_PROSAVAGE ,S3_SUPERSAVAGE ,S3_SAVAGE2000 , -S3_PROSAVAGEDDR , -S3_TWISTER , S3_LAST } savage_chipset;
drivers/video/savage/savagefb_driver.c +5 -6
@@ -1773,8 +1773,7 @@ static int __devinit savage_init_hw (str } } -if (S3_SAVAGE_MOBILE_SERIES (par->chip) || - (S3_MOBILE_TWISTER_SERIES (par->chip) && !par->crtonly)) +if (S3_SAVAGE_MOBILE_SERIES (par->chip) && !par->crtonly) par->display_type =DISP_LCD ;else if (dvi || (par->chip ==S3_SAVAGE4 && par->dvi)) par->display_type =DISP_DFP ;
@@ -1783,7 +1782,7 @@ static int __devinit savage_init_hw (str/* Check LCD panel parrmation */ -if (par->chip ==S3_SAVAGE_MX ) { +if (par->display_type ==DISP_LCD ) {unsigned char cr6b =VGArCR (0x6b ); int panelX = (VGArSEQ (0x61) +
@@ -1922,15 +1921,15 @@ static int __devinit savage_init_fb_infosnprintf (info->fix.id,16 ,"ProSavageKM" );break ;case FB_ACCEL_S3TWISTER_P : - par->chip =S3_TWISTER ; + par->chip =S3_PROSAVAGE ;snprintf (info->fix.id,16 ,"TwisterP" );break ;case FB_ACCEL_S3TWISTER_K : - par->chip =S3_TWISTER ; + par->chip =S3_PROSAVAGE ;snprintf (info->fix.id,16 ,"TwisterK" );break ;case FB_ACCEL_PROSAVAGE_DDR : - par->chip =S3_PROSAVAGEDDR ; + par->chip =S3_PROSAVAGE ;snprintf (info->fix.id,16 ,"ProSavageDDR" );break ;case FB_ACCEL_PROSAVAGE_DDRK :
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php