switch device_get_devnode() and ->devnode() to umode_t *
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 24 Jul 2011 00:24:48 +0000 (20:24 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 4 Jan 2012 03:54:55 +0000 (22:54 -0500)
both callers of device_get_devnode() are only interested in lower 16bits
and nobody tries to return anything wider than 16bit anyway.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31 files changed:
arch/x86/kernel/cpuid.c
arch/x86/kernel/msr.c
block/bsg.c
block/genhd.c
drivers/base/core.c
drivers/base/devtmpfs.c
drivers/block/aoe/aoechr.c
drivers/block/pktcdvd.c
drivers/char/mem.c
drivers/char/misc.c
drivers/char/raw.c
drivers/char/tile-srom.c
drivers/gpu/drm/drm_sysfs.c
drivers/hid/usbhid/hiddev.c
drivers/infiniband/core/cm.c
drivers/infiniband/core/user_mad.c
drivers/infiniband/core/uverbs_main.c
drivers/input/input.c
drivers/media/dvb/ddbridge/ddbridge-core.c
drivers/media/dvb/dvb-core/dvbdev.c
drivers/media/rc/rc-main.c
drivers/tty/tty_io.c
drivers/usb/class/usblp.c
drivers/usb/core/file.c
drivers/usb/core/usb.c
drivers/usb/misc/iowarrior.c
drivers/usb/misc/legousbtower.c
include/linux/device.h
include/linux/genhd.h
include/linux/usb.h
sound/sound_core.c

index 212a6a42527c5fcbd0a79f05e4ed7d1cff077cf7..a524353d93f21181e5998b592e7c39072ad1f182 100644 (file)
@@ -177,7 +177,7 @@ static struct notifier_block __refdata cpuid_class_cpu_notifier =
        .notifier_call = cpuid_class_cpu_callback,
 };
 
-static char *cpuid_devnode(struct device *dev, mode_t *mode)
+static char *cpuid_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "cpu/%u/cpuid", MINOR(dev->devt));
 }
index 12fcbe2c143e5e3c7a9e62f58981a78f5355bd64..96356762a51dfd0f700eb4eb45a33d2bbcd32aa0 100644 (file)
@@ -236,7 +236,7 @@ static struct notifier_block __refdata msr_class_cpu_notifier = {
        .notifier_call = msr_class_cpu_callback,
 };
 
-static char *msr_devnode(struct device *dev, mode_t *mode)
+static char *msr_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "cpu/%u/msr", MINOR(dev->devt));
 }
index 702f1316bb8fec6d68fcb7e0fc262c960530fc29..9651ec7b87c22f1a14b9f5cbdad073006de222d1 100644 (file)
@@ -1070,7 +1070,7 @@ EXPORT_SYMBOL_GPL(bsg_register_queue);
 
 static struct cdev bsg_cdev;
 
-static char *bsg_devnode(struct device *dev, mode_t *mode)
+static char *bsg_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "bsg/%s", dev_name(dev));
 }
index 02e9fca808256f762e0af44e8a1055c322b51b40..80578f3176ef1770179a7b17e6c1829bfcc78c24 100644 (file)
@@ -1109,7 +1109,7 @@ struct class block_class = {
        .name           = "block",
 };
 
-static char *block_devnode(struct device *dev, mode_t *mode)
+static char *block_devnode(struct device *dev, umode_t *mode)
 {
        struct gendisk *disk = dev_to_disk(dev);
 
index 919daa7cd5b1db3443c65863cc07c20c830f680b..1dfa1d616fa59be8dc5f1a2db5dd5546d9c31ee5 100644 (file)
@@ -198,7 +198,7 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
        if (MAJOR(dev->devt)) {
                const char *tmp;
                const char *name;
-               mode_t mode = 0;
+               umode_t mode = 0;
 
                add_uevent_var(env, "MAJOR=%u", MAJOR(dev->devt));
                add_uevent_var(env, "MINOR=%u", MINOR(dev->devt));
@@ -1182,7 +1182,7 @@ static struct device *next_device(struct klist_iter *i)
  * freed by the caller.
  */
 const char *device_get_devnode(struct device *dev,
-                              mode_t *mode, const char **tmp)
+                              umode_t *mode, const char **tmp)
 {
        char *s;
 
index a4760e095ff51b36a58871cdf9329bf4573f6c1d..3990f682e6906f54740fcfb336dd9d1476b07d55 100644 (file)
@@ -40,7 +40,7 @@ static struct req {
        struct completion done;
        int err;
        const char *name;
-       mode_t mode;    /* 0 => delete */
+       umode_t mode;   /* 0 => delete */
        struct device *dev;
 } *requests;
 
index 5f8e39c43ae53f8a5264dd600ad64cd759485467..e86d2062a1641f36ff2bc0200d286f433e56fb27 100644 (file)
@@ -270,7 +270,7 @@ static const struct file_operations aoe_fops = {
        .llseek = noop_llseek,
 };
 
-static char *aoe_devnode(struct device *dev, mode_t *mode)
+static char *aoe_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "etherd/%s", dev_name(dev));
 }
