suspend_flag = 1;
}
+void rk29_backlight_set(bool on)
+{
+ printk("%s: set %d\n", __func__, on);
+ return;
+}
+EXPORT_SYMBOL(rk29_backlight_set);
+
static void rk29_bl_resume(struct early_suspend *h)
{
struct rk29_bl_info *rk29_bl_info = bl_get_data(rk29_bl);
int resolution_real;\r
\r
hdmi_set_spk(anx->hdmi->display_on);\r
+ hdmi_set_backlight(anx->hdmi->display_on);\r
hdmi_switch_fb(anx->hdmi, anx->hdmi->display_on);\r
resolution_real = ANX7150_Get_Optimal_resolution(anx->hdmi->resolution);\r
HDMI_Set_Video_Format(resolution_real);\r
\r
anx7150_unplug(anx->client);\r
hdmi_set_spk(HDMI_DISABLE);\r
+ hdmi_set_backlight(HDMI_DISABLE);\r
hdmi_switch_fb(hdmi, HDMI_DISABLE);\r
\r
return 0;\r
}\r
+static int anx7150_shutdown(struct hdmi *hdmi)\r
+{\r
+ struct anx7150_pdata *anx = hdmi_priv(hdmi);\r
+ \r
+ anx7150_unplug(anx->client);\r
\r
+ return 0;\r
+}\r
static int anx7150_display_on(struct hdmi* hdmi)\r
{\r
struct anx7150_pdata *anx = hdmi_priv(hdmi);\r
.hdmi_precent = anx7150_hdmi_precent,\r
.insert = anx7150_insert,\r
.remove = anx7150_remove,\r
+ .shutdown = anx7150_shutdown,\r
};\r
static irqreturn_t anx7150_detect_irq(int irq, void *dev_id);\r
static void anx7150_detect_work(struct work_struct *work)\r
--- /dev/null
+#include <linux/hdmi-new.h>
+
+extern void rk29_backlight_set(bool on);
+void hdmi_set_backlight(int on)
+{
+ rk29_backlight_set(on);
+}
\ No newline at end of file
int hdmi_suspend(struct hdmi *hdmi)\r
{\r
flush_delayed_work(&hdmi->changed_work);\r
- return hdmi->ops->remove(hdmi);\r
+ return hdmi->ops->shutdown(hdmi);\r
}\r
int hdmi_resume(struct hdmi *hdmi)\r
{\r
int (*insert)(struct hdmi *);\r
int (*remove)(struct hdmi *);\r
int (*power_off)(struct hdmi *);\r
+ int (*shutdown)(struct hdmi *);\r
};\r
struct hdmi {\r
int id;\r
\r
extern int hdmi_get_default_resolution(void *screen);\r
extern void hdmi_set_spk(int on);\r
+extern void hdmi_set_backlight(int on);\r
\r
#endif\r