From patchwork Mon May 30 08:38:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 9140461 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id E481C60759 for ; Mon, 30 May 2016 08:39:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DAEB02821C for ; Mon, 30 May 2016 08:39:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CDACF27D17; Mon, 30 May 2016 08:39:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 18C3927D17 for ; Mon, 30 May 2016 08:39:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 12D606E6EA; Mon, 30 May 2016 08:39:07 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id D3DD86E6D2 for ; Mon, 30 May 2016 08:39:01 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id e3so20243041wme.2 for ; Mon, 30 May 2016 01:39:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=2Sz463wHWrV3GzE/zxzsE+gOqmCb4YbM9GNUQ+GDI68=; b=wlV20OALkLOnTTHE9zAqUxCrOnQ7MRknaL6fZHqKOPCgAUzb8LL8SDeJ33Qzd+htPk hKzCUQG48B6vOhestQeYpwd93BdEffHQAknHjcctQ1XpIrzWxaKH15Ytc/o7ualhoVqe TmLwmX5CQZtNeygM9d0s6UoDG/H3OVF+SNVwwT9uvVnp3H1GIVfCrwDzgqkNOPVK8xNA Gg5JN/v3dXJqv2bX0lAEm4AVeWuYOB4e/D0kdyJtluHetThbHkk7zMS16X4zYAM+1hoz hEFUAgtMVQfWUJS1K9fgjxHnJ/WxfLIKbU3G8lDX30QL+Qd5HdHW79eRtmI6WZiPug7M 9Fhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=2Sz463wHWrV3GzE/zxzsE+gOqmCb4YbM9GNUQ+GDI68=; b=IBNY74IWVGN+APk/nz4yPugwRqAYsSqV6quAQMCLpKJB7aJOwCNvjxyGi9IGZtjlX9 B3ftfj7widz61KXqGCPZvJ8+Ya/y+/vBfL141IYPAE3tA7jD/kXpV7dVpQuVgZXr5D51 wkw+OBqKs+QzIsNvdfaTpWfJGKes+iSx6+/+VdyMsuIBt9oQVWjKhA2D8YbkDEZofPOB Kneizenr0Uae9ZK2Fg/qicDtERba669MBVpcfHcbV/JC014KBHrwi5zWJxcRokziYaPY c5+mOAeirWKcNXkE3ikKiFO98Mz23+e9bye0rXd13hqRcWnNNQs9z0grQfhGO2QL9Cid CUBw== X-Gm-Message-State: ALyK8tJmmmARRxhBMhlWJ33gPlHQHf1BFb0JjXsgU3Ho7pXGWLjJRcWkLGD2wJixYqS5yg== X-Received: by 10.194.231.169 with SMTP id th9mr28903819wjc.32.1464597539902; Mon, 30 May 2016 01:38:59 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id l9sm6945376wjm.0.2016.05.30.01.38.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 May 2016 01:38:58 -0700 (PDT) From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Mon, 30 May 2016 09:38:28 +0100 Message-Id: <1464597519-16659-11-git-send-email-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1464597519-16659-1-git-send-email-chris@chris-wilson.co.uk> References: <1464597519-16659-1-git-send-email-chris@chris-wilson.co.uk> Subject: [Intel-gfx] [PATCH v2 10/21] drm/i915: Move backlight unregistration to connector unregistration X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP Currently the backlight is being unregistered in the unload phase (after the display and its objects are unregistered). Move the backlight unregistration into the analogous phase by performing it from the connector unregistration, just prior to its deletion. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_display.c | 5 +++-- drivers/gpu/drm/i915/intel_drv.h | 9 ++++++++- drivers/gpu/drm/i915/intel_panel.c | 13 +------------ 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 110154fec80f..dfa73c815dfa 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -16200,6 +16200,9 @@ void intel_modeset_gem_init(struct drm_device *dev) void intel_connector_unregister(struct drm_connector *connector) { + struct intel_connector *intel_connector = to_intel_connector(connector); + + intel_backlight_device_unregister(intel_connector); intel_panel_destroy_backlight(connector); } @@ -16209,8 +16212,6 @@ void intel_modeset_cleanup(struct drm_device *dev) intel_disable_gt_powersave(dev_priv); - intel_backlight_unregister(dev); - /* * Interrupts and polling as the first thing to avoid creating havoc. * Too much stuff here (turning of connectors, ...) would diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index a054676ff420..86ac7eca0f5a 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -1492,7 +1492,14 @@ extern struct drm_display_mode *intel_find_panel_downclock( struct drm_display_mode *fixed_mode, struct drm_connector *connector); void intel_backlight_register(struct drm_device *dev); -void intel_backlight_unregister(struct drm_device *dev); + +#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) +void intel_backlight_device_unregister(struct intel_connector *connector); +#else /* CONFIG_BACKLIGHT_CLASS_DEVICE */ +static inline void intel_backlight_device_unregister(struct intel_connector *connector) +{ +} +#endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */ /* intel_psr.c */ diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index c64aae6b673a..d541e4300fee 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@ -1216,7 +1216,7 @@ static int intel_backlight_device_register(struct intel_connector *connector) return 0; } -static void intel_backlight_device_unregister(struct intel_connector *connector) +void intel_backlight_device_unregister(struct intel_connector *connector) { struct intel_panel *panel = &connector->panel; @@ -1230,9 +1230,6 @@ static int intel_backlight_device_register(struct intel_connector *connector) { return 0; } -static void intel_backlight_device_unregister(struct intel_connector *connector) -{ -} #endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */ /* @@ -1824,11 +1821,3 @@ void intel_backlight_register(struct drm_device *dev) for_each_intel_connector(dev, connector) intel_backlight_device_register(connector); } - -void intel_backlight_unregister(struct drm_device *dev) -{ - struct intel_connector *connector; - - for_each_intel_connector(dev, connector) - intel_backlight_device_unregister(connector); -}