[PATCH v2 RESEND 2/5] xfree86: Store kernel driver name in platform device attribute

Rob Clark robdclark at gmail.com
Fri Jul 4 10:50:13 PDT 2014


On Wed, Jun 25, 2014 at 9:55 AM, Thierry Reding
<thierry.reding at gmail.com> wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> When opening a DRM device, query the version and store the driver name
> as a new attribute for future reference.
>
> Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
> Tested-By: Aaron Plattner <aplattner at nvidia.com>
> Signed-off-by: Thierry Reding <treding at nvidia.com>

Reviewed-by: Rob Clark <robdclark at gmail.com>
Tested-by: Rob Clark <robdclark at gmail.com>

> ---
>  hw/xfree86/os-support/linux/lnx_platform.c | 12 ++++++++++++
>  include/hotplug.h                          |  2 ++
>  2 files changed, 14 insertions(+)
>
> diff --git a/hw/xfree86/os-support/linux/lnx_platform.c b/hw/xfree86/os-support/linux/lnx_platform.c
> index 308275ab47f6..0aaedab216ca 100644
> --- a/hw/xfree86/os-support/linux/lnx_platform.c
> +++ b/hw/xfree86/os-support/linux/lnx_platform.c
> @@ -24,6 +24,7 @@ static Bool
>  get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index)
>  {
>      drmSetVersion sv;
> +    drmVersionPtr v;
>      char *buf;
>      int major, minor, fd;
>      int err = 0;
> @@ -74,6 +75,17 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index)
>      xf86_add_platform_device_attrib(delayed_index,
>                                      ODEV_ATTRIB_BUSID, buf);
>      drmFreeBusid(buf);
> +
> +    v = drmGetVersion(fd);
> +    if (!v) {
> +        xf86Msg(X_ERROR, "%s: failed to query DRM version\n", path);
> +        goto out;
> +    }
> +
> +    xf86_add_platform_device_attrib(delayed_index, ODEV_ATTRIB_DRIVER,
> +                                    v->name);
> +    drmFreeVersion(v);
> +
>  out:
>      if (!server_fd)
>          close(fd);
> diff --git a/include/hotplug.h b/include/hotplug.h
> index cefc164aecbf..c4268a0c4995 100644
> --- a/include/hotplug.h
> +++ b/include/hotplug.h
> @@ -87,6 +87,8 @@ config_odev_free_attributes(struct OdevAttributes *attribs);
>  #define ODEV_ATTRIB_MAJOR 5
>  /* Minor number of the device node pointed to by ODEV_ATTRIB_PATH */
>  #define ODEV_ATTRIB_MINOR 6
> +/* kernel driver name */
> +#define ODEV_ATTRIB_DRIVER 4
>
>  typedef void (*config_odev_probe_proc_ptr)(struct OdevAttributes *attribs);
>  void config_odev_probe(config_odev_probe_proc_ptr probe_callback);
> --
> 2.0.0
>


More information about the xorg-devel mailing list