diff options
Diffstat (limited to 'drivers/video/sh_mobile_hdmi.c')
-rw-r--r-- | drivers/video/sh_mobile_hdmi.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/video/sh_mobile_hdmi.c b/drivers/video/sh_mobile_hdmi.c index 56e44fd0a3af..51ce34990e24 100644 --- a/drivers/video/sh_mobile_hdmi.c +++ b/drivers/video/sh_mobile_hdmi.c | |||
@@ -732,6 +732,7 @@ static void hdmi_display_on(void *arg, struct fb_info *info) | |||
732 | */ | 732 | */ |
733 | struct sh_hdmi *hdmi = arg; | 733 | struct sh_hdmi *hdmi = arg; |
734 | struct sh_mobile_hdmi_info *pdata = hdmi->dev->platform_data; | 734 | struct sh_mobile_hdmi_info *pdata = hdmi->dev->platform_data; |
735 | struct sh_mobile_lcdc_chan *ch = info->par; | ||
735 | 736 | ||
736 | pr_debug("%s(%p): state %x\n", __func__, pdata->lcd_dev, info->state); | 737 | pr_debug("%s(%p): state %x\n", __func__, pdata->lcd_dev, info->state); |
737 | 738 | ||
@@ -747,7 +748,7 @@ static void hdmi_display_on(void *arg, struct fb_info *info) | |||
747 | case HDMI_HOTPLUG_DISCONNECTED: | 748 | case HDMI_HOTPLUG_DISCONNECTED: |
748 | info->state = FBINFO_STATE_SUSPENDED; | 749 | info->state = FBINFO_STATE_SUSPENDED; |
749 | default: | 750 | default: |
750 | hdmi->var = info->var; | 751 | hdmi->var = ch->display_var; |
751 | } | 752 | } |
752 | } | 753 | } |
753 | 754 | ||
@@ -767,6 +768,7 @@ static void edid_work_fn(struct work_struct *work) | |||
767 | { | 768 | { |
768 | struct sh_hdmi *hdmi = container_of(work, struct sh_hdmi, edid_work.work); | 769 | struct sh_hdmi *hdmi = container_of(work, struct sh_hdmi, edid_work.work); |
769 | struct sh_mobile_hdmi_info *pdata = hdmi->dev->platform_data; | 770 | struct sh_mobile_hdmi_info *pdata = hdmi->dev->platform_data; |
771 | struct sh_mobile_lcdc_chan *ch; | ||
770 | 772 | ||
771 | pr_debug("%s(%p): begin, hotplug status %d\n", __func__, | 773 | pr_debug("%s(%p): begin, hotplug status %d\n", __func__, |
772 | pdata->lcd_dev, hdmi->hp_state); | 774 | pdata->lcd_dev, hdmi->hp_state); |
@@ -788,10 +790,12 @@ static void edid_work_fn(struct work_struct *work) | |||
788 | if (!hdmi->info) | 790 | if (!hdmi->info) |
789 | goto out; | 791 | goto out; |
790 | 792 | ||
793 | ch = hdmi->info->par; | ||
794 | |||
791 | acquire_console_sem(); | 795 | acquire_console_sem(); |
792 | 796 | ||
793 | /* HDMI plug in */ | 797 | /* HDMI plug in */ |
794 | hdmi->info->var = hdmi->var; | 798 | ch->display_var = hdmi->var; |
795 | if (hdmi->info->state != FBINFO_STATE_RUNNING) { | 799 | if (hdmi->info->state != FBINFO_STATE_RUNNING) { |
796 | fb_set_suspend(hdmi->info, 0); | 800 | fb_set_suspend(hdmi->info, 0); |
797 | } else { | 801 | } else { |