]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: Cleanup early return in construct_phy
authorTimur Kristóf <timur.kristof@gmail.com>
Thu, 13 Nov 2025 16:33:47 +0000 (17:33 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 18 Nov 2025 15:53:16 +0000 (10:53 -0500)
Match pre-existing patterns in the DC code base.
Instead of returning early from the construct_phy() function,
add a label at the end and use goto to jump there.
Additionally, respect the DC logger and let it log the function
even when it returns early.

Suggested-by: Ray Wu <Ray.Wu@amd.com>
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Link: https://lore.kernel.org/r/20251113163348.137315-4-timur.kristof@gmail.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/link/link_factory.c

index 5229f2a9a794d9cb6485bcf58533f041be9ff4cf..a6e2b0821969b922c8d555dea9cb3b23ac910c22 100644 (file)
@@ -529,16 +529,16 @@ static bool construct_phy(struct dc_link *link,
        enc_init_data.transmitter = translate_encoder_to_transmitter(enc_init_data.encoder);
        enc_init_data.analog_engine = find_analog_engine(link);
 
-       if (!transmitter_supported(enc_init_data.transmitter) &&
-               !analog_engine_supported(enc_init_data.analog_engine)) {
-               DC_LOG_WARNING("link_id %d has unsupported encoder\n", link->link_id.id);
-               return false;
-       }
-
        link->ep_type = DISPLAY_ENDPOINT_PHY;
 
        DC_LOG_DC("BIOS object table - link_id: %d", link->link_id.id);
 
+       if (!transmitter_supported(enc_init_data.transmitter) &&
+           !analog_engine_supported(enc_init_data.analog_engine)) {
+               DC_LOG_WARNING("link_id %d has unsupported encoder\n", link->link_id.id);
+               goto unsupported_fail;
+       }
+
        if (bios->funcs->get_disp_connector_caps_info) {
                bios->funcs->get_disp_connector_caps_info(bios, link->link_id, &disp_connect_caps_info);
                link->is_internal_display = disp_connect_caps_info.INTERNAL_DISPLAY;
@@ -806,6 +806,7 @@ create_fail:
                link->hpd_gpio = NULL;
        }
 
+unsupported_fail:
        DC_LOG_DC("BIOS object table - %s failed.\n", __func__);
        return false;
 }