From 17dcc5c57dcffb919f3de65ff7a0134ffa3bd874 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 3 Sep 2010 12:25:34 -0700 Subject: Use makedev helper for device major and minor numbers Major and minor numbers can be greater than 255. Major numbers are 12 bits, and minor numbers are 20 bits. Supporting major and minor numbers > 255 allows the use of the extended block device for extra mmc partitions. Change-Id: I4c42bfe0781069e8e4cb13ebe26e860cdc03f866 --- init/devices.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/init/devices.c b/init/devices.c index 8e912de..d7aa3a6 100644 --- a/init/devices.c +++ b/init/devices.c @@ -181,11 +181,8 @@ static void make_device(const char *path, int block, int major, int minor) mode_t mode; dev_t dev; - if(major > 255 || minor > 255) - return; - mode = get_device_perm(path, &uid, &gid) | (block ? S_IFBLK : S_IFCHR); - dev = (major << 8) | minor; + dev = makedev(major, minor); /* Temporarily change egid to avoid race condition setting the gid of the * device node. Unforunately changing the euid would prevent creation of * some device nodes, so the uid has to be set with chown() and is still -- cgit v1.1