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); |
