From a32b669752a2bb322db431582e381d522bd0eaf0 Mon Sep 17 00:00:00 2001 From: yxj Date: Mon, 21 Jan 2013 17:06:43 +0800 Subject: [PATCH] dp501:add suspend resume support --- drivers/video/display/transmitter/dp501.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/video/display/transmitter/dp501.c b/drivers/video/display/transmitter/dp501.c index 6f9c68a4aaff..70baab7beff5 100644 --- a/drivers/video/display/transmitter/dp501.c +++ b/drivers/video/display/transmitter/dp501.c @@ -184,16 +184,26 @@ static const struct file_operations edp_reg_fops = { .release = single_release, }; +#ifdef CONFIG_HAS_EARLYSUSPEND static void dp501_early_suspend(struct early_suspend *h) { + struct dp501 *dp501 = container_of(h, struct dp501, early_suspend); + gpio_set_value(dp501->pdata->dvdd33_en_pin,!dp501->pdata->dvdd33_en_val); + gpio_set_value(dp501->pdata->dvdd18_en_pin,!dp501->pdata->dvdd18_en_val); } static void dp501_late_resume(struct early_suspend *h) { - + struct dp501 *dp501 = container_of(h, struct dp501, early_suspend); + gpio_set_value(dp501->pdata->dvdd33_en_pin,dp501->pdata->dvdd33_en_val); + gpio_set_value(dp501->pdata->dvdd18_en_pin,dp501->pdata->dvdd18_en_val); + gpio_set_value(dp501->pdata->edp_rst_pin,0); + msleep(10); + gpio_set_value(dp501->pdata->edp_rst_pin,1); + dp501->edp_init(dp501->client); } - +#endif static int dp501_i2c_probe(struct i2c_client *client,const struct i2c_device_id *id) { int ret; -- 2.34.1