index a63b0a2b78054b75f24b131cbeddf01474a7449e..d59edeabd93f0b178306f49d6ff3e0376a6f3505 100644 (file)
@@ -2817,7 +2817,7 @@ static const struct block_device_operations pktcdvd_ops = {
        .check_events =         pkt_check_events,
 };
 
-static char *pktcdvd_devnode(struct gendisk *gd, mode_t *mode)
+static char *pktcdvd_devnode(struct gendisk *gd, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "pktcdvd/%s", gd->disk_name);
 }
index 1451790337160fb8c9fd6a5af935dea6b236f4ca..d6e9d081c8b101169eb4f032ee394b97f07516cd 100644 (file)
@@ -847,7 +847,7 @@ static const struct file_operations kmsg_fops = {
 
 static const struct memdev {
        const char *name;
-       mode_t mode;
+       umode_t mode;
        const struct file_operations *fops;
        struct backing_dev_info *dev_info;
 } devlist[] = {
@@ -901,7 +901,7 @@ static const struct file_operations memory_fops = {
        .llseek = noop_llseek,
 };
 
-static char *mem_devnode(struct device *dev, mode_t *mode)
+static char *mem_devnode(struct device *dev, umode_t *mode)
 {
        if (mode && devlist[MINOR(dev->devt)].mode)
                *mode = devlist[MINOR(dev->devt)].mode;
index 778273c93242f5efbd1629a0f7c9d102ed907b4a..522136d40843e8a38f1205ef61e1bae8e68e07ab 100644 (file)
@@ -258,7 +258,7 @@ int misc_deregister(struct miscdevice *misc)
 EXPORT_SYMBOL(misc_register);
 EXPORT_SYMBOL(misc_deregister);
 
-static char *misc_devnode(struct device *dev, mode_t *mode)
+static char *misc_devnode(struct device *dev, umode_t *mode)
 {
        struct miscdevice *c = dev_get_drvdata(dev);
 
index b6de2c0471458d6c9191d32bbad740de904f1ed1..54a3a6d09819922486f4de420f4ed0f96a6e7bb0 100644 (file)
@@ -308,7 +308,7 @@ static const struct file_operations raw_ctl_fops = {
 
 static struct cdev raw_cdev;
 
-static char *raw_devnode(struct device *dev, mode_t *mode)
+static char *raw_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "raw/%s", dev_name(dev));
 }
index cf3ee008dca251ad18082a04e72c2b5a402d63d4..4dc019408fac7aa04b59e95f7deed8fb586ffe9e 100644 (file)
@@ -329,7 +329,7 @@ static struct device_attribute srom_dev_attrs[] = {
        __ATTR_NULL
 };
 
-static char *srom_devnode(struct device *dev, mode_t *mode)
+static char *srom_devnode(struct device *dev, umode_t *mode)
 {
        *mode = S_IRUGO | S_IWUSR;
        return kasprintf(GFP_KERNEL, "srom/%s", dev_name(dev));
index 0f9ef9bf6730aa6ee68b9ce763f1e76bd62ee63a..62c3675045ac72462eedc6a18b375a1b33eb498d 100644 (file)
@@ -72,7 +72,7 @@ static int drm_class_resume(struct device *dev)
        return 0;
 }
 
-static char *drm_devnode(struct device *dev, mode_t *mode)
+static char *drm_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "dri/%s", dev_name(dev));
 }
index 4ef02b269a71d5277838c83a74eedeac0391cd80..7c297d305d5dd42f7399eadb33e624fd9a6a0a69 100644 (file)
@@ -859,7 +859,7 @@ static const struct file_operations hiddev_fops = {
        .llseek         = noop_llseek,
 };
 
-static char *hiddev_devnode(struct device *dev, mode_t *mode)
+static char *hiddev_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
 }
