diff options
Diffstat (limited to 'drivers/parport')
-rw-r--r-- | drivers/parport/parport_pc.c | 4 | ||||
-rw-r--r-- | drivers/parport/parport_serial.c | 5 | ||||
-rw-r--r-- | drivers/parport/probe.c | 18 |
3 files changed, 9 insertions, 18 deletions
diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index e7f3bcb79000..80edfa3abd29 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c | |||
@@ -2751,7 +2751,6 @@ enum parport_pc_pci_cards { | |||
2751 | netmos_9755, | 2751 | netmos_9755, |
2752 | netmos_9805, | 2752 | netmos_9805, |
2753 | netmos_9815, | 2753 | netmos_9815, |
2754 | netmos_9855, | ||
2755 | }; | 2754 | }; |
2756 | 2755 | ||
2757 | 2756 | ||
@@ -2826,7 +2825,6 @@ static struct parport_pc_pci { | |||
2826 | /* netmos_9755 */ { 2, { { 0, 1 }, { 2, 3 },} }, /* untested */ | 2825 | /* netmos_9755 */ { 2, { { 0, 1 }, { 2, 3 },} }, /* untested */ |
2827 | /* netmos_9805 */ { 1, { { 0, -1 }, } }, /* untested */ | 2826 | /* netmos_9805 */ { 1, { { 0, -1 }, } }, /* untested */ |
2828 | /* netmos_9815 */ { 2, { { 0, -1 }, { 2, -1 }, } }, /* untested */ | 2827 | /* netmos_9815 */ { 2, { { 0, -1 }, { 2, -1 }, } }, /* untested */ |
2829 | /* netmos_9855 */ { 2, { { 0, -1 }, { 2, -1 }, } }, /* untested */ | ||
2830 | }; | 2828 | }; |
2831 | 2829 | ||
2832 | static struct pci_device_id parport_pc_pci_tbl[] = { | 2830 | static struct pci_device_id parport_pc_pci_tbl[] = { |
@@ -2907,8 +2905,6 @@ static struct pci_device_id parport_pc_pci_tbl[] = { | |||
2907 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9805 }, | 2905 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9805 }, |
2908 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9815, | 2906 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9815, |
2909 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9815 }, | 2907 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9815 }, |
2910 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855, | ||
2911 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9855 }, | ||
2912 | { 0, } /* terminate list */ | 2908 | { 0, } /* terminate list */ |
2913 | }; | 2909 | }; |
2914 | MODULE_DEVICE_TABLE(pci,parport_pc_pci_tbl); | 2910 | MODULE_DEVICE_TABLE(pci,parport_pc_pci_tbl); |
diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c index 6715a17b5d0f..00498e2f1205 100644 --- a/drivers/parport/parport_serial.c +++ b/drivers/parport/parport_serial.c | |||
@@ -34,6 +34,7 @@ enum parport_pc_pci_cards { | |||
34 | titan_110l = 0, | 34 | titan_110l = 0, |
35 | titan_210l, | 35 | titan_210l, |
36 | netmos_9xx5_combo, | 36 | netmos_9xx5_combo, |
37 | netmos_9855, | ||
37 | avlab_1s1p, | 38 | avlab_1s1p, |
38 | avlab_1s1p_650, | 39 | avlab_1s1p_650, |
39 | avlab_1s1p_850, | 40 | avlab_1s1p_850, |
@@ -87,6 +88,7 @@ static struct parport_pc_pci cards[] __devinitdata = { | |||
87 | /* titan_110l */ { 1, { { 3, -1 }, } }, | 88 | /* titan_110l */ { 1, { { 3, -1 }, } }, |
88 | /* titan_210l */ { 1, { { 3, -1 }, } }, | 89 | /* titan_210l */ { 1, { { 3, -1 }, } }, |
89 | /* netmos_9xx5_combo */ { 1, { { 2, -1 }, }, netmos_parallel_init }, | 90 | /* netmos_9xx5_combo */ { 1, { { 2, -1 }, }, netmos_parallel_init }, |
91 | /* netmos_9855 */ { 1, { { 0, -1 }, }, netmos_parallel_init }, | ||
90 | /* avlab_1s1p */ { 1, { { 1, 2}, } }, | 92 | /* avlab_1s1p */ { 1, { { 1, 2}, } }, |
91 | /* avlab_1s1p_650 */ { 1, { { 1, 2}, } }, | 93 | /* avlab_1s1p_650 */ { 1, { { 1, 2}, } }, |
92 | /* avlab_1s1p_850 */ { 1, { { 1, 2}, } }, | 94 | /* avlab_1s1p_850 */ { 1, { { 1, 2}, } }, |
@@ -120,7 +122,7 @@ static struct pci_device_id parport_serial_pci_tbl[] = { | |||
120 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9845, | 122 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9845, |
121 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9xx5_combo }, | 123 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9xx5_combo }, |
122 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855, | 124 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855, |
123 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9xx5_combo }, | 125 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9855 }, |
124 | /* PCI_VENDOR_ID_AVLAB/Intek21 has another bunch of cards ...*/ | 126 | /* PCI_VENDOR_ID_AVLAB/Intek21 has another bunch of cards ...*/ |
125 | { 0x14db, 0x2110, PCI_ANY_ID, PCI_ANY_ID, 0, 0, avlab_1s1p}, | 127 | { 0x14db, 0x2110, PCI_ANY_ID, PCI_ANY_ID, 0, 0, avlab_1s1p}, |
126 | { 0x14db, 0x2111, PCI_ANY_ID, PCI_ANY_ID, 0, 0, avlab_1s1p_650}, | 128 | { 0x14db, 0x2111, PCI_ANY_ID, PCI_ANY_ID, 0, 0, avlab_1s1p_650}, |
@@ -207,6 +209,7 @@ static struct pci_board_no_ids pci_boards[] __devinitdata = { | |||
207 | /* titan_110l */ { SPCI_FL_BASE1 | SPCI_FL_BASE_TABLE, 1, 921600 }, | 209 | /* titan_110l */ { SPCI_FL_BASE1 | SPCI_FL_BASE_TABLE, 1, 921600 }, |
208 | /* titan_210l */ { SPCI_FL_BASE1 | SPCI_FL_BASE_TABLE, 2, 921600 }, | 210 | /* titan_210l */ { SPCI_FL_BASE1 | SPCI_FL_BASE_TABLE, 2, 921600 }, |
209 | /* netmos_9xx5_combo */ { SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200, 0, 0, netmos_serial_init }, | 211 | /* netmos_9xx5_combo */ { SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200, 0, 0, netmos_serial_init }, |
212 | /* netmos_9855 */ { SPCI_FL_BASE2 | SPCI_FL_BASE_TABLE, 1, 115200, 0, 0, netmos_serial_init }, | ||
210 | /* avlab_1s1p (n/t) */ { SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200 }, | 213 | /* avlab_1s1p (n/t) */ { SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200 }, |
211 | /* avlab_1s1p_650 (nt)*/{ SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200 }, | 214 | /* avlab_1s1p_650 (nt)*/{ SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200 }, |
212 | /* avlab_1s1p_850 (nt)*/{ SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200 }, | 215 | /* avlab_1s1p_850 (nt)*/{ SPCI_FL_BASE0 | SPCI_FL_BASE_TABLE, 1, 115200 }, |
diff --git a/drivers/parport/probe.c b/drivers/parport/probe.c index c94963145e17..6e6f42d01e64 100644 --- a/drivers/parport/probe.c +++ b/drivers/parport/probe.c | |||
@@ -48,14 +48,6 @@ static void pretty_print(struct parport *port, int device) | |||
48 | printk("\n"); | 48 | printk("\n"); |
49 | } | 49 | } |
50 | 50 | ||
51 | static char *strdup(char *str) | ||
52 | { | ||
53 | int n = strlen(str)+1; | ||
54 | char *s = kmalloc(n, GFP_KERNEL); | ||
55 | if (!s) return NULL; | ||
56 | return strcpy(s, str); | ||
57 | } | ||
58 | |||
59 | static void parse_data(struct parport *port, int device, char *str) | 51 | static void parse_data(struct parport *port, int device, char *str) |
60 | { | 52 | { |
61 | char *txt = kmalloc(strlen(str)+1, GFP_KERNEL); | 53 | char *txt = kmalloc(strlen(str)+1, GFP_KERNEL); |
@@ -88,16 +80,16 @@ static void parse_data(struct parport *port, int device, char *str) | |||
88 | if (!strcmp(p, "MFG") || !strcmp(p, "MANUFACTURER")) { | 80 | if (!strcmp(p, "MFG") || !strcmp(p, "MANUFACTURER")) { |
89 | if (info->mfr) | 81 | if (info->mfr) |
90 | kfree (info->mfr); | 82 | kfree (info->mfr); |
91 | info->mfr = strdup(sep); | 83 | info->mfr = kstrdup(sep, GFP_KERNEL); |
92 | } else if (!strcmp(p, "MDL") || !strcmp(p, "MODEL")) { | 84 | } else if (!strcmp(p, "MDL") || !strcmp(p, "MODEL")) { |
93 | if (info->model) | 85 | if (info->model) |
94 | kfree (info->model); | 86 | kfree (info->model); |
95 | info->model = strdup(sep); | 87 | info->model = kstrdup(sep, GFP_KERNEL); |
96 | } else if (!strcmp(p, "CLS") || !strcmp(p, "CLASS")) { | 88 | } else if (!strcmp(p, "CLS") || !strcmp(p, "CLASS")) { |
97 | int i; | 89 | int i; |
98 | if (info->class_name) | 90 | if (info->class_name) |
99 | kfree (info->class_name); | 91 | kfree (info->class_name); |
100 | info->class_name = strdup(sep); | 92 | info->class_name = kstrdup(sep, GFP_KERNEL); |
101 | for (u = sep; *u; u++) | 93 | for (u = sep; *u; u++) |
102 | *u = toupper(*u); | 94 | *u = toupper(*u); |
103 | for (i = 0; classes[i].token; i++) { | 95 | for (i = 0; classes[i].token; i++) { |
@@ -112,7 +104,7 @@ static void parse_data(struct parport *port, int device, char *str) | |||
112 | !strcmp(p, "COMMAND SET")) { | 104 | !strcmp(p, "COMMAND SET")) { |
113 | if (info->cmdset) | 105 | if (info->cmdset) |
114 | kfree (info->cmdset); | 106 | kfree (info->cmdset); |
115 | info->cmdset = strdup(sep); | 107 | info->cmdset = kstrdup(sep, GFP_KERNEL); |
116 | /* if it speaks printer language, it's | 108 | /* if it speaks printer language, it's |
117 | probably a printer */ | 109 | probably a printer */ |
118 | if (strstr(sep, "PJL") || strstr(sep, "PCL")) | 110 | if (strstr(sep, "PJL") || strstr(sep, "PCL")) |
@@ -120,7 +112,7 @@ static void parse_data(struct parport *port, int device, char *str) | |||
120 | } else if (!strcmp(p, "DES") || !strcmp(p, "DESCRIPTION")) { | 112 | } else if (!strcmp(p, "DES") || !strcmp(p, "DESCRIPTION")) { |
121 | if (info->description) | 113 | if (info->description) |
122 | kfree (info->description); | 114 | kfree (info->description); |
123 | info->description = strdup(sep); | 115 | info->description = kstrdup(sep, GFP_KERNEL); |
124 | } | 116 | } |
125 | } | 117 | } |
126 | rock_on: | 118 | rock_on: |