Make it easier to change the underlying structures by using a macro similar to PLATFORM() for initialization. The subplatform names in debug logs change slightly as they now reflect the enum rather than manually entered names. For example, RAPTORLAKE_S rather than RPL-S. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> --- .../drm/i915/display/intel_display_device.c | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c index dd7dce4b0e7a..d900c30907ac 100644 --- a/drivers/gpu/drm/i915/display/intel_display_device.c +++ b/drivers/gpu/drm/i915/display/intel_display_device.c @@ -26,6 +26,10 @@ struct subplatform_desc { const u16 *pciidlist; }; +#define SUBPLATFORM(_platform, _subplatform) \ + .subplatform = (INTEL_DISPLAY_##_platform##_##_subplatform), \ + .name = #_subplatform + struct platform_desc { enum intel_display_platform platform; const char *name; @@ -485,8 +489,8 @@ static const u16 hsw_ulx_ids[] = { static const struct platform_desc hsw_desc = { PLATFORM(HASWELL), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_HASWELL_ULT, "ULT", hsw_ult_ids }, - { INTEL_DISPLAY_HASWELL_ULX, "ULX", hsw_ulx_ids }, + { SUBPLATFORM(HASWELL, ULT), .pciidlist = hsw_ult_ids }, + { SUBPLATFORM(HASWELL, ULX), .pciidlist = hsw_ulx_ids }, {}, }, .info = &(const struct intel_display_device_info) { @@ -529,8 +533,8 @@ static const u16 bdw_ulx_ids[] = { static const struct platform_desc bdw_desc = { PLATFORM(BROADWELL), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_BROADWELL_ULT, "ULT", bdw_ult_ids }, - { INTEL_DISPLAY_BROADWELL_ULX, "ULX", bdw_ulx_ids }, + { SUBPLATFORM(BROADWELL, ULT), .pciidlist = bdw_ult_ids }, + { SUBPLATFORM(BROADWELL, ULX), .pciidlist = bdw_ulx_ids }, {}, }, .info = &(const struct intel_display_device_info) { @@ -613,8 +617,8 @@ static const u16 skl_ulx_ids[] = { static const struct platform_desc skl_desc = { PLATFORM(SKYLAKE), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_SKYLAKE_ULT, "ULT", skl_ult_ids }, - { INTEL_DISPLAY_SKYLAKE_ULX, "ULX", skl_ulx_ids }, + { SUBPLATFORM(SKYLAKE, ULT), .pciidlist = skl_ult_ids }, + { SUBPLATFORM(SKYLAKE, ULX), .pciidlist = skl_ulx_ids }, {}, }, .info = &skl_display, @@ -637,8 +641,8 @@ static const u16 kbl_ulx_ids[] = { static const struct platform_desc kbl_desc = { PLATFORM(KABYLAKE), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_KABYLAKE_ULT, "ULT", kbl_ult_ids }, - { INTEL_DISPLAY_KABYLAKE_ULX, "ULX", kbl_ulx_ids }, + { SUBPLATFORM(KABYLAKE, ULT), .pciidlist = kbl_ult_ids }, + { SUBPLATFORM(KABYLAKE, ULX), .pciidlist = kbl_ulx_ids }, {}, }, .info = &skl_display, @@ -661,8 +665,8 @@ static const u16 cfl_ulx_ids[] = { static const struct platform_desc cfl_desc = { PLATFORM(COFFEELAKE), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_COFFEELAKE_ULT, "ULT", cfl_ult_ids }, - { INTEL_DISPLAY_COFFEELAKE_ULX, "ULX", cfl_ulx_ids }, + { SUBPLATFORM(COFFEELAKE, ULT), .pciidlist = cfl_ult_ids }, + { SUBPLATFORM(COFFEELAKE, ULX), .pciidlist = cfl_ulx_ids }, {}, }, .info = &skl_display, @@ -677,7 +681,7 @@ static const u16 cml_ult_ids[] = { static const struct platform_desc cml_desc = { PLATFORM(COMETLAKE), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_COMETLAKE_ULT, "ULT", cml_ult_ids }, + { SUBPLATFORM(COMETLAKE, ULT), .pciidlist = cml_ult_ids }, {}, }, .info = &skl_display, @@ -776,7 +780,7 @@ static const u16 icl_port_f_ids[] = { static const struct platform_desc icl_desc = { PLATFORM(ICELAKE), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_ICELAKE_PORT_F, "Port F", icl_port_f_ids }, + { SUBPLATFORM(ICELAKE, PORT_F), .pciidlist = icl_port_f_ids }, {}, }, .info = &(const struct intel_display_device_info) { @@ -853,7 +857,7 @@ static const u16 tgl_uy_ids[] = { static const struct platform_desc tgl_desc = { PLATFORM(TIGERLAKE), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_TIGERLAKE_UY, "UY", tgl_uy_ids }, + { SUBPLATFORM(TIGERLAKE, UY), .pciidlist = tgl_uy_ids }, {}, }, .info = &(const struct intel_display_device_info) { @@ -902,7 +906,7 @@ static const u16 adls_rpls_ids[] = { static const struct platform_desc adl_s_desc = { PLATFORM(ALDERLAKE_S), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_ALDERLAKE_S_RAPTORLAKE_S, "RPL-S", adls_rpls_ids }, + { SUBPLATFORM(ALDERLAKE_S, RAPTORLAKE_S), .pciidlist = adls_rpls_ids }, {}, }, .info = &(const struct intel_display_device_info) { @@ -989,9 +993,9 @@ static const u16 adlp_rplp_ids[] = { static const struct platform_desc adl_p_desc = { PLATFORM(ALDERLAKE_P), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_ALDERLAKE_P_ALDERLAKE_N, "ADL-N", adlp_adln_ids }, - { INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_U, "RPL-U", adlp_rplu_ids }, - { INTEL_DISPLAY_ALDERLAKE_P_RAPTORLAKE_P, "RPL-P", adlp_rplp_ids }, + { SUBPLATFORM(ALDERLAKE_P, ALDERLAKE_N), .pciidlist = adlp_adln_ids }, + { SUBPLATFORM(ALDERLAKE_P, RAPTORLAKE_U), .pciidlist = adlp_rplu_ids }, + { SUBPLATFORM(ALDERLAKE_P, RAPTORLAKE_P), .pciidlist = adlp_rplp_ids }, {}, }, .info = &xe_lpd_display, @@ -1026,9 +1030,9 @@ static const u16 dg2_g12_ids[] = { static const struct platform_desc dg2_desc = { PLATFORM(DG2), .subplatforms = (const struct subplatform_desc[]) { - { INTEL_DISPLAY_DG2_G10, "G10", dg2_g10_ids }, - { INTEL_DISPLAY_DG2_G11, "G11", dg2_g11_ids }, - { INTEL_DISPLAY_DG2_G12, "G12", dg2_g12_ids }, + { SUBPLATFORM(DG2, G10), .pciidlist = dg2_g10_ids }, + { SUBPLATFORM(DG2, G11), .pciidlist = dg2_g11_ids }, + { SUBPLATFORM(DG2, G12), .pciidlist = dg2_g12_ids }, {}, }, .info = &xe_hpd_display, -- 2.39.2