davinci: fb : add suspend/resume suuport for DA8xx/OMAP-L1xx fb driver
Suspend/resume support DA8xx/OMAP-L1xx frame buffer driver. This feature has been tested on DA850/OMAP-L138 EVM. For the purpose of testing, the patch series[1] which adds suspend support for DA850/OMAP-L138 SoC was applied. [1] http://patchwork.kernel.org/patch/60260/ Signed-off-by: Chaithrika U S <chaithrika@ti.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3611380490
commit
1d3c6c7b36
@ -29,6 +29,7 @@
|
|||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
#include <linux/cpufreq.h>
|
#include <linux/cpufreq.h>
|
||||||
|
#include <linux/console.h>
|
||||||
#include <video/da8xx-fb.h>
|
#include <video/da8xx-fb.h>
|
||||||
|
|
||||||
#define DRIVER_NAME "da8xx_lcdc"
|
#define DRIVER_NAME "da8xx_lcdc"
|
||||||
@ -930,11 +931,35 @@ err_request_mem:
|
|||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
static int fb_suspend(struct platform_device *dev, pm_message_t state)
|
static int fb_suspend(struct platform_device *dev, pm_message_t state)
|
||||||
{
|
{
|
||||||
return -EBUSY;
|
struct fb_info *info = platform_get_drvdata(dev);
|
||||||
|
struct da8xx_fb_par *par = info->par;
|
||||||
|
|
||||||
|
acquire_console_sem();
|
||||||
|
if (par->panel_power_ctrl)
|
||||||
|
par->panel_power_ctrl(0);
|
||||||
|
|
||||||
|
fb_set_suspend(info, 1);
|
||||||
|
lcd_disable_raster();
|
||||||
|
clk_disable(par->lcdc_clk);
|
||||||
|
release_console_sem();
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
static int fb_resume(struct platform_device *dev)
|
static int fb_resume(struct platform_device *dev)
|
||||||
{
|
{
|
||||||
return -EBUSY;
|
struct fb_info *info = platform_get_drvdata(dev);
|
||||||
|
struct da8xx_fb_par *par = info->par;
|
||||||
|
|
||||||
|
acquire_console_sem();
|
||||||
|
if (par->panel_power_ctrl)
|
||||||
|
par->panel_power_ctrl(1);
|
||||||
|
|
||||||
|
clk_enable(par->lcdc_clk);
|
||||||
|
lcd_enable_raster();
|
||||||
|
fb_set_suspend(info, 0);
|
||||||
|
release_console_sem();
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define fb_suspend NULL
|
#define fb_suspend NULL
|
||||||
|
Loading…
Reference in New Issue
Block a user