drm: remove redundant minor->device field
authorDavid Herrmann <dh.herrmann@gmail.com>
Wed, 29 Jan 2014 12:12:31 +0000 (13:12 +0100)
committerDavid Herrmann <dh.herrmann@gmail.com>
Sun, 16 Mar 2014 11:25:19 +0000 (12:25 +0100)
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@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_fops.c
drivers/gpu/drm/drm_stub.c
include/drm/drmP.h

index 345be03c23db27203d4ce69bd74586a77e8f6ab1..ec651be2f3cbdf72eeab77537fcba7cc38625041 100644 (file)
@@ -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)
index 79478191404ad822cb2911f48f30e44b8dd01cbb..4ce5318d14bc782812ce1d43486e902194b8f92b 100644 (file)
@@ -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,
index fe9595b750eaba8b151c480ae25291cf27b9399e..96fe5dec38227c05a3382afa4d4b8de2ee7b03e0 100644 (file)
@@ -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);
index 82963167f16116a85e496d8837a1e57fddc6e7ab..538079030be04551da6c678dbf4e833007adb11b 100644 (file)
@@ -1043,7 +1043,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;