[PATCH] drm/edid/firmware: drop drm_kms_helper.edid_firmware backward compat

Jani Nikula jani.nikula at intel.com
Wed Oct 4 12:55:34 UTC 2023


On Thu, 21 Sep 2023, Jani Nikula <jani.nikula at intel.com> wrote:
> Since the edid_firmware module parameter was moved from
> drm_kms_helper.ko to drm.ko in v4.15, we've had a backwards
> compatibility helper in place, with a DRM_NOTE() suggesting to migrate
> to drm.edid_firmware. This was added in commit ac6c35a4d8c7 ("drm: add
> backwards compatibility support for drm_kms_helper.edid_firmware").
>
> More than five years and 30+ kernel releases later, see if we could drop
> the backward compatibility. Leave some warnings in place for a while
> longer.

Dave, Daniel, thoughts?

BR,
Jani.

>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>  drivers/gpu/drm/drm_edid_load.c         | 16 ----------------
>  drivers/gpu/drm/drm_kms_helper_common.c | 11 ++++++-----
>  include/drm/drm_edid.h                  |  5 -----
>  3 files changed, 6 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
> index 5d9ef267ebb3..60fcb80bce61 100644
> --- a/drivers/gpu/drm/drm_edid_load.c
> +++ b/drivers/gpu/drm/drm_edid_load.c
> @@ -23,22 +23,6 @@ module_param_string(edid_firmware, edid_firmware, sizeof(edid_firmware), 0644);
>  MODULE_PARM_DESC(edid_firmware, "Do not probe monitor, use specified EDID blob "
>  	"from built-in data or /lib/firmware instead. ");
>  
> -/* Use only for backward compatibility with drm_kms_helper.edid_firmware */
> -int __drm_set_edid_firmware_path(const char *path)
> -{
> -	scnprintf(edid_firmware, sizeof(edid_firmware), "%s", path);
> -
> -	return 0;
> -}
> -EXPORT_SYMBOL(__drm_set_edid_firmware_path);
> -
> -/* Use only for backward compatibility with drm_kms_helper.edid_firmware */
> -int __drm_get_edid_firmware_path(char *buf, size_t bufsize)
> -{
> -	return scnprintf(buf, bufsize, "%s", edid_firmware);
> -}
> -EXPORT_SYMBOL(__drm_get_edid_firmware_path);
> -
>  #define GENERIC_EDIDS 6
>  static const char * const generic_edid_name[GENERIC_EDIDS] = {
>  	"edid/800x600.bin",
> diff --git a/drivers/gpu/drm/drm_kms_helper_common.c b/drivers/gpu/drm/drm_kms_helper_common.c
> index 0bf0fc1abf54..924e0f7bd5b7 100644
> --- a/drivers/gpu/drm/drm_kms_helper_common.c
> +++ b/drivers/gpu/drm/drm_kms_helper_common.c
> @@ -38,17 +38,18 @@ MODULE_LICENSE("GPL and additional rights");
>  
>  #if IS_ENABLED(CONFIG_DRM_LOAD_EDID_FIRMWARE)
>  
> -/* Backward compatibility for drm_kms_helper.edid_firmware */
>  static int edid_firmware_set(const char *val, const struct kernel_param *kp)
>  {
> -	DRM_NOTE("drm_kms_helper.edid_firmware is deprecated, please use drm.edid_firmware instead.\n");
> +	pr_warn("drm_kms_helper.edid_firmware has been removed, please use drm.edid_firmware instead.\n");
>  
> -	return __drm_set_edid_firmware_path(val);
> +	return -ENOENT;
>  }
>  
>  static int edid_firmware_get(char *buffer, const struct kernel_param *kp)
>  {
> -	return __drm_get_edid_firmware_path(buffer, PAGE_SIZE);
> +	pr_warn("drm_kms_helper.edid_firmware has been removed, please use drm.edid_firmware instead.\n");
> +
> +	return -ENOENT;
>  }
>  
>  static const struct kernel_param_ops edid_firmware_ops = {
> @@ -59,6 +60,6 @@ static const struct kernel_param_ops edid_firmware_ops = {
>  module_param_cb(edid_firmware, &edid_firmware_ops, NULL, 0644);
>  __MODULE_PARM_TYPE(edid_firmware, "charp");
>  MODULE_PARM_DESC(edid_firmware,
> -		 "DEPRECATED. Use drm.edid_firmware module parameter instead.");
> +		 "REMOVED. Use drm.edid_firmware module parameter instead.");
>  
>  #endif
> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> index 882d2638708e..00f0a778ab62 100644
> --- a/include/drm/drm_edid.h
> +++ b/include/drm/drm_edid.h
> @@ -387,11 +387,6 @@ int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb);
>  int drm_av_sync_delay(struct drm_connector *connector,
>  		      const struct drm_display_mode *mode);
>  
> -#ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE
> -int __drm_set_edid_firmware_path(const char *path);
> -int __drm_get_edid_firmware_path(char *buf, size_t bufsize);
> -#endif
> -
>  bool drm_edid_are_equal(const struct edid *edid1, const struct edid *edid2);
>  
>  int

-- 
Jani Nikula, Intel


More information about the dri-devel mailing list