aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-07-25 04:01:21 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-08-08 08:48:48 -0400
commit7d902c05b480cc44033dcb56e12e51b082656b42 (patch)
tree768f1609a4001855881d5f53626d16d1242ff765 /drivers/gpu
parent482b0e3c2fd73b5c27a4459638b682147ce8119e (diff)
drm: Nuke drm_atomic_helper_connector_dpms
It's dead code, the core handles all this directly now. The only special case is nouveau and tda988x which used one function for both legacy modeset code and -nv50 atomic world instead of 2 vtables. But amounts to exactly the same. v2: Rebase over the panel/brideg refactorings in stm/ltdc. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Peter Senna Tschudin <peter.senna@collabora.com> Cc: Martin Donnelly <martin.donnelly@ge.com> Cc: Martyn Welch <martyn.welch@collabora.co.uk> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Stefan Agner <stefan@agner.ch> Cc: Alison Wang <alison.wang@freescale.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: CK Hu <ck.hu@mediatek.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Carlo Caione <carlo@caione.org> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Marek Vasut <marex@denx.de> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Eric Anholt <eric@anholt.net> Cc: Mark Yao <mark.yao@rock-chips.com> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Yannick Fertre <yannick.fertre@st.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Jonathan Hunter <jonathanh@nvidia.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Shawn Guo <shawnguo@kernel.org> Cc: John Stultz <john.stultz@linaro.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Cc: Jeffy Chen <jeffy.chen@rock-chips.com> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Yakir Yang <kuankuan.y@gmail.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Jose Abreu <Jose.Abreu@synopsys.com> Cc: Romain Perier <romain.perier@collabora.com> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Hai Li <hali@codeaurora.org> Cc: "Noralf Trønnes" <noralf@tronnes.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: linux-mediatek@lists.infradead.org Cc: linux-amlogic@lists.infradead.org Cc: nouveau@lists.freedesktop.org Cc: linux-renesas-soc@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Cc: linux-tegra@vger.kernel.org Cc: virtualization@lists.linux-foundation.org Cc: zain wang <wzz@rock-chips.com> Cc: Baoyou Xie <baoyou.xie@linaro.org> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170725080122.20548-8-daniel.vetter@ffwll.ch Acked-by: Neil Armstrong <narmstrong@baylibre.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Archit Taneja <architt@codeaurora.org> Tested-by: Philippe Cornu <philippe.cornu@st.com> (on stm) Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Shawn Guo <shawnguo@kernel.org> Acked-by: Shawn Guo <shawnguo@kernel.org> Acked-by: Noralf Trønnes <noralf@tronnes.org> Acked-by: Vincent Abriou <vincent.abriou@st.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/bridge/adv7511/adv7511_drv.c1
-rw-r--r--drivers/gpu/drm/bridge/analogix-anx78xx.c1
-rw-r--r--drivers/gpu/drm/bridge/analogix/analogix_dp_core.c1
-rw-r--r--drivers/gpu/drm/bridge/dumb-vga-dac.c1
-rw-r--r--drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c1
-rw-r--r--drivers/gpu/drm/bridge/nxp-ptn3460.c1
-rw-r--r--drivers/gpu/drm/bridge/panel.c1
-rw-r--r--drivers/gpu/drm/bridge/parade-ps8622.c1
-rw-r--r--drivers/gpu/drm/bridge/sii902x.c1
-rw-r--r--drivers/gpu/drm/bridge/synopsys/dw-hdmi.c1
-rw-r--r--drivers/gpu/drm/bridge/tc358767.c1
-rw-r--r--drivers/gpu/drm/bridge/ti-tfp410.c1
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c79
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_dpi.c1
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_dsi.c1
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_vidi.c1
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c1
-rw-r--r--drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c1
-rw-r--r--drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c1
-rw-r--r--drivers/gpu/drm/i2c/tda998x_drv.c10
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dsi.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dvo.c1
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c1
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c1
-rw-r--r--drivers/gpu/drm/i915/intel_sdvo.c1
-rw-r--r--drivers/gpu/drm/i915/intel_tv.c1
-rw-r--r--drivers/gpu/drm/imx/imx-ldb.c1
-rw-r--r--drivers/gpu/drm/imx/imx-tve.c1
-rw-r--r--drivers/gpu/drm/imx/parallel-display.c1
-rw-r--r--drivers/gpu/drm/mediatek/mtk_dsi.c1
-rw-r--r--drivers/gpu/drm/mediatek/mtk_hdmi.c1
-rw-r--r--drivers/gpu/drm/meson/meson_venc_cvbs.c1
-rw-r--r--drivers/gpu/drm/msm/dsi/dsi_manager.c1
-rw-r--r--drivers/gpu/drm/msm/edp/edp_connector.c1
-rw-r--r--drivers/gpu/drm/msm/hdmi/hdmi_connector.c1
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c1
-rw-r--r--drivers/gpu/drm/mxsfb/mxsfb_out.c1
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_connector.c12
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c1
-rw-r--r--drivers/gpu/drm/omapdrm/omap_connector.c1
-rw-r--r--drivers/gpu/drm/pl111/pl111_connector.c1
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c1
-rw-r--r--drivers/gpu/drm/rockchip/cdn-dp-core.c1
-rw-r--r--drivers/gpu/drm/rockchip/dw-mipi-dsi.c1
-rw-r--r--drivers/gpu/drm/rockchip/inno_hdmi.c1
-rw-r--r--drivers/gpu/drm/sti/sti_dvo.c1
-rw-r--r--drivers/gpu/drm/sti/sti_hda.c1
-rw-r--r--drivers/gpu/drm/sti/sti_hdmi.c1
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c1
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_rgb.c1
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_tv.c1
-rw-r--r--drivers/gpu/drm/tegra/dsi.c1
-rw-r--r--drivers/gpu/drm/tegra/hdmi.c1
-rw-r--r--drivers/gpu/drm/tegra/rgb.c1
-rw-r--r--drivers/gpu/drm/tegra/sor.c1
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_panel.c1
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_tfp410.c1
-rw-r--r--drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c1
-rw-r--r--drivers/gpu/drm/vc4/vc4_hdmi.c1
-rw-r--r--drivers/gpu/drm/vc4/vc4_vec.c1
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_display.c1
-rw-r--r--drivers/gpu/drm/zte/zx_hdmi.c1
-rw-r--r--drivers/gpu/drm/zte/zx_tvenc.c1
-rw-r--r--drivers/gpu/drm/zte/zx_vga.c1
67 files changed, 3 insertions, 162 deletions
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index ff9792d350c8..682c090fa3ed 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -786,7 +786,6 @@ adv7511_connector_detect(struct drm_connector *connector, bool force)
786} 786}
787 787
788static struct drm_connector_funcs adv7511_connector_funcs = { 788static struct drm_connector_funcs adv7511_connector_funcs = {
789 .dpms = drm_atomic_helper_connector_dpms,
790 .fill_modes = drm_helper_probe_single_connector_modes, 789 .fill_modes = drm_helper_probe_single_connector_modes,
791 .detect = adv7511_connector_detect, 790 .detect = adv7511_connector_detect,
792 .destroy = drm_connector_cleanup, 791 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c
index dc045e0c32fc..9385eb0b1ee4 100644
--- a/drivers/gpu/drm/bridge/analogix-anx78xx.c
+++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c
@@ -1002,7 +1002,6 @@ static enum drm_connector_status anx78xx_detect(struct drm_connector *connector,
1002} 1002}
1003 1003
1004static const struct drm_connector_funcs anx78xx_connector_funcs = { 1004static const struct drm_connector_funcs anx78xx_connector_funcs = {
1005 .dpms = drm_atomic_helper_connector_dpms,
1006 .fill_modes = drm_helper_probe_single_connector_modes, 1005 .fill_modes = drm_helper_probe_single_connector_modes,
1007 .detect = anx78xx_detect, 1006 .detect = anx78xx_detect,
1008 .destroy = drm_connector_cleanup, 1007 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 4c758ed51939..5dd3f1cd074a 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1005,7 +1005,6 @@ analogix_dp_detect(struct drm_connector *connector, bool force)
1005} 1005}
1006 1006
1007static const struct drm_connector_funcs analogix_dp_connector_funcs = { 1007static const struct drm_connector_funcs analogix_dp_connector_funcs = {
1008 .dpms = drm_atomic_helper_connector_dpms,
1009 .fill_modes = drm_helper_probe_single_connector_modes, 1008 .fill_modes = drm_helper_probe_single_connector_modes,
1010 .detect = analogix_dp_detect, 1009 .detect = analogix_dp_detect,
1011 .destroy = drm_connector_cleanup, 1010 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
index 8a52539e618e..de5e7dee7ad6 100644
--- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
+++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
@@ -92,7 +92,6 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force)
92} 92}
93 93
94static const struct drm_connector_funcs dumb_vga_con_funcs = { 94static const struct drm_connector_funcs dumb_vga_con_funcs = {
95 .dpms = drm_atomic_helper_connector_dpms,
96 .detect = dumb_vga_connector_detect, 95 .detect = dumb_vga_connector_detect,
97 .fill_modes = drm_helper_probe_single_connector_modes, 96 .fill_modes = drm_helper_probe_single_connector_modes,
98 .destroy = drm_connector_cleanup, 97 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
index 11f11086a68f..7ccadba7c98c 100644
--- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
+++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
@@ -193,7 +193,6 @@ static enum drm_connector_status ge_b850v3_lvds_detect(
193} 193}
194 194
195static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = { 195static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = {
196 .dpms = drm_atomic_helper_connector_dpms,
197 .fill_modes = drm_helper_probe_single_connector_modes, 196 .fill_modes = drm_helper_probe_single_connector_modes,
198 .detect = ge_b850v3_lvds_detect, 197 .detect = ge_b850v3_lvds_detect,
199 .destroy = drm_connector_cleanup, 198 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c
index f0b5d0fc8594..d64a3283822a 100644
--- a/drivers/gpu/drm/bridge/nxp-ptn3460.c
+++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c
@@ -238,7 +238,6 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs =
238}; 238};
239 239
240static const struct drm_connector_funcs ptn3460_connector_funcs = { 240static const struct drm_connector_funcs ptn3460_connector_funcs = {
241 .dpms = drm_atomic_helper_connector_dpms,
242 .fill_modes = drm_helper_probe_single_connector_modes, 241 .fill_modes = drm_helper_probe_single_connector_modes,
243 .destroy = drm_connector_cleanup, 242 .destroy = drm_connector_cleanup,
244 .reset = drm_atomic_helper_connector_reset, 243 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c
index 292ee92a9c97..e0cca19b4044 100644
--- a/drivers/gpu/drm/bridge/panel.c
+++ b/drivers/gpu/drm/bridge/panel.c
@@ -50,7 +50,6 @@ panel_bridge_connector_helper_funcs = {
50}; 50};
51 51
52static const struct drm_connector_funcs panel_bridge_connector_funcs = { 52static const struct drm_connector_funcs panel_bridge_connector_funcs = {
53 .dpms = drm_atomic_helper_connector_dpms,
54 .reset = drm_atomic_helper_connector_reset, 53 .reset = drm_atomic_helper_connector_reset,
55 .fill_modes = drm_helper_probe_single_connector_modes, 54 .fill_modes = drm_helper_probe_single_connector_modes,
56 .destroy = drm_connector_cleanup, 55 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c
index 4f7725d4a309..81198f5e9afa 100644
--- a/drivers/gpu/drm/bridge/parade-ps8622.c
+++ b/drivers/gpu/drm/bridge/parade-ps8622.c
@@ -476,7 +476,6 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = {
476}; 476};
477 477
478static const struct drm_connector_funcs ps8622_connector_funcs = { 478static const struct drm_connector_funcs ps8622_connector_funcs = {
479 .dpms = drm_atomic_helper_connector_dpms,
480 .fill_modes = drm_helper_probe_single_connector_modes, 479 .fill_modes = drm_helper_probe_single_connector_modes,
481 .destroy = drm_connector_cleanup, 480 .destroy = drm_connector_cleanup,
482 .reset = drm_atomic_helper_connector_reset, 481 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
index 9efb7b8fad57..b1ab4ab09532 100644
--- a/drivers/gpu/drm/bridge/sii902x.c
+++ b/drivers/gpu/drm/bridge/sii902x.c
@@ -124,7 +124,6 @@ sii902x_connector_detect(struct drm_connector *connector, bool force)
124} 124}
125 125
126static const struct drm_connector_funcs sii902x_connector_funcs = { 126static const struct drm_connector_funcs sii902x_connector_funcs = {
127 .dpms = drm_atomic_helper_connector_dpms,
128 .detect = sii902x_connector_detect, 127 .detect = sii902x_connector_detect,
129 .fill_modes = drm_helper_probe_single_connector_modes, 128 .fill_modes = drm_helper_probe_single_connector_modes,
130 .destroy = drm_connector_cleanup, 129 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 9bcde8f135c4..bf14214fa464 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1933,7 +1933,6 @@ static void dw_hdmi_connector_force(struct drm_connector *connector)
1933} 1933}
1934 1934
1935static const struct drm_connector_funcs dw_hdmi_connector_funcs = { 1935static const struct drm_connector_funcs dw_hdmi_connector_funcs = {
1936 .dpms = drm_atomic_helper_connector_dpms,
1937 .fill_modes = drm_helper_probe_single_connector_modes, 1936 .fill_modes = drm_helper_probe_single_connector_modes,
1938 .detect = dw_hdmi_connector_detect, 1937 .detect = dw_hdmi_connector_detect,
1939 .destroy = drm_connector_cleanup, 1938 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index 12a35f9c3adc..503252d6a74d 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -1160,7 +1160,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = {
1160}; 1160};
1161 1161
1162static const struct drm_connector_funcs tc_connector_funcs = { 1162static const struct drm_connector_funcs tc_connector_funcs = {
1163 .dpms = drm_atomic_helper_connector_dpms,
1164 .fill_modes = drm_helper_probe_single_connector_modes, 1163 .fill_modes = drm_helper_probe_single_connector_modes,
1165 .destroy = drm_connector_cleanup, 1164 .destroy = drm_connector_cleanup,
1166 .reset = drm_atomic_helper_connector_reset, 1165 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
index 7ea2a15e8807..acb857030951 100644
--- a/drivers/gpu/drm/bridge/ti-tfp410.c
+++ b/drivers/gpu/drm/bridge/ti-tfp410.c
@@ -102,7 +102,6 @@ tfp410_connector_detect(struct drm_connector *connector, bool force)
102} 102}
103 103
104static const struct drm_connector_funcs tfp410_con_funcs = { 104static const struct drm_connector_funcs tfp410_con_funcs = {
105 .dpms = drm_atomic_helper_connector_dpms,
106 .detect = tfp410_connector_detect, 105 .detect = tfp410_connector_detect,
107 .fill_modes = drm_helper_probe_single_connector_modes, 106 .fill_modes = drm_helper_probe_single_connector_modes,
108 .destroy = drm_connector_cleanup, 107 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 02bf658b7c42..1bc32cd74d78 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -3088,85 +3088,6 @@ fail:
3088EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); 3088EXPORT_SYMBOL(drm_atomic_helper_page_flip_target);
3089 3089
3090/** 3090/**
3091 * drm_atomic_helper_connector_dpms() - connector dpms helper implementation
3092 * @connector: affected connector
3093 * @mode: DPMS mode
3094 *
3095 * This is the main helper function provided by the atomic helper framework for
3096 * implementing the legacy DPMS connector interface. It computes the new desired
3097 * &drm_crtc_state.active state for the corresponding CRTC (if the connector is
3098 * enabled) and updates it.
3099 *
3100 * Returns:
3101 * Returns 0 on success, negative errno numbers on failure.
3102 */
3103int drm_atomic_helper_connector_dpms(struct drm_connector *connector,
3104 int mode)
3105{
3106 struct drm_mode_config *config = &connector->dev->mode_config;
3107 struct drm_atomic_state *state;
3108 struct drm_crtc_state *crtc_state;
3109 struct drm_crtc *crtc;
3110 struct drm_connector *tmp_connector;
3111 struct drm_connector_list_iter conn_iter;
3112 int ret;
3113 bool active = false;
3114 int old_mode = connector->dpms;
3115
3116 if (mode != DRM_MODE_DPMS_ON)
3117 mode = DRM_MODE_DPMS_OFF;
3118
3119 connector->dpms = mode;
3120 crtc = connector->state->crtc;
3121
3122 if (!crtc)
3123 return 0;
3124
3125 state = drm_atomic_state_alloc(connector->dev);
3126 if (!state)
3127 return -ENOMEM;
3128
3129 state->acquire_ctx = crtc->dev->mode_config.acquire_ctx;
3130retry:
3131 crtc_state = drm_atomic_get_crtc_state(state, crtc);
3132 if (IS_ERR(crtc_state)) {
3133 ret = PTR_ERR(crtc_state);
3134 goto fail;
3135 }
3136
3137 WARN_ON(!drm_modeset_is_locked(&config->connection_mutex));
3138
3139 drm_connector_list_iter_begin(connector->dev, &conn_iter);
3140 drm_for_each_connector_iter(tmp_connector, &conn_iter) {
3141 if (tmp_connector->state->crtc != crtc)
3142 continue;
3143
3144 if (tmp_connector->dpms == DRM_MODE_DPMS_ON) {
3145 active = true;
3146 break;
3147 }
3148 }
3149 drm_connector_list_iter_end(&conn_iter);
3150 crtc_state->active = active;
3151
3152 ret = drm_atomic_commit(state);
3153fail:
3154 if (ret == -EDEADLK)
3155 goto backoff;
3156 if (ret != 0)
3157 connector->dpms = old_mode;
3158 drm_atomic_state_put(state);
3159 return ret;
3160
3161backoff:
3162 drm_atomic_state_clear(state);
3163 drm_atomic_legacy_backoff(state);
3164
3165 goto retry;
3166}
3167EXPORT_SYMBOL(drm_atomic_helper_connector_dpms);
3168
3169/**
3170 * drm_atomic_helper_best_encoder - Helper for 3091 * drm_atomic_helper_best_encoder - Helper for
3171 * &drm_connector_helper_funcs.best_encoder callback 3092 * &drm_connector_helper_funcs.best_encoder callback
3172 * @connector: Connector control structure 3093 * @connector: Connector control structure
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
index 63abcd280fa0..76d80e5de521 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
@@ -59,7 +59,6 @@ static void exynos_dpi_connector_destroy(struct drm_connector *connector)
59} 59}
60 60
61static const struct drm_connector_funcs exynos_dpi_connector_funcs = { 61static const struct drm_connector_funcs exynos_dpi_connector_funcs = {
62 .dpms = drm_atomic_helper_connector_dpms,
63 .detect = exynos_dpi_detect, 62 .detect = exynos_dpi_detect,
64 .fill_modes = drm_helper_probe_single_connector_modes, 63 .fill_modes = drm_helper_probe_single_connector_modes,
65 .destroy = exynos_dpi_connector_destroy, 64 .destroy = exynos_dpi_connector_destroy,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index f580be170089..4ea7cc7cb3de 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -1537,7 +1537,6 @@ static void exynos_dsi_connector_destroy(struct drm_connector *connector)
1537} 1537}
1538 1538
1539static const struct drm_connector_funcs exynos_dsi_connector_funcs = { 1539static const struct drm_connector_funcs exynos_dsi_connector_funcs = {
1540 .dpms = drm_atomic_helper_connector_dpms,
1541 .detect = exynos_dsi_detect, 1540 .detect = exynos_dsi_detect,
1542 .fill_modes = drm_helper_probe_single_connector_modes, 1541 .fill_modes = drm_helper_probe_single_connector_modes,
1543 .destroy = exynos_dsi_connector_destroy, 1542 .destroy = exynos_dsi_connector_destroy,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index cb8a72842537..9186a654c3b5 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -289,7 +289,6 @@ static void vidi_connector_destroy(struct drm_connector *connector)
289} 289}
290 290
291static const struct drm_connector_funcs vidi_connector_funcs = { 291static const struct drm_connector_funcs vidi_connector_funcs = {
292 .dpms = drm_atomic_helper_connector_dpms,
293 .fill_modes = drm_helper_probe_single_connector_modes, 292 .fill_modes = drm_helper_probe_single_connector_modes,
294 .detect = vidi_detect, 293 .detect = vidi_detect,
295 .destroy = vidi_connector_destroy, 294 .destroy = vidi_connector_destroy,
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index c953927fb0cb..0e2a472c3021 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -835,7 +835,6 @@ static void hdmi_connector_destroy(struct drm_connector *connector)
835} 835}
836 836
837static const struct drm_connector_funcs hdmi_connector_funcs = { 837static const struct drm_connector_funcs hdmi_connector_funcs = {
838 .dpms = drm_atomic_helper_connector_dpms,
839 .fill_modes = drm_helper_probe_single_connector_modes, 838 .fill_modes = drm_helper_probe_single_connector_modes,
840 .detect = hdmi_detect, 839 .detect = hdmi_detect,
841 .destroy = hdmi_connector_destroy, 840 .destroy = hdmi_connector_destroy,
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
index dcbf3c06e1d8..edd7d8127d19 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
@@ -63,7 +63,6 @@ static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = {
63 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 63 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
64 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 64 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
65 .destroy = fsl_dcu_drm_connector_destroy, 65 .destroy = fsl_dcu_drm_connector_destroy,
66 .dpms = drm_atomic_helper_connector_dpms,
67 .fill_modes = drm_helper_probe_single_connector_modes, 66 .fill_modes = drm_helper_probe_single_connector_modes,
68 .reset = drm_atomic_helper_connector_reset, 67 .reset = drm_atomic_helper_connector_reset,
69}; 68};
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
index 12a18557c5fd..ec4dd9df9150 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
@@ -47,7 +47,6 @@ static const struct drm_connector_helper_funcs
47}; 47};
48 48
49static const struct drm_connector_funcs hibmc_connector_funcs = { 49static const struct drm_connector_funcs hibmc_connector_funcs = {
50 .dpms = drm_atomic_helper_connector_dpms,
51 .fill_modes = drm_helper_probe_single_connector_modes, 50 .fill_modes = drm_helper_probe_single_connector_modes,
52 .destroy = drm_connector_cleanup, 51 .destroy = drm_connector_cleanup,
53 .reset = drm_atomic_helper_connector_reset, 52 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index d1e7ac540199..54e3255dde13 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -969,14 +969,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv,
969 969
970/* DRM connector functions */ 970/* DRM connector functions */
971 971
972static int tda998x_connector_dpms(struct drm_connector *connector, int mode)
973{
974 if (drm_core_check_feature(connector->dev, DRIVER_ATOMIC))
975 return drm_atomic_helper_connector_dpms(connector, mode);
976 else
977 return drm_helper_connector_dpms(connector, mode);
978}
979
980static int tda998x_connector_fill_modes(struct drm_connector *connector, 972static int tda998x_connector_fill_modes(struct drm_connector *connector,
981 uint32_t maxX, uint32_t maxY) 973 uint32_t maxX, uint32_t maxY)
982{ 974{
@@ -1014,7 +1006,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector)
1014} 1006}
1015 1007
1016static const struct drm_connector_funcs tda998x_connector_funcs = { 1008static const struct drm_connector_funcs tda998x_connector_funcs = {
1017 .dpms = tda998x_connector_dpms, 1009 .dpms = drm_helper_connector_dpms,
1018 .reset = drm_atomic_helper_connector_reset, 1010 .reset = drm_atomic_helper_connector_reset,
1019 .fill_modes = tda998x_connector_fill_modes, 1011 .fill_modes = tda998x_connector_fill_modes,
1020 .detect = tda998x_connector_detect, 1012 .detect = tda998x_connector_detect,
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 84c3a6dc7c2a..70e0ff41070c 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -802,7 +802,6 @@ void intel_crt_reset(struct drm_encoder *encoder)
802 */ 802 */
803 803
804static const struct drm_connector_funcs intel_crt_connector_funcs = { 804static const struct drm_connector_funcs intel_crt_connector_funcs = {
805 .dpms = drm_atomic_helper_connector_dpms,
806 .fill_modes = drm_helper_probe_single_connector_modes, 805 .fill_modes = drm_helper_probe_single_connector_modes,
807 .late_register = intel_connector_register, 806 .late_register = intel_connector_register,
808 .early_unregister = intel_connector_unregister, 807 .early_unregister = intel_connector_unregister,
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 19b082ea57ef..76c8a0bd17f9 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5007,7 +5007,6 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder)
5007} 5007}
5008 5008
5009static const struct drm_connector_funcs intel_dp_connector_funcs = { 5009static const struct drm_connector_funcs intel_dp_connector_funcs = {
5010 .dpms = drm_atomic_helper_connector_dpms,
5011 .force = intel_dp_force, 5010 .force = intel_dp_force,
5012 .fill_modes = drm_helper_probe_single_connector_modes, 5011 .fill_modes = drm_helper_probe_single_connector_modes,
5013 .atomic_get_property = intel_digital_connector_atomic_get_property, 5012 .atomic_get_property = intel_digital_connector_atomic_get_property,
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 59a6dfd48ed4..58568559711a 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -346,7 +346,6 @@ intel_dp_mst_connector_destroy(struct drm_connector *connector)
346} 346}
347 347
348static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { 348static const struct drm_connector_funcs intel_dp_mst_connector_funcs = {
349 .dpms = drm_atomic_helper_connector_dpms,
350 .detect = intel_dp_mst_detect, 349 .detect = intel_dp_mst_detect,
351 .fill_modes = drm_helper_probe_single_connector_modes, 350 .fill_modes = drm_helper_probe_single_connector_modes,
352 .late_register = intel_connector_register, 351 .late_register = intel_connector_register,
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 375e7cfcf207..b0b3adf016f8 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -1653,7 +1653,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs
1653}; 1653};
1654 1654
1655static const struct drm_connector_funcs intel_dsi_connector_funcs = { 1655static const struct drm_connector_funcs intel_dsi_connector_funcs = {
1656 .dpms = drm_atomic_helper_connector_dpms,
1657 .late_register = intel_connector_register, 1656 .late_register = intel_connector_register,
1658 .early_unregister = intel_connector_unregister, 1657 .early_unregister = intel_connector_unregister,
1659 .destroy = intel_dsi_connector_destroy, 1658 .destroy = intel_dsi_connector_destroy,
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
index 6b1970542911..baf369d2de30 100644
--- a/drivers/gpu/drm/i915/intel_dvo.c
+++ b/drivers/gpu/drm/i915/intel_dvo.c
@@ -344,7 +344,6 @@ static void intel_dvo_destroy(struct drm_connector *connector)
344} 344}
345 345
346static const struct drm_connector_funcs intel_dvo_connector_funcs = { 346static const struct drm_connector_funcs intel_dvo_connector_funcs = {
347 .dpms = drm_atomic_helper_connector_dpms,
348 .detect = intel_dvo_detect, 347 .detect = intel_dvo_detect,
349 .late_register = intel_connector_register, 348 .late_register = intel_connector_register,
350 .early_unregister = intel_connector_unregister, 349 .early_unregister = intel_connector_unregister,
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index ee06763d9350..eb0c559b66c1 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1706,7 +1706,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector)
1706} 1706}
1707 1707
1708static const struct drm_connector_funcs intel_hdmi_connector_funcs = { 1708static const struct drm_connector_funcs intel_hdmi_connector_funcs = {
1709 .dpms = drm_atomic_helper_connector_dpms,
1710 .detect = intel_hdmi_detect, 1709 .detect = intel_hdmi_detect,
1711 .force = intel_hdmi_force, 1710 .force = intel_hdmi_force,
1712 .fill_modes = drm_helper_probe_single_connector_modes, 1711 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 6579299f5d00..61d557948e21 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -595,7 +595,6 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs
595}; 595};
596 596
597static const struct drm_connector_funcs intel_lvds_connector_funcs = { 597static const struct drm_connector_funcs intel_lvds_connector_funcs = {
598 .dpms = drm_atomic_helper_connector_dpms,
599 .detect = intel_lvds_detect, 598 .detect = intel_lvds_detect,
600 .fill_modes = drm_helper_probe_single_connector_modes, 599 .fill_modes = drm_helper_probe_single_connector_modes,
601 .atomic_get_property = intel_digital_connector_atomic_get_property, 600 .atomic_get_property = intel_digital_connector_atomic_get_property,
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index a8eee1984ddf..bea8152ae859 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -2193,7 +2193,6 @@ intel_sdvo_connector_duplicate_state(struct drm_connector *connector)
2193} 2193}
2194 2194
2195static const struct drm_connector_funcs intel_sdvo_connector_funcs = { 2195static const struct drm_connector_funcs intel_sdvo_connector_funcs = {
2196 .dpms = drm_atomic_helper_connector_dpms,
2197 .detect = intel_sdvo_detect, 2196 .detect = intel_sdvo_detect,
2198 .fill_modes = drm_helper_probe_single_connector_modes, 2197 .fill_modes = drm_helper_probe_single_connector_modes,
2199 .atomic_get_property = intel_sdvo_connector_atomic_get_property, 2198 .atomic_get_property = intel_sdvo_connector_atomic_get_property,
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index e4ef2919b682..906893c006d8 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -1407,7 +1407,6 @@ intel_tv_destroy(struct drm_connector *connector)
1407} 1407}
1408 1408
1409static const struct drm_connector_funcs intel_tv_connector_funcs = { 1409static const struct drm_connector_funcs intel_tv_connector_funcs = {
1410 .dpms = drm_atomic_helper_connector_dpms,
1411 .late_register = intel_connector_register, 1410 .late_register = intel_connector_register,
1412 .early_unregister = intel_connector_unregister, 1411 .early_unregister = intel_connector_unregister,
1413 .destroy = intel_tv_destroy, 1412 .destroy = intel_tv_destroy,
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index 8b05ecb8fdef..56dd7a9a8e25 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -389,7 +389,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder,
389 389
390 390
391static const struct drm_connector_funcs imx_ldb_connector_funcs = { 391static const struct drm_connector_funcs imx_ldb_connector_funcs = {
392 .dpms = drm_atomic_helper_connector_dpms,
393 .fill_modes = drm_helper_probe_single_connector_modes, 392 .fill_modes = drm_helper_probe_single_connector_modes,
394 .destroy = imx_drm_connector_destroy, 393 .destroy = imx_drm_connector_destroy,
395 .reset = drm_atomic_helper_connector_reset, 394 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
index 4826bb781723..bc27c2699464 100644
--- a/drivers/gpu/drm/imx/imx-tve.c
+++ b/drivers/gpu/drm/imx/imx-tve.c
@@ -341,7 +341,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder,
341} 341}
342 342
343static const struct drm_connector_funcs imx_tve_connector_funcs = { 343static const struct drm_connector_funcs imx_tve_connector_funcs = {
344 .dpms = drm_atomic_helper_connector_dpms,
345 .fill_modes = drm_helper_probe_single_connector_modes, 344 .fill_modes = drm_helper_probe_single_connector_modes,
346 .destroy = imx_drm_connector_destroy, 345 .destroy = imx_drm_connector_destroy,
347 .reset = drm_atomic_helper_connector_reset, 346 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c
index 8aca20209cb8..8def97d75030 100644
--- a/drivers/gpu/drm/imx/parallel-display.c
+++ b/drivers/gpu/drm/imx/parallel-display.c
@@ -135,7 +135,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder,
135} 135}
136 136
137static const struct drm_connector_funcs imx_pd_connector_funcs = { 137static const struct drm_connector_funcs imx_pd_connector_funcs = {
138 .dpms = drm_atomic_helper_connector_dpms,
139 .fill_modes = drm_helper_probe_single_connector_modes, 138 .fill_modes = drm_helper_probe_single_connector_modes,
140 .destroy = imx_drm_connector_destroy, 139 .destroy = imx_drm_connector_destroy,
141 .reset = drm_atomic_helper_connector_reset, 140 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index a31bd2a82de5..7e5e24c2152a 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -766,7 +766,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = {
766}; 766};
767 767
768static const struct drm_connector_funcs mtk_dsi_connector_funcs = { 768static const struct drm_connector_funcs mtk_dsi_connector_funcs = {
769 .dpms = drm_atomic_helper_connector_dpms,
770 .fill_modes = drm_helper_probe_single_connector_modes, 769 .fill_modes = drm_helper_probe_single_connector_modes,
771 .destroy = drm_connector_cleanup, 770 .destroy = drm_connector_cleanup,
772 .reset = drm_atomic_helper_connector_reset, 771 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index f2437cd1e0f9..690c67507cbc 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -1261,7 +1261,6 @@ static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn)
1261} 1261}
1262 1262
1263static const struct drm_connector_funcs mtk_hdmi_connector_funcs = { 1263static const struct drm_connector_funcs mtk_hdmi_connector_funcs = {
1264 .dpms = drm_atomic_helper_connector_dpms,
1265 .detect = hdmi_conn_detect, 1264 .detect = hdmi_conn_detect,
1266 .fill_modes = drm_helper_probe_single_connector_modes, 1265 .fill_modes = drm_helper_probe_single_connector_modes,
1267 .destroy = hdmi_conn_destroy, 1266 .destroy = hdmi_conn_destroy,
diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c
index 00775b397dba..79d95ca8a0c0 100644
--- a/drivers/gpu/drm/meson/meson_venc_cvbs.c
+++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c
@@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector,
118} 118}
119 119
120static const struct drm_connector_funcs meson_cvbs_connector_funcs = { 120static const struct drm_connector_funcs meson_cvbs_connector_funcs = {
121 .dpms = drm_atomic_helper_connector_dpms,
122 .detect = meson_cvbs_connector_detect, 121 .detect = meson_cvbs_connector_detect,
123 .fill_modes = drm_helper_probe_single_connector_modes, 122 .fill_modes = drm_helper_probe_single_connector_modes,
124 .destroy = meson_cvbs_connector_destroy, 123 .destroy = meson_cvbs_connector_destroy,
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index a879ffa534b4..855248132b2b 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -626,7 +626,6 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge,
626} 626}
627 627
628static const struct drm_connector_funcs dsi_mgr_connector_funcs = { 628static const struct drm_connector_funcs dsi_mgr_connector_funcs = {
629 .dpms = drm_atomic_helper_connector_dpms,
630 .detect = dsi_mgr_connector_detect, 629 .detect = dsi_mgr_connector_detect,
631 .fill_modes = drm_helper_probe_single_connector_modes, 630 .fill_modes = drm_helper_probe_single_connector_modes,
632 .destroy = dsi_mgr_connector_destroy, 631 .destroy = dsi_mgr_connector_destroy,
diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c
index 5960628ceb93..6f3fc6b0f0a3 100644
--- a/drivers/gpu/drm/msm/edp/edp_connector.c
+++ b/drivers/gpu/drm/msm/edp/edp_connector.c
@@ -92,7 +92,6 @@ static int edp_connector_mode_valid(struct drm_connector *connector,
92} 92}
93 93
94static const struct drm_connector_funcs edp_connector_funcs = { 94static const struct drm_connector_funcs edp_connector_funcs = {
95 .dpms = drm_atomic_helper_connector_dpms,
96 .detect = edp_connector_detect, 95 .detect = edp_connector_detect,
97 .fill_modes = drm_helper_probe_single_connector_modes, 96 .fill_modes = drm_helper_probe_single_connector_modes,
98 .destroy = edp_connector_destroy, 97 .destroy = edp_connector_destroy,
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c
index a2515b466ce5..71536d9c7fe8 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c
@@ -407,7 +407,6 @@ static int msm_hdmi_connector_mode_valid(struct drm_connector *connector,
407} 407}
408 408
409static const struct drm_connector_funcs hdmi_connector_funcs = { 409static const struct drm_connector_funcs hdmi_connector_funcs = {
410 .dpms = drm_atomic_helper_connector_dpms,
411 .detect = hdmi_connector_detect, 410 .detect = hdmi_connector_detect,
412 .fill_modes = drm_helper_probe_single_connector_modes, 411 .fill_modes = drm_helper_probe_single_connector_modes,
413 .destroy = hdmi_connector_destroy, 412 .destroy = hdmi_connector_destroy,
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c
index 353429b05733..e3b1c86b7aae 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c
@@ -91,7 +91,6 @@ static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector,
91} 91}
92 92
93static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { 93static const struct drm_connector_funcs mdp4_lvds_connector_funcs = {
94 .dpms = drm_atomic_helper_connector_dpms,
95 .detect = mdp4_lvds_connector_detect, 94 .detect = mdp4_lvds_connector_detect,
96 .fill_modes = drm_helper_probe_single_connector_modes, 95 .fill_modes = drm_helper_probe_single_connector_modes,
97 .destroy = mdp4_lvds_connector_destroy, 96 .destroy = mdp4_lvds_connector_destroy,
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c
index f7d729aa09bd..e5edf016a439 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_out.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c
@@ -74,7 +74,6 @@ static void mxsfb_panel_connector_destroy(struct drm_connector *connector)
74} 74}
75 75
76static const struct drm_connector_funcs mxsfb_panel_connector_funcs = { 76static const struct drm_connector_funcs mxsfb_panel_connector_funcs = {
77 .dpms = drm_atomic_helper_connector_dpms,
78 .detect = mxsfb_panel_connector_detect, 77 .detect = mxsfb_panel_connector_detect,
79 .fill_modes = drm_helper_probe_single_connector_modes, 78 .fill_modes = drm_helper_probe_single_connector_modes,
80 .destroy = mxsfb_panel_connector_destroy, 79 .destroy = mxsfb_panel_connector_destroy,
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 72a6595e652b..196eb668d30d 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1072,17 +1072,9 @@ nouveau_connector_helper_funcs = {
1072 .best_encoder = nouveau_connector_best_encoder, 1072 .best_encoder = nouveau_connector_best_encoder,
1073}; 1073};
1074 1074
1075static int
1076nouveau_connector_dpms(struct drm_connector *connector, int mode)
1077{
1078 if (drm_drv_uses_atomic_modeset(connector->dev))
1079 return drm_atomic_helper_connector_dpms(connector, mode);
1080 return drm_helper_connector_dpms(connector, mode);
1081}
1082
1083static const struct drm_connector_funcs 1075static const struct drm_connector_funcs
1084nouveau_connector_funcs = { 1076nouveau_connector_funcs = {
1085 .dpms = nouveau_connector_dpms, 1077 .dpms = drm_helper_connector_dpms,
1086 .reset = nouveau_conn_reset, 1078 .reset = nouveau_conn_reset,
1087 .detect = nouveau_connector_detect, 1079 .detect = nouveau_connector_detect,
1088 .force = nouveau_connector_force, 1080 .force = nouveau_connector_force,
@@ -1097,7 +1089,7 @@ nouveau_connector_funcs = {
1097 1089
1098static const struct drm_connector_funcs 1090static const struct drm_connector_funcs
1099nouveau_connector_funcs_lvds = { 1091nouveau_connector_funcs_lvds = {
1100 .dpms = nouveau_connector_dpms, 1092 .dpms = drm_helper_connector_dpms,
1101 .reset = nouveau_conn_reset, 1093 .reset = nouveau_conn_reset,
1102 .detect = nouveau_connector_detect_lvds, 1094 .detect = nouveau_connector_detect_lvds,
1103 .force = nouveau_connector_force, 1095 .force = nouveau_connector_force,
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 183db13186d6..6dee4071bb3f 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -3105,7 +3105,6 @@ nv50_mstc_destroy(struct drm_connector *connector)
3105 3105
3106static const struct drm_connector_funcs 3106static const struct drm_connector_funcs
3107nv50_mstc = { 3107nv50_mstc = {
3108 .dpms = drm_atomic_helper_connector_dpms,
3109 .reset = nouveau_conn_reset, 3108 .reset = nouveau_conn_reset,
3110 .detect = nv50_mstc_detect, 3109 .detect = nv50_mstc_detect,
3111 .fill_modes = drm_helper_probe_single_connector_modes, 3110 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index c24b6b783e9a..d1ec76ef5cc6 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -195,7 +195,6 @@ static int omap_connector_mode_valid(struct drm_connector *connector,
195} 195}
196 196
197static const struct drm_connector_funcs omap_connector_funcs = { 197static const struct drm_connector_funcs omap_connector_funcs = {
198 .dpms = drm_atomic_helper_connector_dpms,
199 .reset = drm_atomic_helper_connector_reset, 198 .reset = drm_atomic_helper_connector_reset,
200 .detect = omap_connector_detect, 199 .detect = omap_connector_detect,
201 .fill_modes = drm_helper_probe_single_connector_modes, 200 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/pl111/pl111_connector.c b/drivers/gpu/drm/pl111/pl111_connector.c
index 3f213d7e7692..d335f9a29ce4 100644
--- a/drivers/gpu/drm/pl111/pl111_connector.c
+++ b/drivers/gpu/drm/pl111/pl111_connector.c
@@ -69,7 +69,6 @@ const struct drm_connector_funcs connector_funcs = {
69 .fill_modes = drm_helper_probe_single_connector_modes, 69 .fill_modes = drm_helper_probe_single_connector_modes,
70 .destroy = pl111_connector_destroy, 70 .destroy = pl111_connector_destroy,
71 .detect = pl111_connector_detect, 71 .detect = pl111_connector_detect,
72 .dpms = drm_atomic_helper_connector_dpms,
73 .reset = drm_atomic_helper_connector_reset, 72 .reset = drm_atomic_helper_connector_reset,
74 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 73 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
75 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 74 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
index ee91481131ad..b373ad48ef5f 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
@@ -46,7 +46,6 @@ static void rcar_du_lvds_connector_destroy(struct drm_connector *connector)
46} 46}
47 47
48static const struct drm_connector_funcs connector_funcs = { 48static const struct drm_connector_funcs connector_funcs = {
49 .dpms = drm_atomic_helper_connector_dpms,
50 .reset = drm_atomic_helper_connector_reset, 49 .reset = drm_atomic_helper_connector_reset,
51 .fill_modes = drm_helper_probe_single_connector_modes, 50 .fill_modes = drm_helper_probe_single_connector_modes,
52 .destroy = rcar_du_lvds_connector_destroy, 51 .destroy = rcar_du_lvds_connector_destroy,
diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 9b0b0588bbed..a57da051f516 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -254,7 +254,6 @@ static void cdn_dp_connector_destroy(struct drm_connector *connector)
254} 254}
255 255
256static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = { 256static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = {
257 .dpms = drm_atomic_helper_connector_dpms,
258 .detect = cdn_dp_connector_detect, 257 .detect = cdn_dp_connector_detect,
259 .destroy = cdn_dp_connector_destroy, 258 .destroy = cdn_dp_connector_destroy,
260 .fill_modes = drm_helper_probe_single_connector_modes, 259 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
index 21b9737662ae..9a20b9dc27c8 100644
--- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
@@ -1080,7 +1080,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector)
1080} 1080}
1081 1081
1082static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { 1082static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = {
1083 .dpms = drm_atomic_helper_connector_dpms,
1084 .fill_modes = drm_helper_probe_single_connector_modes, 1083 .fill_modes = drm_helper_probe_single_connector_modes,
1085 .destroy = dw_mipi_dsi_drm_connector_destroy, 1084 .destroy = dw_mipi_dsi_drm_connector_destroy,
1086 .reset = drm_atomic_helper_connector_reset, 1085 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 7149968aa25a..bd87768dd549 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -593,7 +593,6 @@ static void inno_hdmi_connector_destroy(struct drm_connector *connector)
593} 593}
594 594
595static struct drm_connector_funcs inno_hdmi_connector_funcs = { 595static struct drm_connector_funcs inno_hdmi_connector_funcs = {
596 .dpms = drm_atomic_helper_connector_dpms,
597 .fill_modes = inno_hdmi_probe_single_connector_modes, 596 .fill_modes = inno_hdmi_probe_single_connector_modes,
598 .detect = inno_hdmi_connector_detect, 597 .detect = inno_hdmi_connector_detect,
599 .destroy = inno_hdmi_connector_destroy, 598 .destroy = inno_hdmi_connector_destroy,
diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
index a51cd9f754db..852bf2293b05 100644
--- a/drivers/gpu/drm/sti/sti_dvo.c
+++ b/drivers/gpu/drm/sti/sti_dvo.c
@@ -412,7 +412,6 @@ static int sti_dvo_late_register(struct drm_connector *connector)
412} 412}
413 413
414static const struct drm_connector_funcs sti_dvo_connector_funcs = { 414static const struct drm_connector_funcs sti_dvo_connector_funcs = {
415 .dpms = drm_atomic_helper_connector_dpms,
416 .fill_modes = drm_helper_probe_single_connector_modes, 415 .fill_modes = drm_helper_probe_single_connector_modes,
417 .detect = sti_dvo_connector_detect, 416 .detect = sti_dvo_connector_detect,
418 .destroy = drm_connector_cleanup, 417 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index d6ed909d9d75..cf65e32b5090 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -647,7 +647,6 @@ static int sti_hda_late_register(struct drm_connector *connector)
647} 647}
648 648
649static const struct drm_connector_funcs sti_hda_connector_funcs = { 649static const struct drm_connector_funcs sti_hda_connector_funcs = {
650 .dpms = drm_atomic_helper_connector_dpms,
651 .fill_modes = drm_helper_probe_single_connector_modes, 650 .fill_modes = drm_helper_probe_single_connector_modes,
652 .destroy = drm_connector_cleanup, 651 .destroy = drm_connector_cleanup,
653 .reset = drm_atomic_helper_connector_reset, 652 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 21f11dfae472..30f02d2fdd03 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -1113,7 +1113,6 @@ static int sti_hdmi_late_register(struct drm_connector *connector)
1113} 1113}
1114 1114
1115static const struct drm_connector_funcs sti_hdmi_connector_funcs = { 1115static const struct drm_connector_funcs sti_hdmi_connector_funcs = {
1116 .dpms = drm_atomic_helper_connector_dpms,
1117 .fill_modes = drm_helper_probe_single_connector_modes, 1116 .fill_modes = drm_helper_probe_single_connector_modes,
1118 .detect = sti_hdmi_connector_detect, 1117 .detect = sti_hdmi_connector_detect,
1119 .destroy = drm_connector_cleanup, 1118 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
index 83b7a2a025f2..f5d0d6bd1084 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
@@ -306,7 +306,6 @@ sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force)
306} 306}
307 307
308static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = { 308static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = {
309 .dpms = drm_atomic_helper_connector_dpms,
310 .detect = sun4i_hdmi_connector_detect, 309 .detect = sun4i_hdmi_connector_detect,
311 .fill_modes = drm_helper_probe_single_connector_modes, 310 .fill_modes = drm_helper_probe_single_connector_modes,
312 .destroy = drm_connector_cleanup, 311 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
index 422b191faa77..550bb262943f 100644
--- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
+++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
@@ -120,7 +120,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector)
120} 120}
121 121
122static struct drm_connector_funcs sun4i_rgb_con_funcs = { 122static struct drm_connector_funcs sun4i_rgb_con_funcs = {
123 .dpms = drm_atomic_helper_connector_dpms,
124 .fill_modes = drm_helper_probe_single_connector_modes, 123 .fill_modes = drm_helper_probe_single_connector_modes,
125 .destroy = sun4i_rgb_connector_destroy, 124 .destroy = sun4i_rgb_connector_destroy,
126 .reset = drm_atomic_helper_connector_reset, 125 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index 338b9e5bb2a3..7b45ac9383ea 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -546,7 +546,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector)
546} 546}
547 547
548static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { 548static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = {
549 .dpms = drm_atomic_helper_connector_dpms,
550 .fill_modes = drm_helper_probe_single_connector_modes, 549 .fill_modes = drm_helper_probe_single_connector_modes,
551 .destroy = sun4i_tv_comp_connector_destroy, 550 .destroy = sun4i_tv_comp_connector_destroy,
552 .reset = drm_atomic_helper_connector_reset, 551 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c
index 3dea1216bafd..e4b5aedfdbd4 100644
--- a/drivers/gpu/drm/tegra/dsi.c
+++ b/drivers/gpu/drm/tegra/dsi.c
@@ -815,7 +815,6 @@ tegra_dsi_connector_duplicate_state(struct drm_connector *connector)
815} 815}
816 816
817static const struct drm_connector_funcs tegra_dsi_connector_funcs = { 817static const struct drm_connector_funcs tegra_dsi_connector_funcs = {
818 .dpms = drm_atomic_helper_connector_dpms,
819 .reset = tegra_dsi_connector_reset, 818 .reset = tegra_dsi_connector_reset,
820 .detect = tegra_output_connector_detect, 819 .detect = tegra_output_connector_detect,
821 .fill_modes = drm_helper_probe_single_connector_modes, 820 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c
index 718d8db406a6..a621b0da4092 100644
--- a/drivers/gpu/drm/tegra/hdmi.c
+++ b/drivers/gpu/drm/tegra/hdmi.c
@@ -902,7 +902,6 @@ tegra_hdmi_connector_detect(struct drm_connector *connector, bool force)
902} 902}
903 903
904static const struct drm_connector_funcs tegra_hdmi_connector_funcs = { 904static const struct drm_connector_funcs tegra_hdmi_connector_funcs = {
905 .dpms = drm_atomic_helper_connector_dpms,
906 .reset = drm_atomic_helper_connector_reset, 905 .reset = drm_atomic_helper_connector_reset,
907 .detect = tegra_hdmi_connector_detect, 906 .detect = tegra_hdmi_connector_detect,
908 .fill_modes = drm_helper_probe_single_connector_modes, 907 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c
index a131b44e2d6f..78ec5193741d 100644
--- a/drivers/gpu/drm/tegra/rgb.c
+++ b/drivers/gpu/drm/tegra/rgb.c
@@ -88,7 +88,6 @@ static void tegra_dc_write_regs(struct tegra_dc *dc,
88} 88}
89 89
90static const struct drm_connector_funcs tegra_rgb_connector_funcs = { 90static const struct drm_connector_funcs tegra_rgb_connector_funcs = {
91 .dpms = drm_atomic_helper_connector_dpms,
92 .reset = drm_atomic_helper_connector_reset, 91 .reset = drm_atomic_helper_connector_reset,
93 .detect = tegra_output_connector_detect, 92 .detect = tegra_output_connector_detect,
94 .fill_modes = drm_helper_probe_single_connector_modes, 93 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
index fb2709c0c461..e0642d05a8d3 100644
--- a/drivers/gpu/drm/tegra/sor.c
+++ b/drivers/gpu/drm/tegra/sor.c
@@ -1340,7 +1340,6 @@ tegra_sor_connector_duplicate_state(struct drm_connector *connector)
1340} 1340}
1341 1341
1342static const struct drm_connector_funcs tegra_sor_connector_funcs = { 1342static const struct drm_connector_funcs tegra_sor_connector_funcs = {
1343 .dpms = drm_atomic_helper_connector_dpms,
1344 .reset = tegra_sor_connector_reset, 1343 .reset = tegra_sor_connector_reset,
1345 .detect = tegra_sor_connector_detect, 1344 .detect = tegra_sor_connector_detect,
1346 .fill_modes = drm_helper_probe_single_connector_modes, 1345 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
index 28c3e2f44f64..1813a3623ce6 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
@@ -189,7 +189,6 @@ static struct drm_encoder *panel_connector_best_encoder(
189 189
190static const struct drm_connector_funcs panel_connector_funcs = { 190static const struct drm_connector_funcs panel_connector_funcs = {
191 .destroy = panel_connector_destroy, 191 .destroy = panel_connector_destroy,
192 .dpms = drm_atomic_helper_connector_dpms,
193 .fill_modes = drm_helper_probe_single_connector_modes, 192 .fill_modes = drm_helper_probe_single_connector_modes,
194 .reset = drm_atomic_helper_connector_reset, 193 .reset = drm_atomic_helper_connector_reset,
195 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 194 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
index aabfad882e23..1e2dfb1b1d6b 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
@@ -202,7 +202,6 @@ static struct drm_encoder *tfp410_connector_best_encoder(
202 202
203static const struct drm_connector_funcs tfp410_connector_funcs = { 203static const struct drm_connector_funcs tfp410_connector_funcs = {
204 .destroy = tfp410_connector_destroy, 204 .destroy = tfp410_connector_destroy,
205 .dpms = drm_atomic_helper_connector_dpms,
206 .detect = tfp410_connector_detect, 205 .detect = tfp410_connector_detect,
207 .fill_modes = drm_helper_probe_single_connector_modes, 206 .fill_modes = drm_helper_probe_single_connector_modes,
208 .reset = drm_atomic_helper_connector_reset, 207 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
index 26823a4a07d8..f224b54a30f6 100644
--- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
+++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
@@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector)
71} 71}
72 72
73static const struct drm_connector_funcs tinydrm_connector_funcs = { 73static const struct drm_connector_funcs tinydrm_connector_funcs = {
74 .dpms = drm_atomic_helper_connector_dpms,
75 .reset = drm_atomic_helper_connector_reset, 74 .reset = drm_atomic_helper_connector_reset,
76 .detect = tinydrm_connector_detect, 75 .detect = tinydrm_connector_detect,
77 .fill_modes = drm_helper_probe_single_connector_modes, 76 .fill_modes = drm_helper_probe_single_connector_modes,
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index da5ee8047e51..ff09b8e2f9ee 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -293,7 +293,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)
293} 293}
294 294
295static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { 295static const struct drm_connector_funcs vc4_hdmi_connector_funcs = {
296 .dpms = drm_atomic_helper_connector_dpms,
297 .detect = vc4_hdmi_connector_detect, 296 .detect = vc4_hdmi_connector_detect,
298 .fill_modes = drm_helper_probe_single_connector_modes, 297 .fill_modes = drm_helper_probe_single_connector_modes,
299 .destroy = vc4_hdmi_connector_destroy, 298 .destroy = vc4_hdmi_connector_destroy,
diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c
index 369fea5a13a1..3a9a302247a2 100644
--- a/drivers/gpu/drm/vc4/vc4_vec.c
+++ b/drivers/gpu/drm/vc4/vc4_vec.c
@@ -366,7 +366,6 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector)
366} 366}
367 367
368static const struct drm_connector_funcs vc4_vec_connector_funcs = { 368static const struct drm_connector_funcs vc4_vec_connector_funcs = {
369 .dpms = drm_atomic_helper_connector_dpms,
370 .detect = vc4_vec_connector_detect, 369 .detect = vc4_vec_connector_detect,
371 .fill_modes = drm_helper_probe_single_connector_modes, 370 .fill_modes = drm_helper_probe_single_connector_modes,
372 .destroy = vc4_vec_connector_destroy, 371 .destroy = vc4_vec_connector_destroy,
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
index ffd22e5ab43a..b6d52055a11f 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -252,7 +252,6 @@ static void virtio_gpu_conn_destroy(struct drm_connector *connector)
252} 252}
253 253
254static const struct drm_connector_funcs virtio_gpu_connector_funcs = { 254static const struct drm_connector_funcs virtio_gpu_connector_funcs = {
255 .dpms = drm_atomic_helper_connector_dpms,
256 .detect = virtio_gpu_conn_detect, 255 .detect = virtio_gpu_conn_detect,
257 .fill_modes = drm_helper_probe_single_connector_modes, 256 .fill_modes = drm_helper_probe_single_connector_modes,
258 .destroy = virtio_gpu_conn_destroy, 257 .destroy = virtio_gpu_conn_destroy,
diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c
index 7e834e3eeed9..b8abb1b496ff 100644
--- a/drivers/gpu/drm/zte/zx_hdmi.c
+++ b/drivers/gpu/drm/zte/zx_hdmi.c
@@ -300,7 +300,6 @@ zx_hdmi_connector_detect(struct drm_connector *connector, bool force)
300} 300}
301 301
302static const struct drm_connector_funcs zx_hdmi_connector_funcs = { 302static const struct drm_connector_funcs zx_hdmi_connector_funcs = {
303 .dpms = drm_atomic_helper_connector_dpms,
304 .fill_modes = drm_helper_probe_single_connector_modes, 303 .fill_modes = drm_helper_probe_single_connector_modes,
305 .detect = zx_hdmi_connector_detect, 304 .detect = zx_hdmi_connector_detect,
306 .destroy = drm_connector_cleanup, 305 .destroy = drm_connector_cleanup,
diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c
index b56dc69843fc..0de1a71ca4e0 100644
--- a/drivers/gpu/drm/zte/zx_tvenc.c
+++ b/drivers/gpu/drm/zte/zx_tvenc.c
@@ -269,7 +269,6 @@ static struct drm_connector_helper_funcs zx_tvenc_connector_helper_funcs = {
269}; 269};
270 270
271static const struct drm_connector_funcs zx_tvenc_connector_funcs = { 271static const struct drm_connector_funcs zx_tvenc_connector_funcs = {
272 .dpms = drm_atomic_helper_connector_dpms,
273 .fill_modes = drm_helper_probe_single_connector_modes, 272 .fill_modes = drm_helper_probe_single_connector_modes,
274 .destroy = drm_connector_cleanup, 273 .destroy = drm_connector_cleanup,
275 .reset = drm_atomic_helper_connector_reset, 274 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c
index 1e0811f775cb..3e7e33cd3dfa 100644
--- a/drivers/gpu/drm/zte/zx_vga.c
+++ b/drivers/gpu/drm/zte/zx_vga.c
@@ -138,7 +138,6 @@ zx_vga_connector_detect(struct drm_connector *connector, bool force)
138} 138}
139 139
140static const struct drm_connector_funcs zx_vga_connector_funcs = { 140static const struct drm_connector_funcs zx_vga_connector_funcs = {
141 .dpms = drm_atomic_helper_connector_dpms,
142 .fill_modes = drm_helper_probe_single_connector_modes, 141 .fill_modes = drm_helper_probe_single_connector_modes,
143 .detect = zx_vga_connector_detect, 142 .detect = zx_vga_connector_detect,
144 .destroy = drm_connector_cleanup, 143 .destroy = drm_connector_cleanup,