diff options
author | <jgarzik@pretzel.yyz.us> | 2005-05-26 01:47:10 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-05-26 01:47:10 -0400 |
commit | 949d33e70f2c3e93bfe5265a50e40175b1ab1ec1 (patch) | |
tree | ca88fd8f8f81b167dc4685ed34e9636f267db60d /drivers/char | |
parent | b095518ef51c37658c58367bd19240b8a113f25c (diff) | |
parent | bef9c558841604116704e10b3d9ff3dbf4939423 (diff) |
Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/ipmi/ipmi_devintf.c | 20 | ||||
-rw-r--r-- | drivers/char/raw.c | 2 | ||||
-rw-r--r-- | drivers/char/watchdog/i8xx_tco.c | 1 |
3 files changed, 20 insertions, 3 deletions
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c index 49d67f5384a2..6dc765dc5413 100644 --- a/drivers/char/ipmi/ipmi_devintf.c +++ b/drivers/char/ipmi/ipmi_devintf.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/ipmi.h> | 44 | #include <linux/ipmi.h> |
45 | #include <asm/semaphore.h> | 45 | #include <asm/semaphore.h> |
46 | #include <linux/init.h> | 46 | #include <linux/init.h> |
47 | #include <linux/device.h> | ||
47 | 48 | ||
48 | #define IPMI_DEVINTF_VERSION "v33" | 49 | #define IPMI_DEVINTF_VERSION "v33" |
49 | 50 | ||
@@ -519,15 +520,21 @@ MODULE_PARM_DESC(ipmi_major, "Sets the major number of the IPMI device. By" | |||
519 | " interface. Other values will set the major device number" | 520 | " interface. Other values will set the major device number" |
520 | " to that value."); | 521 | " to that value."); |
521 | 522 | ||
523 | static struct class_simple *ipmi_class; | ||
524 | |||
522 | static void ipmi_new_smi(int if_num) | 525 | static void ipmi_new_smi(int if_num) |
523 | { | 526 | { |
524 | devfs_mk_cdev(MKDEV(ipmi_major, if_num), | 527 | dev_t dev = MKDEV(ipmi_major, if_num); |
525 | S_IFCHR | S_IRUSR | S_IWUSR, | 528 | |
529 | devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR, | ||
526 | "ipmidev/%d", if_num); | 530 | "ipmidev/%d", if_num); |
531 | |||
532 | class_simple_device_add(ipmi_class, dev, NULL, "ipmi%d", if_num); | ||
527 | } | 533 | } |
528 | 534 | ||
529 | static void ipmi_smi_gone(int if_num) | 535 | static void ipmi_smi_gone(int if_num) |
530 | { | 536 | { |
537 | class_simple_device_remove(MKDEV(ipmi_major, if_num)); | ||
531 | devfs_remove("ipmidev/%d", if_num); | 538 | devfs_remove("ipmidev/%d", if_num); |
532 | } | 539 | } |
533 | 540 | ||
@@ -548,8 +555,15 @@ static __init int init_ipmi_devintf(void) | |||
548 | printk(KERN_INFO "ipmi device interface version " | 555 | printk(KERN_INFO "ipmi device interface version " |
549 | IPMI_DEVINTF_VERSION "\n"); | 556 | IPMI_DEVINTF_VERSION "\n"); |
550 | 557 | ||
558 | ipmi_class = class_simple_create(THIS_MODULE, "ipmi"); | ||
559 | if (IS_ERR(ipmi_class)) { | ||
560 | printk(KERN_ERR "ipmi: can't register device class\n"); | ||
561 | return PTR_ERR(ipmi_class); | ||
562 | } | ||
563 | |||
551 | rv = register_chrdev(ipmi_major, DEVICE_NAME, &ipmi_fops); | 564 | rv = register_chrdev(ipmi_major, DEVICE_NAME, &ipmi_fops); |
552 | if (rv < 0) { | 565 | if (rv < 0) { |
566 | class_simple_destroy(ipmi_class); | ||
553 | printk(KERN_ERR "ipmi: can't get major %d\n", ipmi_major); | 567 | printk(KERN_ERR "ipmi: can't get major %d\n", ipmi_major); |
554 | return rv; | 568 | return rv; |
555 | } | 569 | } |
@@ -563,6 +577,7 @@ static __init int init_ipmi_devintf(void) | |||
563 | rv = ipmi_smi_watcher_register(&smi_watcher); | 577 | rv = ipmi_smi_watcher_register(&smi_watcher); |
564 | if (rv) { | 578 | if (rv) { |
565 | unregister_chrdev(ipmi_major, DEVICE_NAME); | 579 | unregister_chrdev(ipmi_major, DEVICE_NAME); |
580 | class_simple_destroy(ipmi_class); | ||
566 | printk(KERN_WARNING "ipmi: can't register smi watcher\n"); | 581 | printk(KERN_WARNING "ipmi: can't register smi watcher\n"); |
567 | return rv; | 582 | return rv; |
568 | } | 583 | } |
@@ -573,6 +588,7 @@ module_init(init_ipmi_devintf); | |||
573 | 588 | ||
574 | static __exit void cleanup_ipmi(void) | 589 | static __exit void cleanup_ipmi(void) |
575 | { | 590 | { |
591 | class_simple_destroy(ipmi_class); | ||
576 | ipmi_smi_watcher_unregister(&smi_watcher); | 592 | ipmi_smi_watcher_unregister(&smi_watcher); |
577 | devfs_remove(DEVICE_NAME); | 593 | devfs_remove(DEVICE_NAME); |
578 | unregister_chrdev(ipmi_major, DEVICE_NAME); | 594 | unregister_chrdev(ipmi_major, DEVICE_NAME); |
diff --git a/drivers/char/raw.c b/drivers/char/raw.c index a2e33ec79615..ca5f42bcaad9 100644 --- a/drivers/char/raw.c +++ b/drivers/char/raw.c | |||
@@ -122,7 +122,7 @@ raw_ioctl(struct inode *inode, struct file *filp, | |||
122 | { | 122 | { |
123 | struct block_device *bdev = filp->private_data; | 123 | struct block_device *bdev = filp->private_data; |
124 | 124 | ||
125 | return ioctl_by_bdev(bdev, command, arg); | 125 | return blkdev_ioctl(bdev->bd_inode, NULL, command, arg); |
126 | } | 126 | } |
127 | 127 | ||
128 | static void bind_device(struct raw_config_request *rq) | 128 | static void bind_device(struct raw_config_request *rq) |
diff --git a/drivers/char/watchdog/i8xx_tco.c b/drivers/char/watchdog/i8xx_tco.c index c337978dc966..b14d642439ed 100644 --- a/drivers/char/watchdog/i8xx_tco.c +++ b/drivers/char/watchdog/i8xx_tco.c | |||
@@ -382,6 +382,7 @@ static struct pci_device_id i8xx_tco_pci_tbl[] = { | |||
382 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2, PCI_ANY_ID, PCI_ANY_ID, }, | 382 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2, PCI_ANY_ID, PCI_ANY_ID, }, |
383 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_0, PCI_ANY_ID, PCI_ANY_ID, }, | 383 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_0, PCI_ANY_ID, PCI_ANY_ID, }, |
384 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_1, PCI_ANY_ID, PCI_ANY_ID, }, | 384 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_1, PCI_ANY_ID, PCI_ANY_ID, }, |
385 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, PCI_ANY_ID, PCI_ANY_ID, }, | ||
385 | { 0, }, /* End of list */ | 386 | { 0, }, /* End of list */ |
386 | }; | 387 | }; |
387 | MODULE_DEVICE_TABLE (pci, i8xx_tco_pci_tbl); | 388 | MODULE_DEVICE_TABLE (pci, i8xx_tco_pci_tbl); |