index 8b72f39202fb01d7e7bc29d5af45b55b01c0387a..c889aaef34168f2f7229e8e1ca8e3bd752ad3541 100644 (file)
@@ -3659,7 +3659,7 @@ static struct kobj_type cm_port_obj_type = {
        .release = cm_release_port_obj
 };
 
-static char *cm_devnode(struct device *dev, mode_t *mode)
+static char *cm_devnode(struct device *dev, umode_t *mode)
 {
        if (mode)
                *mode = 0666;
index 07db22997e97a3288ffb0ed2282b7347ce7b02da..f0d588f8859ef5fd2f7679504351003ac77c2589 100644 (file)
@@ -1175,7 +1175,7 @@ static void ib_umad_remove_one(struct ib_device *device)
        kref_put(&umad_dev->ref, ib_umad_release_dev);
 }
 
-static char *umad_devnode(struct device *dev, mode_t *mode)
+static char *umad_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "infiniband/%s", dev_name(dev));
 }
index 879636746373d34d0cc22ff595f4adeb80091679..604556d73d250e59cde7559a9e5a870089419fe6 100644 (file)
@@ -846,7 +846,7 @@ static void ib_uverbs_remove_one(struct ib_device *device)
        kfree(uverbs_dev);
 }
 
-static char *uverbs_devnode(struct device *dev, mode_t *mode)
+static char *uverbs_devnode(struct device *dev, umode_t *mode)
 {
        if (mode)
                *mode = 0666;
index da38d97a51b1c67782f3265a19bac3cdb5fd2686..1f78c957a75a4d284e34d04bf07145bb4014fb26 100644 (file)
@@ -1624,7 +1624,7 @@ static struct device_type input_dev_type = {
 #endif
 };
 
-static char *input_devnode(struct device *dev, mode_t *mode)
+static char *input_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "input/%s", dev_name(dev));
 }
index ba9a643b9c6a6f7241cdebf9557b8fb188992b91..d1e91bc80e78ac1e819663ac827d2c4302e38f3d 100644 (file)
@@ -1480,7 +1480,7 @@ static const struct file_operations ddb_fops = {
        .open           = ddb_open,
 };
 
-static char *ddb_devnode(struct device *device, mode_t *mode)
+static char *ddb_devnode(struct device *device, umode_t *mode)
 {
        struct ddb *dev = dev_get_drvdata(device);
 
index f73287775953599c80062c978d73604b82dc07e0..00a67326c1931dd01496a1fdb8544ae0ceb77206 100644 (file)
@@ -450,7 +450,7 @@ static int dvb_uevent(struct device *dev, struct kobj_uevent_env *env)
        return 0;
 }
 
-static char *dvb_devnode(struct device *dev, mode_t *mode)
+static char *dvb_devnode(struct device *dev, umode_t *mode)
 {
        struct dvb_device *dvbdev = dev_get_drvdata(dev);
 
index 29f900065d8ad7c74f252cb8b8a3479b0c456838..f5db8b949bc3907f0367d7771724190529f81e29 100644 (file)
@@ -715,7 +715,7 @@ static void ir_close(struct input_dev *idev)
 }
 
 /* class for /sys/class/rc */
-static char *ir_devnode(struct device *dev, mode_t *mode)
+static char *ir_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "rc/%s", dev_name(dev));
 }
index 05085beb83dbe31b49679735530fa4a5a42b8882..3fdebd306b9436e11c6f65d457464b8723895a10 100644 (file)
@@ -3267,7 +3267,7 @@ void __init console_init(void)
        }
 }
 
-static char *tty_devnode(struct device *dev, mode_t *mode)
+static char *tty_devnode(struct device *dev, umode_t *mode)
 {
        if (!mode)
                return NULL;
index cb3a93243a052f6bdb4f6455c0f4e44a54e82ee9..bc5089f76cec1db122c402b26a73642d43f50184 100644 (file)
@@ -1045,7 +1045,7 @@ static const struct file_operations usblp_fops = {
        .llseek =       noop_llseek,
 };
 
-static char *usblp_devnode(struct device *dev, mode_t *mode)
+static char *usblp_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
 }
index 99458c843d608603f9c4b61df9c2e59ff9ad081b..d95760de9e8ba3dfaf329ac16a6635aaad72ea68 100644 (file)
@@ -66,7 +66,7 @@ static struct usb_class {
        struct class *class;
 } *usb_class;
 
