au1100fb: Add power management support
PATCH 2/2 au1100fb: Add power management support
From: Rodolfo Giometti <[email protected]>
Add power management support
Signed-off-by Rodolfo Giometti <[email protected]>
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/au1100fb.c | 40 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 38 insertions(+), 2 deletions(-)
drivers/video/au1100fb.c +38 -2
@@ -7,6 +7,8 @@* Karl Lessard <[email protected]> * <[email protected]> * +* PM support added by Rodolfo Giometti <[email protected]> +* * Copyright 2002 MontaVista Software * Author: MontaVista Software, Inc. * [email protected] or [email protected]
@@ -602,17 +604,49 @@ int au1100fb_drv_remove(struct device *dreturn 0 ; } +#ifdef CONFIG_PM +static u32 sys_clksrc; +static struct au1100fb_regs fbregs; +int au1100fb_drv_suspend (struct device *dev,pm_message_t state) { -/* TODO */ +struct au1100fb_device *fbdev =dev_get_drvdata (dev); + +if (!fbdev) +return 0 ; + +/* Save the clock source state */ + sys_clksrc =au_readl (SYS_CLKSRC ); + +/* Blank the LCD */ +au1100fb_fb_blank (VESA_POWERDOWN , &fbdev->info); + +/* Stop LCD clocking */ +au_writel (sys_clksrc & ~SYS_CS_ML_MASK ,SYS_CLKSRC ); + +memcpy (&fbregs, fbdev->regs,sizeof (struct au1100fb_regs )); +return 0 ; }int au1100fb_drv_resume (struct device *dev) { -/* TODO */ +struct au1100fb_device *fbdev =dev_get_drvdata (dev); + +if (!fbdev) +return 0 ; + +memcpy (fbdev->regs, &fbregs,sizeof (struct au1100fb_regs )); + +/* Restart LCD clocking */ +au_writel (sys_clksrc,SYS_CLKSRC ); + +/* Unblank the LCD */ +au1100fb_fb_blank (VESA_NO_BLANKING , &fbdev->info); +return 0 ; } +#endif static struct device_driver au1100fb_driver = { .name ="au1100-lcd" ,
@@ -620,8 +654,10 @@ static struct device_driver au1100fb_dri .probe = au1100fb_drv_probe, .remove = au1100fb_drv_remove, +#ifdef CONFIG_PM .suspend = au1100fb_drv_suspend, .resume = au1100fb_drv_resume, +#endif };/*-------------------------------------------------------------------------*/
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642