drm: return if changed in drm_helper_hpd_irq_event()
authorMarc-André Lureau <marcandre.lureau@gmail.com>
Fri, 18 Oct 2013 14:11:28 +0000 (16:11 +0200)
committerDave Airlie <airlied@redhat.com>
Wed, 23 Oct 2013 13:21:07 +0000 (14:21 +0100)
The caller may want to know whether the configuration was changed, and
if an hotplug event was sent.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_crtc_helper.c
include/drm/drm_crtc_helper.h

index 5fcb9d487672953bf6df4ad819c03ad29b15290b..55ea4ac6fd50c6f6e5697611183fd2b80654e54c 100644 (file)
@@ -1131,14 +1131,14 @@ void drm_kms_helper_poll_fini(struct drm_device *dev)
 }
 EXPORT_SYMBOL(drm_kms_helper_poll_fini);
 
-void drm_helper_hpd_irq_event(struct drm_device *dev)
+bool drm_helper_hpd_irq_event(struct drm_device *dev)
 {
        struct drm_connector *connector;
        enum drm_connector_status old_status;
        bool changed = false;
 
        if (!dev->mode_config.poll_enabled)
-               return;
+               return false;
 
        mutex_lock(&dev->mode_config.mutex);
        list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
@@ -1163,5 +1163,7 @@ void drm_helper_hpd_irq_event(struct drm_device *dev)
 
        if (changed)
                drm_kms_helper_hotplug_event(dev);
+
+       return changed;
 }
 EXPORT_SYMBOL(drm_helper_hpd_irq_event);
index f43d556bf40bcbe1968d2440e214160c02844a59..ef6ad3a8e58e517f31624767fb1751f7ada463c5 100644 (file)
@@ -163,7 +163,7 @@ static inline void drm_connector_helper_add(struct drm_connector *connector,
 extern int drm_helper_resume_force_mode(struct drm_device *dev);
 extern void drm_kms_helper_poll_init(struct drm_device *dev);
 extern void drm_kms_helper_poll_fini(struct drm_device *dev);
-extern void drm_helper_hpd_irq_event(struct drm_device *dev);
+extern bool drm_helper_hpd_irq_event(struct drm_device *dev);
 extern void drm_kms_helper_hotplug_event(struct drm_device *dev);
 
 extern void drm_kms_helper_poll_disable(struct drm_device *dev);