From: Laurent Pinchart Date: Sat, 5 Aug 2017 01:44:12 +0300 Subject: drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code Git-commit: d178e034d5653edfbd16d0c71eeeed467e33c96f Patch-mainline: v4.14-rc1 References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166 The FEAT_DPI_USES_VDDS_DSI feature is specific to the DPI, move it from the omap_dss_features structure to the dpi code. Signed-off-by: Laurent Pinchart Signed-off-by: Tomi Valkeinen Acked-by: Petr Tesarik --- drivers/gpu/drm/omapdrm/dss/dpi.c | 13 ++++++++++++- drivers/gpu/drm/omapdrm/dss/dss_features.c | 2 -- drivers/gpu/drm/omapdrm/dss/dss_features.h | 1 - 3 files changed, 12 insertions(+), 4 deletions(-) --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "omapdss.h" #include "dss.h" @@ -565,11 +566,21 @@ static int dpi_verify_pll(struct dss_pll return 0; } +static const struct soc_device_attribute dpi_soc_devices[] = { + { .family = "OMAP3[456]*" }, + { .family = "[AD]M37*" }, + { /* sentinel */ } +}; + static int dpi_init_regulator(struct dpi_data *dpi) { struct regulator *vdds_dsi; - if (!dss_has_feature(FEAT_DPI_USES_VDDS_DSI)) + /* + * The DPI uses the DSI VDDS on OMAP34xx, OMAP35xx, OMAP36xx, AM37xx and + * DM37xx only. + */ + if (!soc_device_match(dpi_soc_devices)) return 0; if (dpi->vdds_dsi_reg) --- a/drivers/gpu/drm/omapdrm/dss/dss_features.c +++ b/drivers/gpu/drm/omapdrm/dss/dss_features.c @@ -171,7 +171,6 @@ static const enum dss_feat_id omap3430_d FEAT_ALPHA_FIXED_ZORDER, FEAT_FIFO_MERGE, FEAT_OMAP3_DSI_FIFO_BUG, - FEAT_DPI_USES_VDDS_DSI, }; static const enum dss_feat_id am35xx_dss_feat_list[] = { @@ -219,7 +218,6 @@ static const enum dss_feat_id omap3630_d FEAT_ALPHA_FIXED_ZORDER, FEAT_FIFO_MERGE, FEAT_OMAP3_DSI_FIFO_BUG, - FEAT_DPI_USES_VDDS_DSI, }; static const enum dss_feat_id omap4430_es1_0_dss_feat_list[] = { --- a/drivers/gpu/drm/omapdrm/dss/dss_features.h +++ b/drivers/gpu/drm/omapdrm/dss/dss_features.h @@ -39,7 +39,6 @@ enum dss_feat_id { /* Independent core clk divider */ FEAT_CORE_CLK_DIV, FEAT_LCD_CLK_SRC, - FEAT_DPI_USES_VDDS_DSI, FEAT_HANDLE_UV_SEPARATE, FEAT_ATTR2, FEAT_CPR,