-static char *usb_devnode(struct device *dev, mode_t *mode)
+static char *usb_devnode(struct device *dev, umode_t *mode)
 {
        struct usb_class_driver *drv;
 
index 73cd90012ec5fb08053c0ad4bd3b7374dd36961b..1382c90d0834859c946c272d93859b4b1185a96c 100644 (file)
@@ -326,7 +326,7 @@ static const struct dev_pm_ops usb_device_pm_ops = {
 #endif /* CONFIG_PM */
 
 
-static char *usb_devnode(struct device *dev, mode_t *mode)
+static char *usb_devnode(struct device *dev, umode_t *mode)
 {
        struct usb_device *usb_dev;
 
index 81457904d6ba026481ebc2c734b0c8c790020fa8..5bd4b0526de5930b408f921ddce1895ffac94cb5 100644 (file)
@@ -734,7 +734,7 @@ static const struct file_operations iowarrior_fops = {
        .llseek = noop_llseek,
 };
 
-static char *iowarrior_devnode(struct device *dev, mode_t *mode)
+static char *iowarrior_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
 }
index a989356f693ec180edf9e737885388b929574d3c..94f6566b99f81149cd1ada9e5e3e4ceccfb9bfb3 100644 (file)
@@ -269,7 +269,7 @@ static const struct file_operations tower_fops = {
        .llseek =       tower_llseek,
 };
 
-static char *legousbtower_devnode(struct device *dev, mode_t *mode)
+static char *legousbtower_devnode(struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
 }
index 3136ede5a1e1bb8434a0e2d52840f84de39647de..2fe0005543edb28c6623831b5b08aa72854834aa 100644 (file)
@@ -294,7 +294,7 @@ struct class {
        struct kobject                  *dev_kobj;
 
        int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env);
-       char *(*devnode)(struct device *dev, mode_t *mode);
+       char *(*devnode)(struct device *dev, umode_t *mode);
 
        void (*class_release)(struct class *class);
        void (*dev_release)(struct device *dev);
@@ -423,7 +423,7 @@ struct device_type {
        const char *name;
        const struct attribute_group **groups;
        int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
-       char *(*devnode)(struct device *dev, mode_t *mode);
+       char *(*devnode)(struct device *dev, umode_t *mode);
        void (*release)(struct device *dev);
 
        const struct dev_pm_ops *pm;
@@ -720,7 +720,7 @@ extern int device_rename(struct device *dev, const char *new_name);
 extern int device_move(struct device *dev, struct device *new_parent,
                       enum dpm_order dpm_order);
 extern const char *device_get_devnode(struct device *dev,
-                                     mode_t *mode, const char **tmp);
+                                     umode_t *mode, const char **tmp);
 extern void *dev_get_drvdata(const struct device *dev);
 extern int dev_set_drvdata(struct device *dev, void *data);
 
index 6d18f3531f180f401d35e8028b3395b339182c2e..fe23ee768589c7d7771bd40c9d4ac30ef01ab026 100644 (file)
@@ -163,7 +163,7 @@ struct gendisk {
                                          * disks that can't be partitioned. */
 
        char disk_name[DISK_NAME_LEN];  /* name of major driver */
-       char *(*devnode)(struct gendisk *gd, mode_t *mode);
+       char *(*devnode)(struct gendisk *gd, umode_t *mode);
 
        unsigned int events;            /* supported events */
        unsigned int async_events;      /* async events, subset of all */
index d3d0c1374334d58c684e5f1b4d13422aa8f57ae8..a59321779f8b40c1e94b778b1e1fa2423350cf75 100644 (file)
@@ -935,7 +935,7 @@ extern struct bus_type usb_bus_type;
  */
 struct usb_class_driver {
        char *name;
-       char *(*devnode)(struct device *dev, mode_t *mode);
+       char *(*devnode)(struct device *dev, umode_t *mode);
        const struct file_operations *fops;
        int minor_base;
 };
index 6ce277860fd73c9231da9af6f6dfb1048d4bd0c4..c6e81fb928e9acda430945fe7b0bf329f5760074 100644 (file)
@@ -29,7 +29,7 @@ MODULE_DESCRIPTION("Core sound module");
 MODULE_AUTHOR("Alan Cox");
 MODULE_LICENSE("GPL");
 
-static char *sound_devnode(struct device *dev, mode_t *mode)
+static char *sound_devnode(struct device *dev, umode_t *mode)
 {
        if (MAJOR(dev->devt) == SOUND_MAJOR)
                return NULL;