diff options
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/capi/capi.c | 5 | ||||
-rw-r--r-- | drivers/isdn/gigaset/bas-gigaset.c | 4 | ||||
-rw-r--r-- | drivers/isdn/gigaset/common.c | 6 | ||||
-rw-r--r-- | drivers/isdn/gigaset/gigaset.h | 3 | ||||
-rw-r--r-- | drivers/isdn/gigaset/interface.c | 6 | ||||
-rw-r--r-- | drivers/isdn/gigaset/usb-gigaset.c | 4 | ||||
-rw-r--r-- | drivers/isdn/hardware/avm/b1pcmcia.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hardware/eicon/divamnt.c | 3 | ||||
-rw-r--r-- | drivers/isdn/hardware/eicon/divasi.c | 3 | ||||
-rw-r--r-- | drivers/isdn/hardware/eicon/divasmain.c | 3 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_pci.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/sedlbauer_cs.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/teles3.c | 1 | ||||
-rw-r--r-- | drivers/isdn/hisax/telespci.c | 5 | ||||
-rw-r--r-- | drivers/isdn/i4l/isdn_common.c | 18 | ||||
-rw-r--r-- | drivers/isdn/i4l/isdn_tty.c | 5 | ||||
-rw-r--r-- | drivers/isdn/i4l/isdn_x25iface.c | 4 |
17 files changed, 36 insertions, 40 deletions
diff --git a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c index 2e541fa02024..a518ec531021 100644 --- a/drivers/isdn/capi/capi.c +++ b/drivers/isdn/capi/capi.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <linux/init.h> | 39 | #include <linux/init.h> |
40 | #include <linux/device.h> | 40 | #include <linux/device.h> |
41 | #include <linux/moduleparam.h> | 41 | #include <linux/moduleparam.h> |
42 | #include <linux/devfs_fs_kernel.h> | ||
43 | #include <linux/isdn/capiutil.h> | 42 | #include <linux/isdn/capiutil.h> |
44 | #include <linux/isdn/capicmd.h> | 43 | #include <linux/isdn/capicmd.h> |
45 | #if defined(CONFIG_ISDN_CAPI_CAPIFS) || defined(CONFIG_ISDN_CAPI_CAPIFS_MODULE) | 44 | #if defined(CONFIG_ISDN_CAPI_CAPIFS) || defined(CONFIG_ISDN_CAPI_CAPIFS_MODULE) |
@@ -1337,7 +1336,6 @@ static int capinc_tty_init(void) | |||
1337 | 1336 | ||
1338 | drv->owner = THIS_MODULE; | 1337 | drv->owner = THIS_MODULE; |
1339 | drv->driver_name = "capi_nc"; | 1338 | drv->driver_name = "capi_nc"; |
1340 | drv->devfs_name = "capi/"; | ||
1341 | drv->name = "capi"; | 1339 | drv->name = "capi"; |
1342 | drv->major = capi_ttymajor; | 1340 | drv->major = capi_ttymajor; |
1343 | drv->minor_start = 0; | 1341 | drv->minor_start = 0; |
@@ -1516,8 +1514,6 @@ static int __init capi_init(void) | |||
1516 | } | 1514 | } |
1517 | 1515 | ||
1518 | class_device_create(capi_class, NULL, MKDEV(capi_major, 0), NULL, "capi"); | 1516 | class_device_create(capi_class, NULL, MKDEV(capi_major, 0), NULL, "capi"); |
1519 | devfs_mk_cdev(MKDEV(capi_major, 0), S_IFCHR | S_IRUSR | S_IWUSR, | ||
1520 | "isdn/capi20"); | ||
1521 | 1517 | ||
1522 | #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE | 1518 | #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE |
1523 | if (capinc_tty_init() < 0) { | 1519 | if (capinc_tty_init() < 0) { |
@@ -1552,7 +1548,6 @@ static void __exit capi_exit(void) | |||
1552 | class_device_destroy(capi_class, MKDEV(capi_major, 0)); | 1548 | class_device_destroy(capi_class, MKDEV(capi_major, 0)); |
1553 | class_destroy(capi_class); | 1549 | class_destroy(capi_class); |
1554 | unregister_chrdev(capi_major, "capi20"); | 1550 | unregister_chrdev(capi_major, "capi20"); |
1555 | devfs_remove("isdn/capi20"); | ||
1556 | 1551 | ||
1557 | #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE | 1552 | #ifdef CONFIG_ISDN_CAPI_MIDDLEWARE |
1558 | capinc_tty_exit(); | 1553 | capinc_tty_exit(); |
diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c index 8a45715dd4c1..3845defd4901 100644 --- a/drivers/isdn/gigaset/bas-gigaset.c +++ b/drivers/isdn/gigaset/bas-gigaset.c | |||
@@ -41,7 +41,6 @@ MODULE_PARM_DESC(cidmode, "Call-ID mode"); | |||
41 | #define GIGASET_MINORS 1 | 41 | #define GIGASET_MINORS 1 |
42 | #define GIGASET_MINOR 16 | 42 | #define GIGASET_MINOR 16 |
43 | #define GIGASET_MODULENAME "bas_gigaset" | 43 | #define GIGASET_MODULENAME "bas_gigaset" |
44 | #define GIGASET_DEVFSNAME "gig/bas/" | ||
45 | #define GIGASET_DEVNAME "ttyGB" | 44 | #define GIGASET_DEVNAME "ttyGB" |
46 | 45 | ||
47 | /* length limit according to Siemens 3070usb-protokoll.doc ch. 2.1 */ | 46 | /* length limit according to Siemens 3070usb-protokoll.doc ch. 2.1 */ |
@@ -2349,8 +2348,7 @@ static int __init bas_gigaset_init(void) | |||
2349 | /* allocate memory for our driver state and intialize it */ | 2348 | /* allocate memory for our driver state and intialize it */ |
2350 | if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS, | 2349 | if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS, |
2351 | GIGASET_MODULENAME, GIGASET_DEVNAME, | 2350 | GIGASET_MODULENAME, GIGASET_DEVNAME, |
2352 | GIGASET_DEVFSNAME, &gigops, | 2351 | &gigops, THIS_MODULE)) == NULL) |
2353 | THIS_MODULE)) == NULL) | ||
2354 | goto error; | 2352 | goto error; |
2355 | 2353 | ||
2356 | /* allocate memory for our device state and intialize it */ | 2354 | /* allocate memory for our device state and intialize it */ |
diff --git a/drivers/isdn/gigaset/common.c b/drivers/isdn/gigaset/common.c index acb7e2656780..aca165d43aa0 100644 --- a/drivers/isdn/gigaset/common.c +++ b/drivers/isdn/gigaset/common.c | |||
@@ -981,7 +981,7 @@ exit: | |||
981 | EXPORT_SYMBOL_GPL(gigaset_stop); | 981 | EXPORT_SYMBOL_GPL(gigaset_stop); |
982 | 982 | ||
983 | static LIST_HEAD(drivers); | 983 | static LIST_HEAD(drivers); |
984 | static spinlock_t driver_lock = SPIN_LOCK_UNLOCKED; | 984 | static DEFINE_SPINLOCK(driver_lock); |
985 | 985 | ||
986 | struct cardstate *gigaset_get_cs_by_id(int id) | 986 | struct cardstate *gigaset_get_cs_by_id(int id) |
987 | { | 987 | { |
@@ -1092,14 +1092,12 @@ EXPORT_SYMBOL_GPL(gigaset_freedriver); | |||
1092 | * minors Number of minors this driver can handle | 1092 | * minors Number of minors this driver can handle |
1093 | * procname Name of the driver | 1093 | * procname Name of the driver |
1094 | * devname Name of the device files (prefix without minor number) | 1094 | * devname Name of the device files (prefix without minor number) |
1095 | * devfsname Devfs name of the device files without %d | ||
1096 | * return value: | 1095 | * return value: |
1097 | * Pointer to the gigaset_driver structure on success, NULL on failure. | 1096 | * Pointer to the gigaset_driver structure on success, NULL on failure. |
1098 | */ | 1097 | */ |
1099 | struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, | 1098 | struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, |
1100 | const char *procname, | 1099 | const char *procname, |
1101 | const char *devname, | 1100 | const char *devname, |
1102 | const char *devfsname, | ||
1103 | const struct gigaset_ops *ops, | 1101 | const struct gigaset_ops *ops, |
1104 | struct module *owner) | 1102 | struct module *owner) |
1105 | { | 1103 | { |
@@ -1139,7 +1137,7 @@ struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, | |||
1139 | drv->cs[i].minor_index = i; | 1137 | drv->cs[i].minor_index = i; |
1140 | } | 1138 | } |
1141 | 1139 | ||
1142 | gigaset_if_initdriver(drv, procname, devname, devfsname); | 1140 | gigaset_if_initdriver(drv, procname, devname); |
1143 | 1141 | ||
1144 | spin_lock_irqsave(&driver_lock, flags); | 1142 | spin_lock_irqsave(&driver_lock, flags); |
1145 | list_add(&drv->list, &drivers); | 1143 | list_add(&drv->list, &drivers); |
diff --git a/drivers/isdn/gigaset/gigaset.h b/drivers/isdn/gigaset/gigaset.h index 8d63d822104f..1ca3bfdef51d 100644 --- a/drivers/isdn/gigaset/gigaset.h +++ b/drivers/isdn/gigaset/gigaset.h | |||
@@ -769,7 +769,6 @@ void gigaset_block_channels(struct cardstate *cs); | |||
769 | struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, | 769 | struct gigaset_driver *gigaset_initdriver(unsigned minor, unsigned minors, |
770 | const char *procname, | 770 | const char *procname, |
771 | const char *devname, | 771 | const char *devname, |
772 | const char *devfsname, | ||
773 | const struct gigaset_ops *ops, | 772 | const struct gigaset_ops *ops, |
774 | struct module *owner); | 773 | struct module *owner); |
775 | 774 | ||
@@ -892,7 +891,7 @@ int gigaset_fill_inbuf(struct inbuf_t *inbuf, const unsigned char *src, | |||
892 | 891 | ||
893 | /* initialize interface */ | 892 | /* initialize interface */ |
894 | void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, | 893 | void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, |
895 | const char *devname, const char *devfsname); | 894 | const char *devname); |
896 | /* release interface */ | 895 | /* release interface */ |
897 | void gigaset_if_freedriver(struct gigaset_driver *drv); | 896 | void gigaset_if_freedriver(struct gigaset_driver *drv); |
898 | /* add minor */ | 897 | /* add minor */ |
diff --git a/drivers/isdn/gigaset/interface.c b/drivers/isdn/gigaset/interface.c index 74fd234956c8..bd2e4267528e 100644 --- a/drivers/isdn/gigaset/interface.c +++ b/drivers/isdn/gigaset/interface.c | |||
@@ -673,10 +673,9 @@ EXPORT_SYMBOL_GPL(gigaset_if_receive); | |||
673 | * drv Driver | 673 | * drv Driver |
674 | * procname Name of the driver (e.g. for /proc/tty/drivers) | 674 | * procname Name of the driver (e.g. for /proc/tty/drivers) |
675 | * devname Name of the device files (prefix without minor number) | 675 | * devname Name of the device files (prefix without minor number) |
676 | * devfsname Devfs name of the device files without %d | ||
677 | */ | 676 | */ |
678 | void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, | 677 | void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, |
679 | const char *devname, const char *devfsname) | 678 | const char *devname) |
680 | { | 679 | { |
681 | unsigned minors = drv->minors; | 680 | unsigned minors = drv->minors; |
682 | int ret; | 681 | int ret; |
@@ -692,7 +691,7 @@ void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, | |||
692 | tty->major = GIG_MAJOR, | 691 | tty->major = GIG_MAJOR, |
693 | tty->type = TTY_DRIVER_TYPE_SERIAL, | 692 | tty->type = TTY_DRIVER_TYPE_SERIAL, |
694 | tty->subtype = SERIAL_TYPE_NORMAL, | 693 | tty->subtype = SERIAL_TYPE_NORMAL, |
695 | tty->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS, | 694 | tty->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; |
696 | 695 | ||
697 | tty->driver_name = procname; | 696 | tty->driver_name = procname; |
698 | tty->name = devname; | 697 | tty->name = devname; |
@@ -700,7 +699,6 @@ void gigaset_if_initdriver(struct gigaset_driver *drv, const char *procname, | |||
700 | tty->num = drv->minors; | 699 | tty->num = drv->minors; |
701 | 700 | ||
702 | tty->owner = THIS_MODULE; | 701 | tty->owner = THIS_MODULE; |
703 | tty->devfs_name = devfsname; | ||
704 | 702 | ||
705 | tty->init_termios = tty_std_termios; //FIXME | 703 | tty->init_termios = tty_std_termios; //FIXME |
706 | tty->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; //FIXME | 704 | tty->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; //FIXME |
diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/isdn/gigaset/usb-gigaset.c index d86ab68114b0..6e05d9d4a51a 100644 --- a/drivers/isdn/gigaset/usb-gigaset.c +++ b/drivers/isdn/gigaset/usb-gigaset.c | |||
@@ -41,7 +41,6 @@ MODULE_PARM_DESC(cidmode, "Call-ID mode"); | |||
41 | #define GIGASET_MINORS 1 | 41 | #define GIGASET_MINORS 1 |
42 | #define GIGASET_MINOR 8 | 42 | #define GIGASET_MINOR 8 |
43 | #define GIGASET_MODULENAME "usb_gigaset" | 43 | #define GIGASET_MODULENAME "usb_gigaset" |
44 | #define GIGASET_DEVFSNAME "gig/usb/" | ||
45 | #define GIGASET_DEVNAME "ttyGU" | 44 | #define GIGASET_DEVNAME "ttyGU" |
46 | 45 | ||
47 | #define IF_WRITEBUF 2000 //FIXME // WAKEUP_CHARS: 256 | 46 | #define IF_WRITEBUF 2000 //FIXME // WAKEUP_CHARS: 256 |
@@ -896,8 +895,7 @@ static int __init usb_gigaset_init(void) | |||
896 | /* allocate memory for our driver state and intialize it */ | 895 | /* allocate memory for our driver state and intialize it */ |
897 | if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS, | 896 | if ((driver = gigaset_initdriver(GIGASET_MINOR, GIGASET_MINORS, |
898 | GIGASET_MODULENAME, GIGASET_DEVNAME, | 897 | GIGASET_MODULENAME, GIGASET_DEVNAME, |
899 | GIGASET_DEVFSNAME, &ops, | 898 | &ops, THIS_MODULE)) == NULL) |
900 | THIS_MODULE)) == NULL) | ||
901 | goto error; | 899 | goto error; |
902 | 900 | ||
903 | /* allocate memory for our device state and intialize it */ | 901 | /* allocate memory for our device state and intialize it */ |
diff --git a/drivers/isdn/hardware/avm/b1pcmcia.c b/drivers/isdn/hardware/avm/b1pcmcia.c index 9746cc5ffff8..ad5025155b4e 100644 --- a/drivers/isdn/hardware/avm/b1pcmcia.c +++ b/drivers/isdn/hardware/avm/b1pcmcia.c | |||
@@ -82,7 +82,7 @@ static int b1pcmcia_add_card(unsigned int port, unsigned irq, | |||
82 | card->irq = irq; | 82 | card->irq = irq; |
83 | card->cardtype = cardtype; | 83 | card->cardtype = cardtype; |
84 | 84 | ||
85 | retval = request_irq(card->irq, b1_interrupt, 0, card->name, card); | 85 | retval = request_irq(card->irq, b1_interrupt, SA_SHIRQ, card->name, card); |
86 | if (retval) { | 86 | if (retval) { |
87 | printk(KERN_ERR "b1pcmcia: unable to get IRQ %d.\n", | 87 | printk(KERN_ERR "b1pcmcia: unable to get IRQ %d.\n", |
88 | card->irq); | 88 | card->irq); |
diff --git a/drivers/isdn/hardware/eicon/divamnt.c b/drivers/isdn/hardware/eicon/divamnt.c index 6146f7633be5..b163c5909182 100644 --- a/drivers/isdn/hardware/eicon/divamnt.c +++ b/drivers/isdn/hardware/eicon/divamnt.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/smp_lock.h> | 18 | #include <linux/smp_lock.h> |
19 | #include <linux/poll.h> | 19 | #include <linux/poll.h> |
20 | #include <linux/devfs_fs_kernel.h> | ||
21 | #include <asm/uaccess.h> | 20 | #include <asm/uaccess.h> |
22 | 21 | ||
23 | #include "platform.h" | 22 | #include "platform.h" |
@@ -178,7 +177,6 @@ static struct file_operations divas_maint_fops = { | |||
178 | 177 | ||
179 | static void divas_maint_unregister_chrdev(void) | 178 | static void divas_maint_unregister_chrdev(void) |
180 | { | 179 | { |
181 | devfs_remove(DEVNAME); | ||
182 | unregister_chrdev(major, DEVNAME); | 180 | unregister_chrdev(major, DEVNAME); |
183 | } | 181 | } |
184 | 182 | ||
@@ -190,7 +188,6 @@ static int DIVA_INIT_FUNCTION divas_maint_register_chrdev(void) | |||
190 | DRIVERLNAME); | 188 | DRIVERLNAME); |
191 | return (0); | 189 | return (0); |
192 | } | 190 | } |
193 | devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME); | ||
194 | 191 | ||
195 | return (1); | 192 | return (1); |
196 | } | 193 | } |
diff --git a/drivers/isdn/hardware/eicon/divasi.c b/drivers/isdn/hardware/eicon/divasi.c index df715b47e2b4..6e7d89a31c1d 100644 --- a/drivers/isdn/hardware/eicon/divasi.c +++ b/drivers/isdn/hardware/eicon/divasi.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/poll.h> | 19 | #include <linux/poll.h> |
20 | #include <linux/proc_fs.h> | 20 | #include <linux/proc_fs.h> |
21 | #include <linux/skbuff.h> | 21 | #include <linux/skbuff.h> |
22 | #include <linux/devfs_fs_kernel.h> | ||
23 | #include <asm/uaccess.h> | 22 | #include <asm/uaccess.h> |
24 | 23 | ||
25 | #include "platform.h" | 24 | #include "platform.h" |
@@ -145,7 +144,6 @@ static struct file_operations divas_idi_fops = { | |||
145 | 144 | ||
146 | static void divas_idi_unregister_chrdev(void) | 145 | static void divas_idi_unregister_chrdev(void) |
147 | { | 146 | { |
148 | devfs_remove(DEVNAME); | ||
149 | unregister_chrdev(major, DEVNAME); | 147 | unregister_chrdev(major, DEVNAME); |
150 | } | 148 | } |
151 | 149 | ||
@@ -157,7 +155,6 @@ static int DIVA_INIT_FUNCTION divas_idi_register_chrdev(void) | |||
157 | DRIVERLNAME); | 155 | DRIVERLNAME); |
158 | return (0); | 156 | return (0); |
159 | } | 157 | } |
160 | devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME); | ||
161 | 158 | ||
162 | return (1); | 159 | return (1); |
163 | } | 160 | } |
diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c index c9b26e86d183..9dee6a39104c 100644 --- a/drivers/isdn/hardware/eicon/divasmain.c +++ b/drivers/isdn/hardware/eicon/divasmain.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
17 | #include <linux/devfs_fs_kernel.h> | ||
18 | #include <asm/uaccess.h> | 17 | #include <asm/uaccess.h> |
19 | #include <asm/io.h> | 18 | #include <asm/io.h> |
20 | #include <linux/ioport.h> | 19 | #include <linux/ioport.h> |
@@ -678,7 +677,6 @@ static struct file_operations divas_fops = { | |||
678 | 677 | ||
679 | static void divas_unregister_chrdev(void) | 678 | static void divas_unregister_chrdev(void) |
680 | { | 679 | { |
681 | devfs_remove(DEVNAME); | ||
682 | unregister_chrdev(major, DEVNAME); | 680 | unregister_chrdev(major, DEVNAME); |
683 | } | 681 | } |
684 | 682 | ||
@@ -690,7 +688,6 @@ static int DIVA_INIT_FUNCTION divas_register_chrdev(void) | |||
690 | DRIVERLNAME); | 688 | DRIVERLNAME); |
691 | return (0); | 689 | return (0); |
692 | } | 690 | } |
693 | devfs_mk_cdev(MKDEV(major, 0), S_IFCHR|S_IRUSR|S_IWUSR, DEVNAME); | ||
694 | 691 | ||
695 | return (1); | 692 | return (1); |
696 | } | 693 | } |
diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c index 91d25acb5ede..3622720f0505 100644 --- a/drivers/isdn/hisax/hfc_pci.c +++ b/drivers/isdn/hisax/hfc_pci.c | |||
@@ -1688,7 +1688,7 @@ setup_hfcpci(struct IsdnCard *card) | |||
1688 | printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n"); | 1688 | printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n"); |
1689 | return (0); | 1689 | return (0); |
1690 | } | 1690 | } |
1691 | cs->hw.hfcpci.pci_io = (char *) dev_hfcpci->resource[ 1].start; | 1691 | cs->hw.hfcpci.pci_io = (char *)(unsigned long)dev_hfcpci->resource[1].start; |
1692 | printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name); | 1692 | printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name); |
1693 | } else { | 1693 | } else { |
1694 | printk(KERN_WARNING "HFC-PCI: No PCI card found\n"); | 1694 | printk(KERN_WARNING "HFC-PCI: No PCI card found\n"); |
diff --git a/drivers/isdn/hisax/sedlbauer_cs.c b/drivers/isdn/hisax/sedlbauer_cs.c index 9bb18f3f7829..f9c14a2970bc 100644 --- a/drivers/isdn/hisax/sedlbauer_cs.c +++ b/drivers/isdn/hisax/sedlbauer_cs.c | |||
@@ -164,7 +164,7 @@ static int sedlbauer_probe(struct pcmcia_device *link) | |||
164 | link->priv = local; | 164 | link->priv = local; |
165 | 165 | ||
166 | /* Interrupt setup */ | 166 | /* Interrupt setup */ |
167 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE; | 167 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED; |
168 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; | 168 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; |
169 | link->irq.Handler = NULL; | 169 | link->irq.Handler = NULL; |
170 | 170 | ||
diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c index a3eaf4d65707..090abd16b4bc 100644 --- a/drivers/isdn/hisax/teles3.c +++ b/drivers/isdn/hisax/teles3.c | |||
@@ -369,6 +369,7 @@ setup_teles3(struct IsdnCard *card) | |||
369 | cs->hw.teles3.hscx[1] + 96); | 369 | cs->hw.teles3.hscx[1] + 96); |
370 | return (0); | 370 | return (0); |
371 | } | 371 | } |
372 | cs->irq_flags |= SA_SHIRQ; /* cardbus can share */ | ||
372 | } else { | 373 | } else { |
373 | if (cs->hw.teles3.cfg_reg) { | 374 | if (cs->hw.teles3.cfg_reg) { |
374 | if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) { | 375 | if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) { |
diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c index e2bb4fd8e25e..e82ab2251b82 100644 --- a/drivers/isdn/hisax/telespci.c +++ b/drivers/isdn/hisax/telespci.c | |||
@@ -311,8 +311,9 @@ setup_telespci(struct IsdnCard *card) | |||
311 | } | 311 | } |
312 | cs->hw.teles0.membase = ioremap(pci_resource_start(dev_tel, 0), | 312 | cs->hw.teles0.membase = ioremap(pci_resource_start(dev_tel, 0), |
313 | PAGE_SIZE); | 313 | PAGE_SIZE); |
314 | printk(KERN_INFO "Found: Zoran, base-address: 0x%lx, irq: 0x%x\n", | 314 | printk(KERN_INFO "Found: Zoran, base-address: 0x%llx, irq: 0x%x\n", |
315 | pci_resource_start(dev_tel, 0), dev_tel->irq); | 315 | (unsigned long long)pci_resource_start(dev_tel, 0), |
316 | dev_tel->irq); | ||
316 | } else { | 317 | } else { |
317 | printk(KERN_WARNING "TelesPCI: No PCI card found\n"); | 318 | printk(KERN_WARNING "TelesPCI: No PCI card found\n"); |
318 | return(0); | 319 | return(0); |
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index b26e509ec759..eb21063e6f63 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c | |||
@@ -340,6 +340,16 @@ isdn_command(isdn_ctrl *cmd) | |||
340 | printk(KERN_WARNING "isdn_command command(%x) driver -1\n", cmd->command); | 340 | printk(KERN_WARNING "isdn_command command(%x) driver -1\n", cmd->command); |
341 | return(1); | 341 | return(1); |
342 | } | 342 | } |
343 | if (!dev->drv[cmd->driver]) { | ||
344 | printk(KERN_WARNING "isdn_command command(%x) dev->drv[%d] NULL\n", | ||
345 | cmd->command, cmd->driver); | ||
346 | return(1); | ||
347 | } | ||
348 | if (!dev->drv[cmd->driver]->interface) { | ||
349 | printk(KERN_WARNING "isdn_command command(%x) dev->drv[%d]->interface NULL\n", | ||
350 | cmd->command, cmd->driver); | ||
351 | return(1); | ||
352 | } | ||
343 | if (cmd->command == ISDN_CMD_SETL2) { | 353 | if (cmd->command == ISDN_CMD_SETL2) { |
344 | int idx = isdn_dc2minor(cmd->driver, cmd->arg & 255); | 354 | int idx = isdn_dc2minor(cmd->driver, cmd->arg & 255); |
345 | unsigned long l2prot = (cmd->arg >> 8) & 255; | 355 | unsigned long l2prot = (cmd->arg >> 8) & 255; |
@@ -1903,6 +1913,11 @@ isdn_free_channel(int di, int ch, int usage) | |||
1903 | { | 1913 | { |
1904 | int i; | 1914 | int i; |
1905 | 1915 | ||
1916 | if ((di < 0) || (ch < 0)) { | ||
1917 | printk(KERN_WARNING "%s: called with invalid drv(%d) or channel(%d)\n", | ||
1918 | __FUNCTION__, di, ch); | ||
1919 | return; | ||
1920 | } | ||
1906 | for (i = 0; i < ISDN_MAX_CHANNELS; i++) | 1921 | for (i = 0; i < ISDN_MAX_CHANNELS; i++) |
1907 | if (((!usage) || ((dev->usage[i] & ISDN_USAGE_MASK) == usage)) && | 1922 | if (((!usage) || ((dev->usage[i] & ISDN_USAGE_MASK) == usage)) && |
1908 | (dev->drvmap[i] == di) && | 1923 | (dev->drvmap[i] == di) && |
@@ -1918,7 +1933,8 @@ isdn_free_channel(int di, int ch, int usage) | |||
1918 | dev->v110[i] = NULL; | 1933 | dev->v110[i] = NULL; |
1919 | // 20.10.99 JIM, try to reinitialize v110 ! | 1934 | // 20.10.99 JIM, try to reinitialize v110 ! |
1920 | isdn_info_update(); | 1935 | isdn_info_update(); |
1921 | skb_queue_purge(&dev->drv[di]->rpqueue[ch]); | 1936 | if (dev->drv[di]) |
1937 | skb_queue_purge(&dev->drv[di]->rpqueue[ch]); | ||
1922 | } | 1938 | } |
1923 | } | 1939 | } |
1924 | 1940 | ||
diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index 2ac90242d263..0a53a990c100 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c | |||
@@ -82,7 +82,7 @@ isdn_tty_try_read(modem_info * info, struct sk_buff *skb) | |||
82 | int l = skb->len; | 82 | int l = skb->len; |
83 | unsigned char *dp = skb->data; | 83 | unsigned char *dp = skb->data; |
84 | while (--l) { | 84 | while (--l) { |
85 | if (*skb->data == DLE) | 85 | if (*dp == DLE) |
86 | tty_insert_flip_char(tty, DLE, 0); | 86 | tty_insert_flip_char(tty, DLE, 0); |
87 | tty_insert_flip_char(tty, *dp++, 0); | 87 | tty_insert_flip_char(tty, *dp++, 0); |
88 | } | 88 | } |
@@ -1890,14 +1890,13 @@ isdn_tty_modem_init(void) | |||
1890 | if (!m->tty_modem) | 1890 | if (!m->tty_modem) |
1891 | return -ENOMEM; | 1891 | return -ENOMEM; |
1892 | m->tty_modem->name = "ttyI"; | 1892 | m->tty_modem->name = "ttyI"; |
1893 | m->tty_modem->devfs_name = "isdn/ttyI"; | ||
1894 | m->tty_modem->major = ISDN_TTY_MAJOR; | 1893 | m->tty_modem->major = ISDN_TTY_MAJOR; |
1895 | m->tty_modem->minor_start = 0; | 1894 | m->tty_modem->minor_start = 0; |
1896 | m->tty_modem->type = TTY_DRIVER_TYPE_SERIAL; | 1895 | m->tty_modem->type = TTY_DRIVER_TYPE_SERIAL; |
1897 | m->tty_modem->subtype = SERIAL_TYPE_NORMAL; | 1896 | m->tty_modem->subtype = SERIAL_TYPE_NORMAL; |
1898 | m->tty_modem->init_termios = tty_std_termios; | 1897 | m->tty_modem->init_termios = tty_std_termios; |
1899 | m->tty_modem->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 1898 | m->tty_modem->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
1900 | m->tty_modem->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; | 1899 | m->tty_modem->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; |
1901 | m->tty_modem->driver_name = "isdn_tty"; | 1900 | m->tty_modem->driver_name = "isdn_tty"; |
1902 | tty_set_operations(m->tty_modem, &modem_ops); | 1901 | tty_set_operations(m->tty_modem, &modem_ops); |
1903 | retval = tty_register_driver(m->tty_modem); | 1902 | retval = tty_register_driver(m->tty_modem); |
diff --git a/drivers/isdn/i4l/isdn_x25iface.c b/drivers/isdn/i4l/isdn_x25iface.c index 743ac4077f35..8b3efc243161 100644 --- a/drivers/isdn/i4l/isdn_x25iface.c +++ b/drivers/isdn/i4l/isdn_x25iface.c | |||
@@ -208,7 +208,7 @@ static int isdn_x25iface_receive(struct concap_proto *cprot, struct sk_buff *skb | |||
208 | */ | 208 | */ |
209 | static int isdn_x25iface_connect_ind(struct concap_proto *cprot) | 209 | static int isdn_x25iface_connect_ind(struct concap_proto *cprot) |
210 | { | 210 | { |
211 | struct sk_buff * skb = dev_alloc_skb(1); | 211 | struct sk_buff * skb; |
212 | enum wan_states *state_p | 212 | enum wan_states *state_p |
213 | = &( ( (ix25_pdata_t*) (cprot->proto_data) ) -> state); | 213 | = &( ( (ix25_pdata_t*) (cprot->proto_data) ) -> state); |
214 | IX25DEBUG( "isdn_x25iface_connect_ind %s \n" | 214 | IX25DEBUG( "isdn_x25iface_connect_ind %s \n" |
@@ -220,6 +220,8 @@ static int isdn_x25iface_connect_ind(struct concap_proto *cprot) | |||
220 | return -1; | 220 | return -1; |
221 | } | 221 | } |
222 | *state_p = WAN_CONNECTED; | 222 | *state_p = WAN_CONNECTED; |
223 | |||
224 | skb = dev_alloc_skb(1); | ||
223 | if( skb ){ | 225 | if( skb ){ |
224 | *( skb_put(skb, 1) ) = 0x01; | 226 | *( skb_put(skb, 1) ) = 0x01; |
225 | skb->protocol = x25_type_trans(skb, cprot->net_dev); | 227 | skb->protocol = x25_type_trans(skb, cprot->net_dev); |