drm/nouveau/bl: Do not register interface if Apple GMUX detected
authorPierre Moreau <pierre.morrow@free.fr>
Wed, 7 Dec 2016 23:57:09 +0000 (00:57 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 13 Dec 2016 01:40:17 +0000 (11:40 +1000)
The Apple GMUX is the one managing the backlight, so there is no need for
Nouveau to register its own backlight interface.

v2: Do not split information message on two lines as it prevents from grepping
    it, as pointed out by Lukas Wunner

v3: Add a missing end-of-line character to the printed message

Signed-off-by: Pierre Moreau <pierre.morrow@free.fr>
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_backlight.c

index a34cd35d496580c13beb1076b3898bb08a218e9c..8b1ca4add2ed24c17695ebb721be5b773afea863 100644 (file)
@@ -30,6 +30,7 @@
  * Register locations derived from NVClock by Roderick Colenbrander
  */
 
+#include <linux/apple-gmux.h>
 #include <linux/backlight.h>
 #include <linux/idr.h>
 
@@ -267,6 +268,11 @@ nouveau_backlight_init(struct drm_device *dev)
        struct nvif_device *device = &drm->device;
        struct drm_connector *connector;
 
+       if (apple_gmux_present()) {
+               NV_INFO(drm, "Apple GMUX detected: not registering Nouveau backlight interface\n");
+               return 0;
+       }
+
        INIT_LIST_HEAD(&drm->bl_connectors);
 
        list_for_each_entry(connector, &dev->mode_config.connector_list, head) {