drm: deprecate driver date

The driver date serves no useful purpose, because it's hardly ever
updated. The information is misleading at best.

As described in Documentation/gpu/drm-internals.rst:

  The driver date, formatted as YYYYMMDD, is meant to identify the date
  of the latest modification to the driver. However, as most drivers
  fail to update it, its value is mostly useless. The DRM core prints it
  to the kernel log at initialization time and passes it to userspace
  through the DRM_IOCTL_VERSION ioctl.

Stop printing the driver date at init, and start returning the empty
string "" as driver date through the DRM_IOCTL_VERSION ioctl.

The driver date initialization in drivers and the struct drm_driver date
member can be removed in follow-up.

Reviewed-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Acked-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240429164336.1406480-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
Jani Nikula 2024-04-29 19:43:36 +03:00
parent ef283674a1
commit 7fb8af6798
4 changed files with 8 additions and 13 deletions

View File

@ -57,8 +57,8 @@ is larger than the driver minor, the DRM_IOCTL_SET_VERSION call will
return an error. Otherwise the driver's set_version() method will be return an error. Otherwise the driver's set_version() method will be
called with the requested version. called with the requested version.
Name, Description and Date Name and Description
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
char \*name; char \*desc; char \*date; char \*name; char \*desc; char \*date;
The driver name is printed to the kernel log at initialization time, The driver name is printed to the kernel log at initialization time,
@ -69,12 +69,6 @@ The driver description is a purely informative string passed to
userspace through the DRM_IOCTL_VERSION ioctl and otherwise unused by userspace through the DRM_IOCTL_VERSION ioctl and otherwise unused by
the kernel. the kernel.
The driver date, formatted as YYYYMMDD, is meant to identify the date of
the latest modification to the driver. However, as most drivers fail to
update it, its value is mostly useless. The DRM core prints it to the
kernel log at initialization time and passes it to userspace through the
DRM_IOCTL_VERSION ioctl.
Module Initialization Module Initialization
--------------------- ---------------------

View File

@ -947,9 +947,9 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
} }
drm_panic_register(dev); drm_panic_register(dev);
DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n", DRM_INFO("Initialized %s %d.%d.%d for %s on minor %d\n",
driver->name, driver->major, driver->minor, driver->name, driver->major, driver->minor,
driver->patchlevel, driver->date, driver->patchlevel,
dev->dev ? dev_name(dev->dev) : "virtual device", dev->dev ? dev_name(dev->dev) : "virtual device",
dev->primary ? dev->primary->index : dev->accel->index); dev->primary ? dev->primary->index : dev->accel->index);

View File

@ -529,9 +529,10 @@ int drm_version(struct drm_device *dev, void *data,
version->version_patchlevel = dev->driver->patchlevel; version->version_patchlevel = dev->driver->patchlevel;
err = drm_copy_field(version->name, &version->name_len, err = drm_copy_field(version->name, &version->name_len,
dev->driver->name); dev->driver->name);
/* Driver date is deprecated. Return the empty string. */
if (!err) if (!err)
err = drm_copy_field(version->date, &version->date_len, err = drm_copy_field(version->date, &version->date_len, "");
dev->driver->date);
if (!err) if (!err)
err = drm_copy_field(version->desc, &version->desc_len, err = drm_copy_field(version->desc, &version->desc_len,
dev->driver->desc); dev->driver->desc);

View File

@ -411,7 +411,7 @@ struct drm_driver {
char *name; char *name;
/** @desc: driver description */ /** @desc: driver description */
char *desc; char *desc;
/** @date: driver date */ /** @date: driver date, unused, to be removed */
char *date; char *date;
/** /**