diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 15:57:37 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 15:57:37 -0400 |
| commit | 6fd03301d76bc439382710e449f58efbb233df1b (patch) | |
| tree | 3c8a3217aed67319683ffc1debccdb5b3245b16c /drivers/char/misc.c | |
| parent | cd5232bd6be2d215a800f3d88c287ca791debfbe (diff) | |
| parent | e4792aa30f9d33584d7192685ed149cc5fee737f (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)
debugfs: use specified mode to possibly mark files read/write only
debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.
xen: remove driver_data direct access of struct device from more drivers
usb: gadget: at91_udc: remove driver_data direct access of struct device
uml: remove driver_data direct access of struct device
block/ps3: remove driver_data direct access of struct device
s390: remove driver_data direct access of struct device
parport: remove driver_data direct access of struct device
parisc: remove driver_data direct access of struct device
of_serial: remove driver_data direct access of struct device
mips: remove driver_data direct access of struct device
ipmi: remove driver_data direct access of struct device
infiniband: ehca: remove driver_data direct access of struct device
ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device
hvcs: remove driver_data direct access of struct device
xen block: remove driver_data direct access of struct device
thermal: remove driver_data direct access of struct device
scsi: remove driver_data direct access of struct device
pcmcia: remove driver_data direct access of struct device
PCIE: remove driver_data direct access of struct device
...
Manually fix up trivial conflicts due to different direct driver_data
direct access fixups in drivers/block/{ps3disk.c,ps3vram.c}
Diffstat (limited to 'drivers/char/misc.c')
| -rw-r--r-- | drivers/char/misc.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/char/misc.c b/drivers/char/misc.c index a5e0db9d7662..62c99fa59e2b 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c | |||
| @@ -168,7 +168,6 @@ static const struct file_operations misc_fops = { | |||
| 168 | .open = misc_open, | 168 | .open = misc_open, |
| 169 | }; | 169 | }; |
| 170 | 170 | ||
| 171 | |||
| 172 | /** | 171 | /** |
| 173 | * misc_register - register a miscellaneous device | 172 | * misc_register - register a miscellaneous device |
| 174 | * @misc: device structure | 173 | * @misc: device structure |
| @@ -217,8 +216,8 @@ int misc_register(struct miscdevice * misc) | |||
| 217 | misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7); | 216 | misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7); |
| 218 | dev = MKDEV(MISC_MAJOR, misc->minor); | 217 | dev = MKDEV(MISC_MAJOR, misc->minor); |
| 219 | 218 | ||
| 220 | misc->this_device = device_create(misc_class, misc->parent, dev, NULL, | 219 | misc->this_device = device_create(misc_class, misc->parent, dev, |
| 221 | "%s", misc->name); | 220 | misc, "%s", misc->name); |
| 222 | if (IS_ERR(misc->this_device)) { | 221 | if (IS_ERR(misc->this_device)) { |
| 223 | err = PTR_ERR(misc->this_device); | 222 | err = PTR_ERR(misc->this_device); |
| 224 | goto out; | 223 | goto out; |
| @@ -264,6 +263,15 @@ int misc_deregister(struct miscdevice *misc) | |||
| 264 | EXPORT_SYMBOL(misc_register); | 263 | EXPORT_SYMBOL(misc_register); |
| 265 | EXPORT_SYMBOL(misc_deregister); | 264 | EXPORT_SYMBOL(misc_deregister); |
| 266 | 265 | ||
| 266 | static char *misc_nodename(struct device *dev) | ||
| 267 | { | ||
| 268 | struct miscdevice *c = dev_get_drvdata(dev); | ||
| 269 | |||
| 270 | if (c->devnode) | ||
| 271 | return kstrdup(c->devnode, GFP_KERNEL); | ||
| 272 | return NULL; | ||
| 273 | } | ||
| 274 | |||
| 267 | static int __init misc_init(void) | 275 | static int __init misc_init(void) |
| 268 | { | 276 | { |
| 269 | int err; | 277 | int err; |
| @@ -279,6 +287,7 @@ static int __init misc_init(void) | |||
| 279 | err = -EIO; | 287 | err = -EIO; |
| 280 | if (register_chrdev(MISC_MAJOR,"misc",&misc_fops)) | 288 | if (register_chrdev(MISC_MAJOR,"misc",&misc_fops)) |
| 281 | goto fail_printk; | 289 | goto fail_printk; |
| 290 | misc_class->nodename = misc_nodename; | ||
| 282 | return 0; | 291 | return 0; |
| 283 | 292 | ||
| 284 | fail_printk: | 293 | fail_printk: |
