Whenever we access minor->device, we are in a minor->kdev->...->fops
callback so the minor->kdev pointer *must* be valid. Thus, simply use
minor->kdev->devt instead of minor->device and remove the redundant field.

Signed-off-by: David Herrmann <dh.herrmann at gmail.com>
---
 drivers/gpu/drm/drm_drv.c  | 4 ++--
 drivers/gpu/drm/drm_fops.c | 2 +-
 drivers/gpu/drm/drm_stub.c | 1 -
 include/drm/drmP.h         | 1 -
 4 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 345be03..ec651be 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -344,7 +344,7 @@ long drm_ioctl(struct file *filp,

        DRM_DEBUG("pid=%d, dev=0x%lx, auth=%d, %s\n",
                  task_pid_nr(current),
-                 (long)old_encode_dev(file_priv->minor->device),
+                 (long)old_encode_dev(file_priv->minor->kdev->devt),
                  file_priv->authenticated, ioctl->name);

        /* Do not trust userspace, use our own definition */
@@ -402,7 +402,7 @@ long drm_ioctl(struct file *filp,
        if (!ioctl)
                DRM_DEBUG("invalid ioctl: pid=%d, dev=0x%lx, auth=%d, 
cmd=0x%02x, nr=0x%02x\n",
                          task_pid_nr(current),
-                         (long)old_encode_dev(file_priv->minor->device),
+                         (long)old_encode_dev(file_priv->minor->kdev->devt),
                          file_priv->authenticated, cmd, nr);

        if (kdata != stack_kdata)
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 7947819..4ce5318 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -471,7 +471,7 @@ int drm_release(struct inode *inode, struct file *filp)

        DRM_DEBUG("pid = %d, device = 0x%lx, open_count = %d\n",
                  task_pid_nr(current),
-                 (long)old_encode_dev(file_priv->minor->device),
+                 (long)old_encode_dev(file_priv->minor->kdev->devt),
                  dev->open_count);

        /* Release any auth tokens that might point to this file_priv,
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
index d564a5d..fa9542e 100644
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@ -318,7 +318,6 @@ static int drm_minor_register(struct drm_device *dev, 
unsigned int type)
        if (minor_id < 0)
                return minor_id;

-       new_minor->device = MKDEV(DRM_MAJOR, minor_id);
        new_minor->index = minor_id;

        idr_replace(&drm_minors_idr, new_minor, minor_id);
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 3c02cad..114d46f 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1040,7 +1040,6 @@ struct drm_info_node {
 struct drm_minor {
        int index;                      /**< Minor device number */
        int type;                       /**< Control or render */
-       dev_t device;                   /**< Device number for mknod */
        struct device *kdev;            /**< Linux device */
        struct drm_device *dev;

-- 
1.8.5.3

Reply via email to