Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/probe-helper: Do not fail from drmm_kms_helper_poll_init()

Failing to set up connector polling is not significant enough to
fail device probing. Print a warning and return nothing from the
init helper.

This only affects the managed init function. The unmanaged init
already never fails with an error.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250303145604.62962-4-tzimmermann@suse.de

+8 -10
+1 -4
drivers/gpu/drm/ast/ast_mode.c
··· 1035 1035 return ret; 1036 1036 1037 1037 drm_mode_config_reset(dev); 1038 - 1039 - ret = drmm_kms_helper_poll_init(dev); 1040 - if (ret) 1041 - return ret; 1038 + drmm_kms_helper_poll_init(dev); 1042 1039 1043 1040 return 0; 1044 1041 }
+6 -5
drivers/gpu/drm/drm_probe_helper.c
··· 958 958 * cleaned up when the DRM device goes away. 959 959 * 960 960 * See drm_kms_helper_poll_init() for more information. 961 - * 962 - * Returns: 963 - * 0 on success, or a negative errno code otherwise. 964 961 */ 965 - int drmm_kms_helper_poll_init(struct drm_device *dev) 962 + void drmm_kms_helper_poll_init(struct drm_device *dev) 966 963 { 964 + int ret; 965 + 967 966 drm_kms_helper_poll_init(dev); 968 967 969 - return drmm_add_action_or_reset(dev, drm_kms_helper_poll_init_release, dev); 968 + ret = drmm_add_action_or_reset(dev, drm_kms_helper_poll_init_release, dev); 969 + if (ret) 970 + drm_warn(dev, "Connector status will not be updated, error %d\n", ret); 970 971 } 971 972 EXPORT_SYMBOL(drmm_kms_helper_poll_init); 972 973
+1 -1
include/drm/drm_probe_helper.h
··· 17 17 struct drm_modeset_acquire_ctx *ctx, 18 18 bool force); 19 19 20 - int drmm_kms_helper_poll_init(struct drm_device *dev); 20 + void drmm_kms_helper_poll_init(struct drm_device *dev); 21 21 void drm_kms_helper_poll_init(struct drm_device *dev); 22 22 void drm_kms_helper_poll_fini(struct drm_device *dev); 23 23 bool drm_helper_hpd_irq_event(struct drm_device *dev);