diff options
author | Paul Mackerras <paulus@samba.org> | 2006-12-03 23:59:07 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-12-03 23:59:07 -0500 |
commit | 79acbb3ff2d8095b692e1502b9eb2ccec348de26 (patch) | |
tree | 6ab773e5a8f9de2cd6443362b21d0d6fffe3b35e /drivers/isdn/gigaset | |
parent | 19a79859e168640f8e16d7b216d211c1c52b687a (diff) | |
parent | 2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2 (diff) |
Merge branch 'linux-2.6' into for-linus
Diffstat (limited to 'drivers/isdn/gigaset')
-rw-r--r-- | drivers/isdn/gigaset/common.c | 4 | ||||
-rw-r--r-- | drivers/isdn/gigaset/gigaset.h | 2 | ||||
-rw-r--r-- | drivers/isdn/gigaset/interface.c | 10 | ||||
-rw-r--r-- | drivers/isdn/gigaset/proc.c | 19 | ||||
-rw-r--r-- | drivers/isdn/gigaset/usb-gigaset.c | 15 |
5 files changed, 23 insertions, 27 deletions
diff --git a/drivers/isdn/gigaset/common.c b/drivers/isdn/gigaset/common.c index aca165d43aa0..defd5743dba6 100644 --- a/drivers/isdn/gigaset/common.c +++ b/drivers/isdn/gigaset/common.c | |||
@@ -616,7 +616,7 @@ static struct bc_state *gigaset_initbcs(struct bc_state *bcs, | |||
616 | } else if ((bcs->skb = dev_alloc_skb(SBUFSIZE + HW_HDR_LEN)) != NULL) | 616 | } else if ((bcs->skb = dev_alloc_skb(SBUFSIZE + HW_HDR_LEN)) != NULL) |
617 | skb_reserve(bcs->skb, HW_HDR_LEN); | 617 | skb_reserve(bcs->skb, HW_HDR_LEN); |
618 | else { | 618 | else { |
619 | dev_warn(cs->dev, "could not allocate skb\n"); | 619 | warn("could not allocate skb\n"); |
620 | bcs->inputstate |= INS_skip_frame; | 620 | bcs->inputstate |= INS_skip_frame; |
621 | } | 621 | } |
622 | 622 | ||
@@ -702,7 +702,7 @@ struct cardstate *gigaset_initcs(struct gigaset_driver *drv, int channels, | |||
702 | cs->open_count = 0; | 702 | cs->open_count = 0; |
703 | cs->dev = NULL; | 703 | cs->dev = NULL; |
704 | cs->tty = NULL; | 704 | cs->tty = NULL; |
705 | cs->class = NULL; | 705 | cs->tty_dev = NULL; |
706 | cs->cidmode = cidmode != 0; | 706 | cs->cidmode = cidmode != 0; |
707 | 707 | ||
708 | //if(onechannel) { //FIXME | 708 | //if(onechannel) { //FIXME |
diff --git a/drivers/isdn/gigaset/gigaset.h b/drivers/isdn/gigaset/gigaset.h index 884bd72c1bf4..06298cc52bf5 100644 --- a/drivers/isdn/gigaset/gigaset.h +++ b/drivers/isdn/gigaset/gigaset.h | |||
@@ -444,7 +444,7 @@ struct cardstate { | |||
444 | struct gigaset_driver *driver; | 444 | struct gigaset_driver *driver; |
445 | unsigned minor_index; | 445 | unsigned minor_index; |
446 | struct device *dev; | 446 | struct device *dev; |
447 | struct class_device *class; | 447 | struct device *tty_dev; |
448 | 448 | ||
449 | const struct gigaset_ops *ops; | 449 | const struct gigaset_ops *ops; |
450 | 450 | ||
diff --git a/drivers/isdn/gigaset/interface.c b/drivers/isdn/gigaset/interface.c index 596f3aebe2f7..7edea015867e 100644 --- a/drivers/isdn/gigaset/interface.c +++ b/drivers/isdn/gigaset/interface.c | |||
@@ -625,13 +625,13 @@ void gigaset_if_init(struct cardstate *cs) | |||
625 | return; | 625 | return; |
626 | 626 | ||
627 | tasklet_init(&cs->if_wake_tasklet, &if_wake, (unsigned long) cs); | 627 | tasklet_init(&cs->if_wake_tasklet, &if_wake, (unsigned long) cs); |
628 | cs->class = tty_register_device(drv->tty, cs->minor_index, NULL); | 628 | cs->tty_dev = tty_register_device(drv->tty, cs->minor_index, NULL); |
629 | 629 | ||
630 | if (!IS_ERR(cs->class)) | 630 | if (!IS_ERR(cs->tty_dev)) |
631 | class_set_devdata(cs->class, cs); | 631 | dev_set_drvdata(cs->tty_dev, cs); |
632 | else { | 632 | else { |
633 | warn("could not register device to the tty subsystem"); | 633 | warn("could not register device to the tty subsystem"); |
634 | cs->class = NULL; | 634 | cs->tty_dev = NULL; |
635 | } | 635 | } |
636 | } | 636 | } |
637 | 637 | ||
@@ -645,7 +645,7 @@ void gigaset_if_free(struct cardstate *cs) | |||
645 | 645 | ||
646 | tasklet_disable(&cs->if_wake_tasklet); | 646 | tasklet_disable(&cs->if_wake_tasklet); |
647 | tasklet_kill(&cs->if_wake_tasklet); | 647 | tasklet_kill(&cs->if_wake_tasklet); |
648 | cs->class = NULL; | 648 | cs->tty_dev = NULL; |
649 | tty_unregister_device(drv->tty, cs->minor_index); | 649 | tty_unregister_device(drv->tty, cs->minor_index); |
650 | } | 650 | } |
651 | 651 | ||
diff --git a/drivers/isdn/gigaset/proc.c b/drivers/isdn/gigaset/proc.c index 9ad840e95dbe..e767afa55abf 100644 --- a/drivers/isdn/gigaset/proc.c +++ b/drivers/isdn/gigaset/proc.c | |||
@@ -16,11 +16,12 @@ | |||
16 | #include "gigaset.h" | 16 | #include "gigaset.h" |
17 | #include <linux/ctype.h> | 17 | #include <linux/ctype.h> |
18 | 18 | ||
19 | static ssize_t show_cidmode(struct class_device *class, char *buf) | 19 | static ssize_t show_cidmode(struct device *dev, |
20 | struct device_attribute *attr, char *buf) | ||
20 | { | 21 | { |
21 | int ret; | 22 | int ret; |
22 | unsigned long flags; | 23 | unsigned long flags; |
23 | struct cardstate *cs = class_get_devdata(class); | 24 | struct cardstate *cs = dev_get_drvdata(dev); |
24 | 25 | ||
25 | spin_lock_irqsave(&cs->lock, flags); | 26 | spin_lock_irqsave(&cs->lock, flags); |
26 | ret = sprintf(buf, "%u\n", cs->cidmode); | 27 | ret = sprintf(buf, "%u\n", cs->cidmode); |
@@ -29,10 +30,10 @@ static ssize_t show_cidmode(struct class_device *class, char *buf) | |||
29 | return ret; | 30 | return ret; |
30 | } | 31 | } |
31 | 32 | ||
32 | static ssize_t set_cidmode(struct class_device *class, | 33 | static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr, |
33 | const char *buf, size_t count) | 34 | const char *buf, size_t count) |
34 | { | 35 | { |
35 | struct cardstate *cs = class_get_devdata(class); | 36 | struct cardstate *cs = dev_get_drvdata(dev); |
36 | long int value; | 37 | long int value; |
37 | char *end; | 38 | char *end; |
38 | 39 | ||
@@ -64,25 +65,25 @@ static ssize_t set_cidmode(struct class_device *class, | |||
64 | return count; | 65 | return count; |
65 | } | 66 | } |
66 | 67 | ||
67 | static CLASS_DEVICE_ATTR(cidmode, S_IRUGO|S_IWUSR, show_cidmode, set_cidmode); | 68 | static DEVICE_ATTR(cidmode, S_IRUGO|S_IWUSR, show_cidmode, set_cidmode); |
68 | 69 | ||
69 | /* free sysfs for device */ | 70 | /* free sysfs for device */ |
70 | void gigaset_free_dev_sysfs(struct cardstate *cs) | 71 | void gigaset_free_dev_sysfs(struct cardstate *cs) |
71 | { | 72 | { |
72 | if (!cs->class) | 73 | if (!cs->tty_dev) |
73 | return; | 74 | return; |
74 | 75 | ||
75 | gig_dbg(DEBUG_INIT, "removing sysfs entries"); | 76 | gig_dbg(DEBUG_INIT, "removing sysfs entries"); |
76 | class_device_remove_file(cs->class, &class_device_attr_cidmode); | 77 | device_remove_file(cs->tty_dev, &dev_attr_cidmode); |
77 | } | 78 | } |
78 | 79 | ||
79 | /* initialize sysfs for device */ | 80 | /* initialize sysfs for device */ |
80 | void gigaset_init_dev_sysfs(struct cardstate *cs) | 81 | void gigaset_init_dev_sysfs(struct cardstate *cs) |
81 | { | 82 | { |
82 | if (!cs->class) | 83 | if (!cs->tty_dev) |
83 | return; | 84 | return; |
84 | 85 | ||
85 | gig_dbg(DEBUG_INIT, "setting up sysfs"); | 86 | gig_dbg(DEBUG_INIT, "setting up sysfs"); |
86 | if (class_device_create_file(cs->class, &class_device_attr_cidmode)) | 87 | if (device_create_file(cs->tty_dev, &dev_attr_cidmode)) |
87 | dev_err(cs->dev, "could not create sysfs attribute\n"); | 88 | dev_err(cs->dev, "could not create sysfs attribute\n"); |
88 | } | 89 | } |
diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/isdn/gigaset/usb-gigaset.c index 4ffa9eb1c28e..5ebf49ac9b23 100644 --- a/drivers/isdn/gigaset/usb-gigaset.c +++ b/drivers/isdn/gigaset/usb-gigaset.c | |||
@@ -815,14 +815,11 @@ static int gigaset_probe(struct usb_interface *interface, | |||
815 | return 0; | 815 | return 0; |
816 | 816 | ||
817 | error: | 817 | error: |
818 | if (ucs->read_urb) | 818 | usb_kill_urb(ucs->read_urb); |
819 | usb_kill_urb(ucs->read_urb); | ||
820 | kfree(ucs->bulk_out_buffer); | 819 | kfree(ucs->bulk_out_buffer); |
821 | if (ucs->bulk_out_urb != NULL) | 820 | usb_free_urb(ucs->bulk_out_urb); |
822 | usb_free_urb(ucs->bulk_out_urb); | ||
823 | kfree(cs->inbuf[0].rcvbuf); | 821 | kfree(cs->inbuf[0].rcvbuf); |
824 | if (ucs->read_urb != NULL) | 822 | usb_free_urb(ucs->read_urb); |
825 | usb_free_urb(ucs->read_urb); | ||
826 | usb_set_intfdata(interface, NULL); | 823 | usb_set_intfdata(interface, NULL); |
827 | ucs->read_urb = ucs->bulk_out_urb = NULL; | 824 | ucs->read_urb = ucs->bulk_out_urb = NULL; |
828 | cs->inbuf[0].rcvbuf = ucs->bulk_out_buffer = NULL; | 825 | cs->inbuf[0].rcvbuf = ucs->bulk_out_buffer = NULL; |
@@ -850,11 +847,9 @@ static void gigaset_disconnect(struct usb_interface *interface) | |||
850 | usb_kill_urb(ucs->bulk_out_urb); /* FIXME: only if active? */ | 847 | usb_kill_urb(ucs->bulk_out_urb); /* FIXME: only if active? */ |
851 | 848 | ||
852 | kfree(ucs->bulk_out_buffer); | 849 | kfree(ucs->bulk_out_buffer); |
853 | if (ucs->bulk_out_urb != NULL) | 850 | usb_free_urb(ucs->bulk_out_urb); |
854 | usb_free_urb(ucs->bulk_out_urb); | ||
855 | kfree(cs->inbuf[0].rcvbuf); | 851 | kfree(cs->inbuf[0].rcvbuf); |
856 | if (ucs->read_urb != NULL) | 852 | usb_free_urb(ucs->read_urb); |
857 | usb_free_urb(ucs->read_urb); | ||
858 | ucs->read_urb = ucs->bulk_out_urb = NULL; | 853 | ucs->read_urb = ucs->bulk_out_urb = NULL; |
859 | cs->inbuf[0].rcvbuf = ucs->bulk_out_buffer = NULL; | 854 | cs->inbuf[0].rcvbuf = ucs->bulk_out_buffer = NULL; |
860 | 855 | ||