diff options
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/Kconfig | 36 | ||||
-rw-r--r-- | drivers/pcmcia/i82365.c | 37 | ||||
-rw-r--r-- | drivers/pcmcia/m32r_cfc.c | 105 | ||||
-rw-r--r-- | drivers/pcmcia/m32r_pcc.c | 51 | ||||
-rw-r--r-- | drivers/pcmcia/m8xx_pcmcia.c | 40 | ||||
-rw-r--r-- | drivers/pcmcia/tcic.c | 29 |
6 files changed, 118 insertions, 180 deletions
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index 17f38a781d47..0c44dddd9b7a 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig | |||
@@ -17,24 +17,6 @@ menuconfig PCCARD | |||
17 | 17 | ||
18 | if PCCARD | 18 | if PCCARD |
19 | 19 | ||
20 | config PCMCIA_DEBUG | ||
21 | bool "Enable PCCARD debugging" | ||
22 | help | ||
23 | Say Y here to enable PCMCIA subsystem debugging. You | ||
24 | will need to choose the debugging level either via the | ||
25 | kernel command line, or module options depending whether | ||
26 | you build the PCMCIA as modules. | ||
27 | |||
28 | The kernel command line options are: | ||
29 | pcmcia_core.pc_debug=N | ||
30 | pcmcia.pc_debug=N | ||
31 | sa11xx_core.pc_debug=N | ||
32 | |||
33 | The module option is called pc_debug=N | ||
34 | |||
35 | In all the above examples, N is the debugging verbosity | ||
36 | level. | ||
37 | |||
38 | config PCMCIA | 20 | config PCMCIA |
39 | tristate "16-bit PCMCIA support" | 21 | tristate "16-bit PCMCIA support" |
40 | select CRC32 | 22 | select CRC32 |
@@ -225,6 +207,24 @@ config PCMCIA_PXA2XX | |||
225 | help | 207 | help |
226 | Say Y here to include support for the PXA2xx PCMCIA controller | 208 | Say Y here to include support for the PXA2xx PCMCIA controller |
227 | 209 | ||
210 | config PCMCIA_DEBUG | ||
211 | bool "Enable debugging" | ||
212 | depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX) | ||
213 | help | ||
214 | Say Y here to enable debugging for the SoC PCMCIA layer. | ||
215 | You will need to choose the debugging level either via the | ||
216 | kernel command line, or module options depending whether | ||
217 | you build the drivers as modules. | ||
218 | |||
219 | The kernel command line options are: | ||
220 | sa11xx_core.pc_debug=N | ||
221 | pxa2xx_core.pc_debug=N | ||
222 | |||
223 | The module option is called pc_debug=N | ||
224 | |||
225 | In all the above examples, N is the debugging verbosity | ||
226 | level. | ||
227 | |||
228 | config PCMCIA_PROBE | 228 | config PCMCIA_PROBE |
229 | bool | 229 | bool |
230 | default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X && !PARISC | 230 | default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X && !PARISC |
diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c index a4aacb830b80..c13fd9360511 100644 --- a/drivers/pcmcia/i82365.c +++ b/drivers/pcmcia/i82365.c | |||
@@ -63,21 +63,6 @@ | |||
63 | #include "vg468.h" | 63 | #include "vg468.h" |
64 | #include "ricoh.h" | 64 | #include "ricoh.h" |
65 | 65 | ||
66 | #ifdef CONFIG_PCMCIA_DEBUG | ||
67 | static const char version[] = | ||
68 | "i82365.c 1.265 1999/11/10 18:36:21 (David Hinds)"; | ||
69 | |||
70 | static int pc_debug; | ||
71 | |||
72 | module_param(pc_debug, int, 0644); | ||
73 | |||
74 | #define debug(lvl, fmt, arg...) do { \ | ||
75 | if (pc_debug > (lvl)) \ | ||
76 | printk(KERN_DEBUG "i82365: " fmt , ## arg); \ | ||
77 | } while (0) | ||
78 | #else | ||
79 | #define debug(lvl, fmt, arg...) do { } while (0) | ||
80 | #endif | ||
81 | 66 | ||
82 | static irqreturn_t i365_count_irq(int, void *); | 67 | static irqreturn_t i365_count_irq(int, void *); |
83 | static inline int _check_irq(int irq, int flags) | 68 | static inline int _check_irq(int irq, int flags) |
@@ -501,13 +486,13 @@ static irqreturn_t i365_count_irq(int irq, void *dev) | |||
501 | { | 486 | { |
502 | i365_get(irq_sock, I365_CSC); | 487 | i365_get(irq_sock, I365_CSC); |
503 | irq_hits++; | 488 | irq_hits++; |
504 | debug(2, "-> hit on irq %d\n", irq); | 489 | pr_debug("i82365: -> hit on irq %d\n", irq); |
505 | return IRQ_HANDLED; | 490 | return IRQ_HANDLED; |
506 | } | 491 | } |
507 | 492 | ||
508 | static u_int __init test_irq(u_short sock, int irq) | 493 | static u_int __init test_irq(u_short sock, int irq) |
509 | { | 494 | { |
510 | debug(2, " testing ISA irq %d\n", irq); | 495 | pr_debug("i82365: testing ISA irq %d\n", irq); |
511 | if (request_irq(irq, i365_count_irq, IRQF_PROBE_SHARED, "scan", | 496 | if (request_irq(irq, i365_count_irq, IRQF_PROBE_SHARED, "scan", |
512 | i365_count_irq) != 0) | 497 | i365_count_irq) != 0) |
513 | return 1; | 498 | return 1; |
@@ -515,7 +500,7 @@ static u_int __init test_irq(u_short sock, int irq) | |||
515 | msleep(10); | 500 | msleep(10); |
516 | if (irq_hits) { | 501 | if (irq_hits) { |
517 | free_irq(irq, i365_count_irq); | 502 | free_irq(irq, i365_count_irq); |
518 | debug(2, " spurious hit!\n"); | 503 | pr_debug("i82365: spurious hit!\n"); |
519 | return 1; | 504 | return 1; |
520 | } | 505 | } |
521 | 506 | ||
@@ -528,7 +513,7 @@ static u_int __init test_irq(u_short sock, int irq) | |||
528 | 513 | ||
529 | /* mask all interrupts */ | 514 | /* mask all interrupts */ |
530 | i365_set(sock, I365_CSCINT, 0); | 515 | i365_set(sock, I365_CSCINT, 0); |
531 | debug(2, " hits = %d\n", irq_hits); | 516 | pr_debug("i82365: hits = %d\n", irq_hits); |
532 | 517 | ||
533 | return (irq_hits != 1); | 518 | return (irq_hits != 1); |
534 | } | 519 | } |
@@ -854,7 +839,7 @@ static irqreturn_t pcic_interrupt(int irq, void *dev) | |||
854 | u_long flags = 0; | 839 | u_long flags = 0; |
855 | int handled = 0; | 840 | int handled = 0; |
856 | 841 | ||
857 | debug(4, "pcic_interrupt(%d)\n", irq); | 842 | pr_debug("pcic_interrupt(%d)\n", irq); |
858 | 843 | ||
859 | for (j = 0; j < 20; j++) { | 844 | for (j = 0; j < 20; j++) { |
860 | active = 0; | 845 | active = 0; |
@@ -878,7 +863,7 @@ static irqreturn_t pcic_interrupt(int irq, void *dev) | |||
878 | events |= (csc & I365_CSC_READY) ? SS_READY : 0; | 863 | events |= (csc & I365_CSC_READY) ? SS_READY : 0; |
879 | } | 864 | } |
880 | ISA_UNLOCK(i, flags); | 865 | ISA_UNLOCK(i, flags); |
881 | debug(2, "socket %d event 0x%02x\n", i, events); | 866 | pr_debug("socket %d event 0x%02x\n", i, events); |
882 | 867 | ||
883 | if (events) | 868 | if (events) |
884 | pcmcia_parse_events(&socket[i].socket, events); | 869 | pcmcia_parse_events(&socket[i].socket, events); |
@@ -890,7 +875,7 @@ static irqreturn_t pcic_interrupt(int irq, void *dev) | |||
890 | if (j == 20) | 875 | if (j == 20) |
891 | printk(KERN_NOTICE "i82365: infinite loop in interrupt handler\n"); | 876 | printk(KERN_NOTICE "i82365: infinite loop in interrupt handler\n"); |
892 | 877 | ||
893 | debug(4, "interrupt done\n"); | 878 | pr_debug("pcic_interrupt done\n"); |
894 | return IRQ_RETVAL(handled); | 879 | return IRQ_RETVAL(handled); |
895 | } /* pcic_interrupt */ | 880 | } /* pcic_interrupt */ |
896 | 881 | ||
@@ -932,7 +917,7 @@ static int i365_get_status(u_short sock, u_int *value) | |||
932 | } | 917 | } |
933 | } | 918 | } |
934 | 919 | ||
935 | debug(1, "GetStatus(%d) = %#4.4x\n", sock, *value); | 920 | pr_debug("GetStatus(%d) = %#4.4x\n", sock, *value); |
936 | return 0; | 921 | return 0; |
937 | } /* i365_get_status */ | 922 | } /* i365_get_status */ |
938 | 923 | ||
@@ -943,7 +928,7 @@ static int i365_set_socket(u_short sock, socket_state_t *state) | |||
943 | struct i82365_socket *t = &socket[sock]; | 928 | struct i82365_socket *t = &socket[sock]; |
944 | u_char reg; | 929 | u_char reg; |
945 | 930 | ||
946 | debug(1, "SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " | 931 | pr_debug("SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " |
947 | "io_irq %d, csc_mask %#2.2x)\n", sock, state->flags, | 932 | "io_irq %d, csc_mask %#2.2x)\n", sock, state->flags, |
948 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); | 933 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); |
949 | 934 | ||
@@ -1052,7 +1037,7 @@ static int i365_set_io_map(u_short sock, struct pccard_io_map *io) | |||
1052 | { | 1037 | { |
1053 | u_char map, ioctl; | 1038 | u_char map, ioctl; |
1054 | 1039 | ||
1055 | debug(1, "SetIOMap(%d, %d, %#2.2x, %d ns, " | 1040 | pr_debug("SetIOMap(%d, %d, %#2.2x, %d ns, " |
1056 | "%#llx-%#llx)\n", sock, io->map, io->flags, io->speed, | 1041 | "%#llx-%#llx)\n", sock, io->map, io->flags, io->speed, |
1057 | (unsigned long long)io->start, (unsigned long long)io->stop); | 1042 | (unsigned long long)io->start, (unsigned long long)io->stop); |
1058 | map = io->map; | 1043 | map = io->map; |
@@ -1082,7 +1067,7 @@ static int i365_set_mem_map(u_short sock, struct pccard_mem_map *mem) | |||
1082 | u_short base, i; | 1067 | u_short base, i; |
1083 | u_char map; | 1068 | u_char map; |
1084 | 1069 | ||
1085 | debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, %#llx-%#llx, " | 1070 | pr_debug("SetMemMap(%d, %d, %#2.2x, %d ns, %#llx-%#llx, " |
1086 | "%#x)\n", sock, mem->map, mem->flags, mem->speed, | 1071 | "%#x)\n", sock, mem->map, mem->flags, mem->speed, |
1087 | (unsigned long long)mem->res->start, | 1072 | (unsigned long long)mem->res->start, |
1088 | (unsigned long long)mem->res->end, mem->card_start); | 1073 | (unsigned long long)mem->res->end, mem->card_start); |
diff --git a/drivers/pcmcia/m32r_cfc.c b/drivers/pcmcia/m32r_cfc.c index 7dfbee1dcd76..26a621c9e2fc 100644 --- a/drivers/pcmcia/m32r_cfc.c +++ b/drivers/pcmcia/m32r_cfc.c | |||
@@ -38,17 +38,6 @@ | |||
38 | 38 | ||
39 | #include "m32r_cfc.h" | 39 | #include "m32r_cfc.h" |
40 | 40 | ||
41 | #ifdef CONFIG_PCMCIA_DEBUG | ||
42 | static int m32r_cfc_debug; | ||
43 | module_param(m32r_cfc_debug, int, 0644); | ||
44 | #define debug(lvl, fmt, arg...) do { \ | ||
45 | if (m32r_cfc_debug > (lvl)) \ | ||
46 | printk(KERN_DEBUG "m32r_cfc: " fmt , ## arg); \ | ||
47 | } while (0) | ||
48 | #else | ||
49 | #define debug(n, args...) do { } while (0) | ||
50 | #endif | ||
51 | |||
52 | /* Poll status interval -- 0 means default to interrupt */ | 41 | /* Poll status interval -- 0 means default to interrupt */ |
53 | static int poll_interval = 0; | 42 | static int poll_interval = 0; |
54 | 43 | ||
@@ -123,7 +112,7 @@ void pcc_ioread_byte(int sock, unsigned long port, void *buf, size_t size, | |||
123 | unsigned char *bp = (unsigned char *)buf; | 112 | unsigned char *bp = (unsigned char *)buf; |
124 | unsigned long flags; | 113 | unsigned long flags; |
125 | 114 | ||
126 | debug(3, "m32r_cfc: pcc_ioread_byte: sock=%d, port=%#lx, buf=%p, " | 115 | pr_debug("m32r_cfc: pcc_ioread_byte: sock=%d, port=%#lx, buf=%p, " |
127 | "size=%u, nmemb=%d, flag=%d\n", | 116 | "size=%u, nmemb=%d, flag=%d\n", |
128 | sock, port, buf, size, nmemb, flag); | 117 | sock, port, buf, size, nmemb, flag); |
129 | 118 | ||
@@ -132,7 +121,7 @@ void pcc_ioread_byte(int sock, unsigned long port, void *buf, size_t size, | |||
132 | printk("m32r_cfc:ioread_byte null port :%#lx\n",port); | 121 | printk("m32r_cfc:ioread_byte null port :%#lx\n",port); |
133 | return; | 122 | return; |
134 | } | 123 | } |
135 | debug(3, "m32r_cfc: pcc_ioread_byte: addr=%#lx\n", addr); | 124 | pr_debug("m32r_cfc: pcc_ioread_byte: addr=%#lx\n", addr); |
136 | 125 | ||
137 | spin_lock_irqsave(&pcc_lock, flags); | 126 | spin_lock_irqsave(&pcc_lock, flags); |
138 | /* read Byte */ | 127 | /* read Byte */ |
@@ -148,7 +137,7 @@ void pcc_ioread_word(int sock, unsigned long port, void *buf, size_t size, | |||
148 | unsigned short *bp = (unsigned short *)buf; | 137 | unsigned short *bp = (unsigned short *)buf; |
149 | unsigned long flags; | 138 | unsigned long flags; |
150 | 139 | ||
151 | debug(3, "m32r_cfc: pcc_ioread_word: sock=%d, port=%#lx, " | 140 | pr_debug("m32r_cfc: pcc_ioread_word: sock=%d, port=%#lx, " |
152 | "buf=%p, size=%u, nmemb=%d, flag=%d\n", | 141 | "buf=%p, size=%u, nmemb=%d, flag=%d\n", |
153 | sock, port, buf, size, nmemb, flag); | 142 | sock, port, buf, size, nmemb, flag); |
154 | 143 | ||
@@ -163,7 +152,7 @@ void pcc_ioread_word(int sock, unsigned long port, void *buf, size_t size, | |||
163 | printk("m32r_cfc:ioread_word null port :%#lx\n",port); | 152 | printk("m32r_cfc:ioread_word null port :%#lx\n",port); |
164 | return; | 153 | return; |
165 | } | 154 | } |
166 | debug(3, "m32r_cfc: pcc_ioread_word: addr=%#lx\n", addr); | 155 | pr_debug("m32r_cfc: pcc_ioread_word: addr=%#lx\n", addr); |
167 | 156 | ||
168 | spin_lock_irqsave(&pcc_lock, flags); | 157 | spin_lock_irqsave(&pcc_lock, flags); |
169 | /* read Word */ | 158 | /* read Word */ |
@@ -179,7 +168,7 @@ void pcc_iowrite_byte(int sock, unsigned long port, void *buf, size_t size, | |||
179 | unsigned char *bp = (unsigned char *)buf; | 168 | unsigned char *bp = (unsigned char *)buf; |
180 | unsigned long flags; | 169 | unsigned long flags; |
181 | 170 | ||
182 | debug(3, "m32r_cfc: pcc_iowrite_byte: sock=%d, port=%#lx, " | 171 | pr_debug("m32r_cfc: pcc_iowrite_byte: sock=%d, port=%#lx, " |
183 | "buf=%p, size=%u, nmemb=%d, flag=%d\n", | 172 | "buf=%p, size=%u, nmemb=%d, flag=%d\n", |
184 | sock, port, buf, size, nmemb, flag); | 173 | sock, port, buf, size, nmemb, flag); |
185 | 174 | ||
@@ -189,7 +178,7 @@ void pcc_iowrite_byte(int sock, unsigned long port, void *buf, size_t size, | |||
189 | printk("m32r_cfc:iowrite_byte null port:%#lx\n",port); | 178 | printk("m32r_cfc:iowrite_byte null port:%#lx\n",port); |
190 | return; | 179 | return; |
191 | } | 180 | } |
192 | debug(3, "m32r_cfc: pcc_iowrite_byte: addr=%#lx\n", addr); | 181 | pr_debug("m32r_cfc: pcc_iowrite_byte: addr=%#lx\n", addr); |
193 | 182 | ||
194 | spin_lock_irqsave(&pcc_lock, flags); | 183 | spin_lock_irqsave(&pcc_lock, flags); |
195 | while (nmemb--) | 184 | while (nmemb--) |
@@ -204,7 +193,7 @@ void pcc_iowrite_word(int sock, unsigned long port, void *buf, size_t size, | |||
204 | unsigned short *bp = (unsigned short *)buf; | 193 | unsigned short *bp = (unsigned short *)buf; |
205 | unsigned long flags; | 194 | unsigned long flags; |
206 | 195 | ||
207 | debug(3, "m32r_cfc: pcc_iowrite_word: sock=%d, port=%#lx, " | 196 | pr_debug("m32r_cfc: pcc_iowrite_word: sock=%d, port=%#lx, " |
208 | "buf=%p, size=%u, nmemb=%d, flag=%d\n", | 197 | "buf=%p, size=%u, nmemb=%d, flag=%d\n", |
209 | sock, port, buf, size, nmemb, flag); | 198 | sock, port, buf, size, nmemb, flag); |
210 | 199 | ||
@@ -226,7 +215,7 @@ void pcc_iowrite_word(int sock, unsigned long port, void *buf, size_t size, | |||
226 | return; | 215 | return; |
227 | } | 216 | } |
228 | #endif | 217 | #endif |
229 | debug(3, "m32r_cfc: pcc_iowrite_word: addr=%#lx\n", addr); | 218 | pr_debug("m32r_cfc: pcc_iowrite_word: addr=%#lx\n", addr); |
230 | 219 | ||
231 | spin_lock_irqsave(&pcc_lock, flags); | 220 | spin_lock_irqsave(&pcc_lock, flags); |
232 | while (nmemb--) | 221 | while (nmemb--) |
@@ -262,7 +251,7 @@ static struct timer_list poll_timer; | |||
262 | static unsigned int pcc_get(u_short sock, unsigned int reg) | 251 | static unsigned int pcc_get(u_short sock, unsigned int reg) |
263 | { | 252 | { |
264 | unsigned int val = inw(reg); | 253 | unsigned int val = inw(reg); |
265 | debug(3, "m32r_cfc: pcc_get: reg(0x%08x)=0x%04x\n", reg, val); | 254 | pr_debug("m32r_cfc: pcc_get: reg(0x%08x)=0x%04x\n", reg, val); |
266 | return val; | 255 | return val; |
267 | } | 256 | } |
268 | 257 | ||
@@ -270,7 +259,7 @@ static unsigned int pcc_get(u_short sock, unsigned int reg) | |||
270 | static void pcc_set(u_short sock, unsigned int reg, unsigned int data) | 259 | static void pcc_set(u_short sock, unsigned int reg, unsigned int data) |
271 | { | 260 | { |
272 | outw(data, reg); | 261 | outw(data, reg); |
273 | debug(3, "m32r_cfc: pcc_set: reg(0x%08x)=0x%04x\n", reg, data); | 262 | pr_debug("m32r_cfc: pcc_set: reg(0x%08x)=0x%04x\n", reg, data); |
274 | } | 263 | } |
275 | 264 | ||
276 | /*====================================================================== | 265 | /*====================================================================== |
@@ -286,14 +275,14 @@ static int __init is_alive(u_short sock) | |||
286 | { | 275 | { |
287 | unsigned int stat; | 276 | unsigned int stat; |
288 | 277 | ||
289 | debug(3, "m32r_cfc: is_alive:\n"); | 278 | pr_debug("m32r_cfc: is_alive:\n"); |
290 | 279 | ||
291 | printk("CF: "); | 280 | printk("CF: "); |
292 | stat = pcc_get(sock, (unsigned int)PLD_CFSTS); | 281 | stat = pcc_get(sock, (unsigned int)PLD_CFSTS); |
293 | if (!stat) | 282 | if (!stat) |
294 | printk("No "); | 283 | printk("No "); |
295 | printk("Card is detected at socket %d : stat = 0x%08x\n", sock, stat); | 284 | printk("Card is detected at socket %d : stat = 0x%08x\n", sock, stat); |
296 | debug(3, "m32r_cfc: is_alive: sock stat is 0x%04x\n", stat); | 285 | pr_debug("m32r_cfc: is_alive: sock stat is 0x%04x\n", stat); |
297 | 286 | ||
298 | return 0; | 287 | return 0; |
299 | } | 288 | } |
@@ -303,7 +292,7 @@ static void add_pcc_socket(ulong base, int irq, ulong mapaddr, | |||
303 | { | 292 | { |
304 | pcc_socket_t *t = &socket[pcc_sockets]; | 293 | pcc_socket_t *t = &socket[pcc_sockets]; |
305 | 294 | ||
306 | debug(3, "m32r_cfc: add_pcc_socket: base=%#lx, irq=%d, " | 295 | pr_debug("m32r_cfc: add_pcc_socket: base=%#lx, irq=%d, " |
307 | "mapaddr=%#lx, ioaddr=%08x\n", | 296 | "mapaddr=%#lx, ioaddr=%08x\n", |
308 | base, irq, mapaddr, ioaddr); | 297 | base, irq, mapaddr, ioaddr); |
309 | 298 | ||
@@ -358,7 +347,7 @@ static void add_pcc_socket(ulong base, int irq, ulong mapaddr, | |||
358 | /* eject interrupt */ | 347 | /* eject interrupt */ |
359 | request_irq(irq+1, pcc_interrupt, 0, "m32r_cfc", pcc_interrupt); | 348 | request_irq(irq+1, pcc_interrupt, 0, "m32r_cfc", pcc_interrupt); |
360 | #endif | 349 | #endif |
361 | debug(3, "m32r_cfc: enable CFMSK, RDYSEL\n"); | 350 | pr_debug("m32r_cfc: enable CFMSK, RDYSEL\n"); |
362 | pcc_set(pcc_sockets, (unsigned int)PLD_CFIMASK, 0x01); | 351 | pcc_set(pcc_sockets, (unsigned int)PLD_CFIMASK, 0x01); |
363 | #endif /* CONFIG_PLAT_USRV */ | 352 | #endif /* CONFIG_PLAT_USRV */ |
364 | #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_USRV) || defined(CONFIG_PLAT_OPSPUT) | 353 | #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_USRV) || defined(CONFIG_PLAT_OPSPUT) |
@@ -378,26 +367,26 @@ static irqreturn_t pcc_interrupt(int irq, void *dev) | |||
378 | u_int events = 0; | 367 | u_int events = 0; |
379 | int handled = 0; | 368 | int handled = 0; |
380 | 369 | ||
381 | debug(3, "m32r_cfc: pcc_interrupt: irq=%d, dev=%p\n", irq, dev); | 370 | pr_debug("m32r_cfc: pcc_interrupt: irq=%d, dev=%p\n", irq, dev); |
382 | for (i = 0; i < pcc_sockets; i++) { | 371 | for (i = 0; i < pcc_sockets; i++) { |
383 | if (socket[i].cs_irq1 != irq && socket[i].cs_irq2 != irq) | 372 | if (socket[i].cs_irq1 != irq && socket[i].cs_irq2 != irq) |
384 | continue; | 373 | continue; |
385 | 374 | ||
386 | handled = 1; | 375 | handled = 1; |
387 | debug(3, "m32r_cfc: pcc_interrupt: socket %d irq 0x%02x ", | 376 | pr_debug("m32r_cfc: pcc_interrupt: socket %d irq 0x%02x ", |
388 | i, irq); | 377 | i, irq); |
389 | events |= SS_DETECT; /* insert or eject */ | 378 | events |= SS_DETECT; /* insert or eject */ |
390 | if (events) | 379 | if (events) |
391 | pcmcia_parse_events(&socket[i].socket, events); | 380 | pcmcia_parse_events(&socket[i].socket, events); |
392 | } | 381 | } |
393 | debug(3, "m32r_cfc: pcc_interrupt: done\n"); | 382 | pr_debug("m32r_cfc: pcc_interrupt: done\n"); |
394 | 383 | ||
395 | return IRQ_RETVAL(handled); | 384 | return IRQ_RETVAL(handled); |
396 | } /* pcc_interrupt */ | 385 | } /* pcc_interrupt */ |
397 | 386 | ||
398 | static void pcc_interrupt_wrapper(u_long data) | 387 | static void pcc_interrupt_wrapper(u_long data) |
399 | { | 388 | { |
400 | debug(3, "m32r_cfc: pcc_interrupt_wrapper:\n"); | 389 | pr_debug("m32r_cfc: pcc_interrupt_wrapper:\n"); |
401 | pcc_interrupt(0, NULL); | 390 | pcc_interrupt(0, NULL); |
402 | init_timer(&poll_timer); | 391 | init_timer(&poll_timer); |
403 | poll_timer.expires = jiffies + poll_interval; | 392 | poll_timer.expires = jiffies + poll_interval; |
@@ -410,17 +399,17 @@ static int _pcc_get_status(u_short sock, u_int *value) | |||
410 | { | 399 | { |
411 | u_int status; | 400 | u_int status; |
412 | 401 | ||
413 | debug(3, "m32r_cfc: _pcc_get_status:\n"); | 402 | pr_debug("m32r_cfc: _pcc_get_status:\n"); |
414 | status = pcc_get(sock, (unsigned int)PLD_CFSTS); | 403 | status = pcc_get(sock, (unsigned int)PLD_CFSTS); |
415 | *value = (status) ? SS_DETECT : 0; | 404 | *value = (status) ? SS_DETECT : 0; |
416 | debug(3, "m32r_cfc: _pcc_get_status: status=0x%08x\n", status); | 405 | pr_debug("m32r_cfc: _pcc_get_status: status=0x%08x\n", status); |
417 | 406 | ||
418 | #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_USRV) || defined(CONFIG_PLAT_OPSPUT) | 407 | #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_USRV) || defined(CONFIG_PLAT_OPSPUT) |
419 | if ( status ) { | 408 | if ( status ) { |
420 | /* enable CF power */ | 409 | /* enable CF power */ |
421 | status = inw((unsigned int)PLD_CPCR); | 410 | status = inw((unsigned int)PLD_CPCR); |
422 | if (!(status & PLD_CPCR_CF)) { | 411 | if (!(status & PLD_CPCR_CF)) { |
423 | debug(3, "m32r_cfc: _pcc_get_status: " | 412 | pr_debug("m32r_cfc: _pcc_get_status: " |
424 | "power on (CPCR=0x%08x)\n", status); | 413 | "power on (CPCR=0x%08x)\n", status); |
425 | status |= PLD_CPCR_CF; | 414 | status |= PLD_CPCR_CF; |
426 | outw(status, (unsigned int)PLD_CPCR); | 415 | outw(status, (unsigned int)PLD_CPCR); |
@@ -439,7 +428,7 @@ static int _pcc_get_status(u_short sock, u_int *value) | |||
439 | status &= ~PLD_CPCR_CF; | 428 | status &= ~PLD_CPCR_CF; |
440 | outw(status, (unsigned int)PLD_CPCR); | 429 | outw(status, (unsigned int)PLD_CPCR); |
441 | udelay(100); | 430 | udelay(100); |
442 | debug(3, "m32r_cfc: _pcc_get_status: " | 431 | pr_debug("m32r_cfc: _pcc_get_status: " |
443 | "power off (CPCR=0x%08x)\n", status); | 432 | "power off (CPCR=0x%08x)\n", status); |
444 | } | 433 | } |
445 | #elif defined(CONFIG_PLAT_MAPPI2) || defined(CONFIG_PLAT_MAPPI3) | 434 | #elif defined(CONFIG_PLAT_MAPPI2) || defined(CONFIG_PLAT_MAPPI3) |
@@ -465,13 +454,13 @@ static int _pcc_get_status(u_short sock, u_int *value) | |||
465 | /* disable CF power */ | 454 | /* disable CF power */ |
466 | pcc_set(sock, (unsigned int)PLD_CPCR, 0); | 455 | pcc_set(sock, (unsigned int)PLD_CPCR, 0); |
467 | udelay(100); | 456 | udelay(100); |
468 | debug(3, "m32r_cfc: _pcc_get_status: " | 457 | pr_debug("m32r_cfc: _pcc_get_status: " |
469 | "power off (CPCR=0x%08x)\n", status); | 458 | "power off (CPCR=0x%08x)\n", status); |
470 | } | 459 | } |
471 | #else | 460 | #else |
472 | #error no platform configuration | 461 | #error no platform configuration |
473 | #endif | 462 | #endif |
474 | debug(3, "m32r_cfc: _pcc_get_status: GetStatus(%d) = %#4.4x\n", | 463 | pr_debug("m32r_cfc: _pcc_get_status: GetStatus(%d) = %#4.4x\n", |
475 | sock, *value); | 464 | sock, *value); |
476 | return 0; | 465 | return 0; |
477 | } /* _get_status */ | 466 | } /* _get_status */ |
@@ -480,7 +469,7 @@ static int _pcc_get_status(u_short sock, u_int *value) | |||
480 | 469 | ||
481 | static int _pcc_set_socket(u_short sock, socket_state_t *state) | 470 | static int _pcc_set_socket(u_short sock, socket_state_t *state) |
482 | { | 471 | { |
483 | debug(3, "m32r_cfc: SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " | 472 | pr_debug("m32r_cfc: SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " |
484 | "io_irq %d, csc_mask %#2.2x)\n", sock, state->flags, | 473 | "io_irq %d, csc_mask %#2.2x)\n", sock, state->flags, |
485 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); | 474 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); |
486 | 475 | ||
@@ -492,41 +481,39 @@ static int _pcc_set_socket(u_short sock, socket_state_t *state) | |||
492 | } | 481 | } |
493 | #endif | 482 | #endif |
494 | if (state->flags & SS_RESET) { | 483 | if (state->flags & SS_RESET) { |
495 | debug(3, ":RESET\n"); | 484 | pr_debug(":RESET\n"); |
496 | pcc_set(sock,(unsigned int)PLD_CFRSTCR,0x101); | 485 | pcc_set(sock,(unsigned int)PLD_CFRSTCR,0x101); |
497 | }else{ | 486 | }else{ |
498 | pcc_set(sock,(unsigned int)PLD_CFRSTCR,0x100); | 487 | pcc_set(sock,(unsigned int)PLD_CFRSTCR,0x100); |
499 | } | 488 | } |
500 | if (state->flags & SS_OUTPUT_ENA){ | 489 | if (state->flags & SS_OUTPUT_ENA){ |
501 | debug(3, ":OUTPUT_ENA\n"); | 490 | pr_debug(":OUTPUT_ENA\n"); |
502 | /* bit clear */ | 491 | /* bit clear */ |
503 | pcc_set(sock,(unsigned int)PLD_CFBUFCR,0); | 492 | pcc_set(sock,(unsigned int)PLD_CFBUFCR,0); |
504 | } else { | 493 | } else { |
505 | pcc_set(sock,(unsigned int)PLD_CFBUFCR,1); | 494 | pcc_set(sock,(unsigned int)PLD_CFBUFCR,1); |
506 | } | 495 | } |
507 | 496 | ||
508 | #ifdef CONFIG_PCMCIA_DEBUG | ||
509 | if(state->flags & SS_IOCARD){ | 497 | if(state->flags & SS_IOCARD){ |
510 | debug(3, ":IOCARD"); | 498 | pr_debug(":IOCARD"); |
511 | } | 499 | } |
512 | if (state->flags & SS_PWR_AUTO) { | 500 | if (state->flags & SS_PWR_AUTO) { |
513 | debug(3, ":PWR_AUTO"); | 501 | pr_debug(":PWR_AUTO"); |
514 | } | 502 | } |
515 | if (state->csc_mask & SS_DETECT) | 503 | if (state->csc_mask & SS_DETECT) |
516 | debug(3, ":csc-SS_DETECT"); | 504 | pr_debug(":csc-SS_DETECT"); |
517 | if (state->flags & SS_IOCARD) { | 505 | if (state->flags & SS_IOCARD) { |
518 | if (state->csc_mask & SS_STSCHG) | 506 | if (state->csc_mask & SS_STSCHG) |
519 | debug(3, ":STSCHG"); | 507 | pr_debug(":STSCHG"); |
520 | } else { | 508 | } else { |
521 | if (state->csc_mask & SS_BATDEAD) | 509 | if (state->csc_mask & SS_BATDEAD) |
522 | debug(3, ":BATDEAD"); | 510 | pr_debug(":BATDEAD"); |
523 | if (state->csc_mask & SS_BATWARN) | 511 | if (state->csc_mask & SS_BATWARN) |
524 | debug(3, ":BATWARN"); | 512 | pr_debug(":BATWARN"); |
525 | if (state->csc_mask & SS_READY) | 513 | if (state->csc_mask & SS_READY) |
526 | debug(3, ":READY"); | 514 | pr_debug(":READY"); |
527 | } | 515 | } |
528 | debug(3, "\n"); | 516 | pr_debug("\n"); |
529 | #endif | ||
530 | return 0; | 517 | return 0; |
531 | } /* _set_socket */ | 518 | } /* _set_socket */ |
532 | 519 | ||
@@ -536,7 +523,7 @@ static int _pcc_set_io_map(u_short sock, struct pccard_io_map *io) | |||
536 | { | 523 | { |
537 | u_char map; | 524 | u_char map; |
538 | 525 | ||
539 | debug(3, "m32r_cfc: SetIOMap(%d, %d, %#2.2x, %d ns, " | 526 | pr_debug("m32r_cfc: SetIOMap(%d, %d, %#2.2x, %d ns, " |
540 | "%#llx-%#llx)\n", sock, io->map, io->flags, | 527 | "%#llx-%#llx)\n", sock, io->map, io->flags, |
541 | io->speed, (unsigned long long)io->start, | 528 | io->speed, (unsigned long long)io->start, |
542 | (unsigned long long)io->stop); | 529 | (unsigned long long)io->stop); |
@@ -554,7 +541,7 @@ static int _pcc_set_mem_map(u_short sock, struct pccard_mem_map *mem) | |||
554 | u_long addr; | 541 | u_long addr; |
555 | pcc_socket_t *t = &socket[sock]; | 542 | pcc_socket_t *t = &socket[sock]; |
556 | 543 | ||
557 | debug(3, "m32r_cfc: SetMemMap(%d, %d, %#2.2x, %d ns, " | 544 | pr_debug("m32r_cfc: SetMemMap(%d, %d, %#2.2x, %d ns, " |
558 | "%#llx, %#x)\n", sock, map, mem->flags, | 545 | "%#llx, %#x)\n", sock, map, mem->flags, |
559 | mem->speed, (unsigned long long)mem->static_start, | 546 | mem->speed, (unsigned long long)mem->static_start, |
560 | mem->card_start); | 547 | mem->card_start); |
@@ -640,11 +627,11 @@ static int pcc_get_status(struct pcmcia_socket *s, u_int *value) | |||
640 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; | 627 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; |
641 | 628 | ||
642 | if (socket[sock].flags & IS_ALIVE) { | 629 | if (socket[sock].flags & IS_ALIVE) { |
643 | debug(3, "m32r_cfc: pcc_get_status: sock(%d) -EINVAL\n", sock); | 630 | dev_dbg(&s->dev, "pcc_get_status: sock(%d) -EINVAL\n", sock); |
644 | *value = 0; | 631 | *value = 0; |
645 | return -EINVAL; | 632 | return -EINVAL; |
646 | } | 633 | } |
647 | debug(3, "m32r_cfc: pcc_get_status: sock(%d)\n", sock); | 634 | dev_dbg(&s->dev, "pcc_get_status: sock(%d)\n", sock); |
648 | LOCKED(_pcc_get_status(sock, value)); | 635 | LOCKED(_pcc_get_status(sock, value)); |
649 | } | 636 | } |
650 | 637 | ||
@@ -653,10 +640,10 @@ static int pcc_set_socket(struct pcmcia_socket *s, socket_state_t *state) | |||
653 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; | 640 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; |
654 | 641 | ||
655 | if (socket[sock].flags & IS_ALIVE) { | 642 | if (socket[sock].flags & IS_ALIVE) { |
656 | debug(3, "m32r_cfc: pcc_set_socket: sock(%d) -EINVAL\n", sock); | 643 | dev_dbg(&s->dev, "pcc_set_socket: sock(%d) -EINVAL\n", sock); |
657 | return -EINVAL; | 644 | return -EINVAL; |
658 | } | 645 | } |
659 | debug(3, "m32r_cfc: pcc_set_socket: sock(%d)\n", sock); | 646 | dev_dbg(&s->dev, "pcc_set_socket: sock(%d)\n", sock); |
660 | LOCKED(_pcc_set_socket(sock, state)); | 647 | LOCKED(_pcc_set_socket(sock, state)); |
661 | } | 648 | } |
662 | 649 | ||
@@ -665,10 +652,10 @@ static int pcc_set_io_map(struct pcmcia_socket *s, struct pccard_io_map *io) | |||
665 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; | 652 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; |
666 | 653 | ||
667 | if (socket[sock].flags & IS_ALIVE) { | 654 | if (socket[sock].flags & IS_ALIVE) { |
668 | debug(3, "m32r_cfc: pcc_set_io_map: sock(%d) -EINVAL\n", sock); | 655 | dev_dbg(&s->dev, "pcc_set_io_map: sock(%d) -EINVAL\n", sock); |
669 | return -EINVAL; | 656 | return -EINVAL; |
670 | } | 657 | } |
671 | debug(3, "m32r_cfc: pcc_set_io_map: sock(%d)\n", sock); | 658 | dev_dbg(&s->dev, "pcc_set_io_map: sock(%d)\n", sock); |
672 | LOCKED(_pcc_set_io_map(sock, io)); | 659 | LOCKED(_pcc_set_io_map(sock, io)); |
673 | } | 660 | } |
674 | 661 | ||
@@ -677,16 +664,16 @@ static int pcc_set_mem_map(struct pcmcia_socket *s, struct pccard_mem_map *mem) | |||
677 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; | 664 | unsigned int sock = container_of(s, struct pcc_socket, socket)->number; |
678 | 665 | ||
679 | if (socket[sock].flags & IS_ALIVE) { | 666 | if (socket[sock].flags & IS_ALIVE) { |
680 | debug(3, "m32r_cfc: pcc_set_mem_map: sock(%d) -EINVAL\n", sock); | 667 | dev_dbg(&s->dev, "pcc_set_mem_map: sock(%d) -EINVAL\n", sock); |
681 | return -EINVAL; | 668 | return -EINVAL; |
682 | } | 669 | } |
683 | debug(3, "m32r_cfc: pcc_set_mem_map: sock(%d)\n", sock); | 670 | dev_dbg(&s->dev, "pcc_set_mem_map: sock(%d)\n", sock); |
684 | LOCKED(_pcc_set_mem_map(sock, mem)); | 671 | LOCKED(_pcc_set_mem_map(sock, mem)); |
685 | } | 672 | } |
686 | 673 | ||
687 | static int pcc_init(struct pcmcia_socket *s) | 674 | static int pcc_init(struct pcmcia_socket *s) |
688 | { | 675 | { |
689 | debug(3, "m32r_cfc: pcc_init()\n"); | 676 | dev_dbg(&s->dev, "pcc_init()\n"); |
690 | return 0; | 677 | return 0; |
691 | } | 678 | } |
692 | 679 | ||
diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c index c6524f99ccc3..72844c5a6d05 100644 --- a/drivers/pcmcia/m32r_pcc.c +++ b/drivers/pcmcia/m32r_pcc.c | |||
@@ -45,16 +45,6 @@ | |||
45 | 45 | ||
46 | #define PCC_DEBUG_DBEX | 46 | #define PCC_DEBUG_DBEX |
47 | 47 | ||
48 | #ifdef CONFIG_PCMCIA_DEBUG | ||
49 | static int m32r_pcc_debug; | ||
50 | module_param(m32r_pcc_debug, int, 0644); | ||
51 | #define debug(lvl, fmt, arg...) do { \ | ||
52 | if (m32r_pcc_debug > (lvl)) \ | ||
53 | printk(KERN_DEBUG "m32r_pcc: " fmt , ## arg); \ | ||
54 | } while (0) | ||
55 | #else | ||
56 | #define debug(n, args...) do { } while (0) | ||
57 | #endif | ||
58 | 48 | ||
59 | /* Poll status interval -- 0 means default to interrupt */ | 49 | /* Poll status interval -- 0 means default to interrupt */ |
60 | static int poll_interval = 0; | 50 | static int poll_interval = 0; |
@@ -358,7 +348,7 @@ static irqreturn_t pcc_interrupt(int irq, void *dev) | |||
358 | u_int events, active; | 348 | u_int events, active; |
359 | int handled = 0; | 349 | int handled = 0; |
360 | 350 | ||
361 | debug(4, "m32r: pcc_interrupt(%d)\n", irq); | 351 | pr_debug("m32r_pcc: pcc_interrupt(%d)\n", irq); |
362 | 352 | ||
363 | for (j = 0; j < 20; j++) { | 353 | for (j = 0; j < 20; j++) { |
364 | active = 0; | 354 | active = 0; |
@@ -369,13 +359,14 @@ static irqreturn_t pcc_interrupt(int irq, void *dev) | |||
369 | handled = 1; | 359 | handled = 1; |
370 | irc = pcc_get(i, PCIRC); | 360 | irc = pcc_get(i, PCIRC); |
371 | irc >>=16; | 361 | irc >>=16; |
372 | debug(2, "m32r-pcc:interrupt: socket %d pcirc 0x%02x ", i, irc); | 362 | pr_debug("m32r_pcc: interrupt: socket %d pcirc 0x%02x ", |
363 | i, irc); | ||
373 | if (!irc) | 364 | if (!irc) |
374 | continue; | 365 | continue; |
375 | 366 | ||
376 | events = (irc) ? SS_DETECT : 0; | 367 | events = (irc) ? SS_DETECT : 0; |
377 | events |= (pcc_get(i,PCCR) & PCCR_PCEN) ? SS_READY : 0; | 368 | events |= (pcc_get(i,PCCR) & PCCR_PCEN) ? SS_READY : 0; |
378 | debug(2, " event 0x%02x\n", events); | 369 | pr_debug("m32r_pcc: event 0x%02x\n", events); |
379 | 370 | ||
380 | if (events) | 371 | if (events) |
381 | pcmcia_parse_events(&socket[i].socket, events); | 372 | pcmcia_parse_events(&socket[i].socket, events); |
@@ -388,7 +379,7 @@ static irqreturn_t pcc_interrupt(int irq, void *dev) | |||
388 | if (j == 20) | 379 | if (j == 20) |
389 | printk(KERN_NOTICE "m32r-pcc: infinite loop in interrupt handler\n"); | 380 | printk(KERN_NOTICE "m32r-pcc: infinite loop in interrupt handler\n"); |
390 | 381 | ||
391 | debug(4, "m32r-pcc: interrupt done\n"); | 382 | pr_debug("m32r_pcc: interrupt done\n"); |
392 | 383 | ||
393 | return IRQ_RETVAL(handled); | 384 | return IRQ_RETVAL(handled); |
394 | } /* pcc_interrupt */ | 385 | } /* pcc_interrupt */ |
@@ -422,7 +413,7 @@ static int _pcc_get_status(u_short sock, u_int *value) | |||
422 | status = pcc_get(sock,PCCSIGCR); | 413 | status = pcc_get(sock,PCCSIGCR); |
423 | *value |= (status & PCCSIGCR_VEN) ? SS_POWERON : 0; | 414 | *value |= (status & PCCSIGCR_VEN) ? SS_POWERON : 0; |
424 | 415 | ||
425 | debug(3, "m32r-pcc: GetStatus(%d) = %#4.4x\n", sock, *value); | 416 | pr_debug("m32r_pcc: GetStatus(%d) = %#4.4x\n", sock, *value); |
426 | return 0; | 417 | return 0; |
427 | } /* _get_status */ | 418 | } /* _get_status */ |
428 | 419 | ||
@@ -432,7 +423,7 @@ static int _pcc_set_socket(u_short sock, socket_state_t *state) | |||
432 | { | 423 | { |
433 | u_long reg = 0; | 424 | u_long reg = 0; |
434 | 425 | ||
435 | debug(3, "m32r-pcc: SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " | 426 | pr_debug("m32r_pcc: SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " |
436 | "io_irq %d, csc_mask %#2.2x)", sock, state->flags, | 427 | "io_irq %d, csc_mask %#2.2x)", sock, state->flags, |
437 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); | 428 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); |
438 | 429 | ||
@@ -448,11 +439,11 @@ static int _pcc_set_socket(u_short sock, socket_state_t *state) | |||
448 | } | 439 | } |
449 | 440 | ||
450 | if (state->flags & SS_RESET) { | 441 | if (state->flags & SS_RESET) { |
451 | debug(3, ":RESET\n"); | 442 | pr_debug("m32r_pcc: :RESET\n"); |
452 | reg |= PCCSIGCR_CRST; | 443 | reg |= PCCSIGCR_CRST; |
453 | } | 444 | } |
454 | if (state->flags & SS_OUTPUT_ENA){ | 445 | if (state->flags & SS_OUTPUT_ENA){ |
455 | debug(3, ":OUTPUT_ENA\n"); | 446 | pr_debug("m32r_pcc: :OUTPUT_ENA\n"); |
456 | /* bit clear */ | 447 | /* bit clear */ |
457 | } else { | 448 | } else { |
458 | reg |= PCCSIGCR_SEN; | 449 | reg |= PCCSIGCR_SEN; |
@@ -460,28 +451,26 @@ static int _pcc_set_socket(u_short sock, socket_state_t *state) | |||
460 | 451 | ||
461 | pcc_set(sock,PCCSIGCR,reg); | 452 | pcc_set(sock,PCCSIGCR,reg); |
462 | 453 | ||
463 | #ifdef CONFIG_PCMCIA_DEBUG | ||
464 | if(state->flags & SS_IOCARD){ | 454 | if(state->flags & SS_IOCARD){ |
465 | debug(3, ":IOCARD"); | 455 | pr_debug("m32r_pcc: :IOCARD"); |
466 | } | 456 | } |
467 | if (state->flags & SS_PWR_AUTO) { | 457 | if (state->flags & SS_PWR_AUTO) { |
468 | debug(3, ":PWR_AUTO"); | 458 | pr_debug("m32r_pcc: :PWR_AUTO"); |
469 | } | 459 | } |
470 | if (state->csc_mask & SS_DETECT) | 460 | if (state->csc_mask & SS_DETECT) |
471 | debug(3, ":csc-SS_DETECT"); | 461 | pr_debug("m32r_pcc: :csc-SS_DETECT"); |
472 | if (state->flags & SS_IOCARD) { | 462 | if (state->flags & SS_IOCARD) { |
473 | if (state->csc_mask & SS_STSCHG) | 463 | if (state->csc_mask & SS_STSCHG) |
474 | debug(3, ":STSCHG"); | 464 | pr_debug("m32r_pcc: :STSCHG"); |
475 | } else { | 465 | } else { |
476 | if (state->csc_mask & SS_BATDEAD) | 466 | if (state->csc_mask & SS_BATDEAD) |
477 | debug(3, ":BATDEAD"); | 467 | pr_debug("m32r_pcc: :BATDEAD"); |
478 | if (state->csc_mask & SS_BATWARN) | 468 | if (state->csc_mask & SS_BATWARN) |
479 | debug(3, ":BATWARN"); | 469 | pr_debug("m32r_pcc: :BATWARN"); |
480 | if (state->csc_mask & SS_READY) | 470 | if (state->csc_mask & SS_READY) |
481 | debug(3, ":READY"); | 471 | pr_debug("m32r_pcc: :READY"); |
482 | } | 472 | } |
483 | debug(3, "\n"); | 473 | pr_debug("m32r_pcc: \n"); |
484 | #endif | ||
485 | return 0; | 474 | return 0; |
486 | } /* _set_socket */ | 475 | } /* _set_socket */ |
487 | 476 | ||
@@ -491,7 +480,7 @@ static int _pcc_set_io_map(u_short sock, struct pccard_io_map *io) | |||
491 | { | 480 | { |
492 | u_char map; | 481 | u_char map; |
493 | 482 | ||
494 | debug(3, "m32r-pcc: SetIOMap(%d, %d, %#2.2x, %d ns, " | 483 | pr_debug("m32r_pcc: SetIOMap(%d, %d, %#2.2x, %d ns, " |
495 | "%#llx-%#llx)\n", sock, io->map, io->flags, | 484 | "%#llx-%#llx)\n", sock, io->map, io->flags, |
496 | io->speed, (unsigned long long)io->start, | 485 | io->speed, (unsigned long long)io->start, |
497 | (unsigned long long)io->stop); | 486 | (unsigned long long)io->stop); |
@@ -515,7 +504,7 @@ static int _pcc_set_mem_map(u_short sock, struct pccard_mem_map *mem) | |||
515 | #endif | 504 | #endif |
516 | #endif | 505 | #endif |
517 | 506 | ||
518 | debug(3, "m32r-pcc: SetMemMap(%d, %d, %#2.2x, %d ns, " | 507 | pr_debug("m32r_pcc: SetMemMap(%d, %d, %#2.2x, %d ns, " |
519 | "%#llx, %#x)\n", sock, map, mem->flags, | 508 | "%#llx, %#x)\n", sock, map, mem->flags, |
520 | mem->speed, (unsigned long long)mem->static_start, | 509 | mem->speed, (unsigned long long)mem->static_start, |
521 | mem->card_start); | 510 | mem->card_start); |
@@ -662,7 +651,7 @@ static int pcc_set_mem_map(struct pcmcia_socket *s, struct pccard_mem_map *mem) | |||
662 | 651 | ||
663 | static int pcc_init(struct pcmcia_socket *s) | 652 | static int pcc_init(struct pcmcia_socket *s) |
664 | { | 653 | { |
665 | debug(4, "m32r-pcc: init call\n"); | 654 | pr_debug("m32r_pcc: init call\n"); |
666 | return 0; | 655 | return 0; |
667 | } | 656 | } |
668 | 657 | ||
diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c index 403559ba49dd..7f79c4e169ae 100644 --- a/drivers/pcmcia/m8xx_pcmcia.c +++ b/drivers/pcmcia/m8xx_pcmcia.c | |||
@@ -64,14 +64,6 @@ | |||
64 | #include <pcmcia/cs.h> | 64 | #include <pcmcia/cs.h> |
65 | #include <pcmcia/ss.h> | 65 | #include <pcmcia/ss.h> |
66 | 66 | ||
67 | #ifdef CONFIG_PCMCIA_DEBUG | ||
68 | static int pc_debug; | ||
69 | module_param(pc_debug, int, 0); | ||
70 | #define dprintk(args...) printk(KERN_DEBUG "m8xx_pcmcia: " args); | ||
71 | #else | ||
72 | #define dprintk(args...) | ||
73 | #endif | ||
74 | |||
75 | #define pcmcia_info(args...) printk(KERN_INFO "m8xx_pcmcia: "args) | 67 | #define pcmcia_info(args...) printk(KERN_INFO "m8xx_pcmcia: "args) |
76 | #define pcmcia_error(args...) printk(KERN_ERR "m8xx_pcmcia: "args) | 68 | #define pcmcia_error(args...) printk(KERN_ERR "m8xx_pcmcia: "args) |
77 | 69 | ||
@@ -565,7 +557,7 @@ static irqreturn_t m8xx_interrupt(int irq, void *dev) | |||
565 | unsigned int i, events, pscr, pipr, per; | 557 | unsigned int i, events, pscr, pipr, per; |
566 | pcmconf8xx_t *pcmcia = socket[0].pcmcia; | 558 | pcmconf8xx_t *pcmcia = socket[0].pcmcia; |
567 | 559 | ||
568 | dprintk("Interrupt!\n"); | 560 | pr_debug("m8xx_pcmcia: Interrupt!\n"); |
569 | /* get interrupt sources */ | 561 | /* get interrupt sources */ |
570 | 562 | ||
571 | pscr = in_be32(&pcmcia->pcmc_pscr); | 563 | pscr = in_be32(&pcmcia->pcmc_pscr); |
@@ -614,7 +606,7 @@ static irqreturn_t m8xx_interrupt(int irq, void *dev) | |||
614 | 606 | ||
615 | /* call the handler */ | 607 | /* call the handler */ |
616 | 608 | ||
617 | dprintk("slot %u: events = 0x%02x, pscr = 0x%08x, " | 609 | pr_debug("m8xx_pcmcia: slot %u: events = 0x%02x, pscr = 0x%08x, " |
618 | "pipr = 0x%08x\n", i, events, pscr, pipr); | 610 | "pipr = 0x%08x\n", i, events, pscr, pipr); |
619 | 611 | ||
620 | if (events) { | 612 | if (events) { |
@@ -641,7 +633,7 @@ static irqreturn_t m8xx_interrupt(int irq, void *dev) | |||
641 | /* clear the interrupt sources */ | 633 | /* clear the interrupt sources */ |
642 | out_be32(&pcmcia->pcmc_pscr, pscr); | 634 | out_be32(&pcmcia->pcmc_pscr, pscr); |
643 | 635 | ||
644 | dprintk("Interrupt done.\n"); | 636 | pr_debug("m8xx_pcmcia: Interrupt done.\n"); |
645 | 637 | ||
646 | return IRQ_HANDLED; | 638 | return IRQ_HANDLED; |
647 | } | 639 | } |
@@ -815,7 +807,7 @@ static int m8xx_get_status(struct pcmcia_socket *sock, unsigned int *value) | |||
815 | }; | 807 | }; |
816 | } | 808 | } |
817 | 809 | ||
818 | dprintk("GetStatus(%d) = %#2.2x\n", lsock, *value); | 810 | pr_debug("m8xx_pcmcia: GetStatus(%d) = %#2.2x\n", lsock, *value); |
819 | return 0; | 811 | return 0; |
820 | } | 812 | } |
821 | 813 | ||
@@ -828,7 +820,7 @@ static int m8xx_set_socket(struct pcmcia_socket *sock, socket_state_t * state) | |||
828 | unsigned long flags; | 820 | unsigned long flags; |
829 | pcmconf8xx_t *pcmcia = socket[0].pcmcia; | 821 | pcmconf8xx_t *pcmcia = socket[0].pcmcia; |
830 | 822 | ||
831 | dprintk("SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " | 823 | pr_debug("m8xx_pcmcia: SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " |
832 | "io_irq %d, csc_mask %#2.2x)\n", lsock, state->flags, | 824 | "io_irq %d, csc_mask %#2.2x)\n", lsock, state->flags, |
833 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); | 825 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); |
834 | 826 | ||
@@ -974,7 +966,7 @@ static int m8xx_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io) | |||
974 | #define M8XX_SIZE (io->stop - io->start + 1) | 966 | #define M8XX_SIZE (io->stop - io->start + 1) |
975 | #define M8XX_BASE (PCMCIA_IO_WIN_BASE + io->start) | 967 | #define M8XX_BASE (PCMCIA_IO_WIN_BASE + io->start) |
976 | 968 | ||
977 | dprintk("SetIOMap(%d, %d, %#2.2x, %d ns, " | 969 | pr_debug("m8xx_pcmcia: SetIOMap(%d, %d, %#2.2x, %d ns, " |
978 | "%#4.4llx-%#4.4llx)\n", lsock, io->map, io->flags, | 970 | "%#4.4llx-%#4.4llx)\n", lsock, io->map, io->flags, |
979 | io->speed, (unsigned long long)io->start, | 971 | io->speed, (unsigned long long)io->start, |
980 | (unsigned long long)io->stop); | 972 | (unsigned long long)io->stop); |
@@ -988,7 +980,7 @@ static int m8xx_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io) | |||
988 | 980 | ||
989 | if (io->flags & MAP_ACTIVE) { | 981 | if (io->flags & MAP_ACTIVE) { |
990 | 982 | ||
991 | dprintk("io->flags & MAP_ACTIVE\n"); | 983 | pr_debug("m8xx_pcmcia: io->flags & MAP_ACTIVE\n"); |
992 | 984 | ||
993 | winnr = (PCMCIA_MEM_WIN_NO * PCMCIA_SOCKETS_NO) | 985 | winnr = (PCMCIA_MEM_WIN_NO * PCMCIA_SOCKETS_NO) |
994 | + (lsock * PCMCIA_IO_WIN_NO) + io->map; | 986 | + (lsock * PCMCIA_IO_WIN_NO) + io->map; |
@@ -1018,8 +1010,8 @@ static int m8xx_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io) | |||
1018 | 1010 | ||
1019 | out_be32(&w->or, reg); | 1011 | out_be32(&w->or, reg); |
1020 | 1012 | ||
1021 | dprintk("Socket %u: Mapped io window %u at %#8.8x, " | 1013 | pr_debug("m8xx_pcmcia: Socket %u: Mapped io window %u at " |
1022 | "OR = %#8.8x.\n", lsock, io->map, w->br, w->or); | 1014 | "%#8.8x, OR = %#8.8x.\n", lsock, io->map, w->br, w->or); |
1023 | } else { | 1015 | } else { |
1024 | /* shutdown IO window */ | 1016 | /* shutdown IO window */ |
1025 | winnr = (PCMCIA_MEM_WIN_NO * PCMCIA_SOCKETS_NO) | 1017 | winnr = (PCMCIA_MEM_WIN_NO * PCMCIA_SOCKETS_NO) |
@@ -1033,14 +1025,14 @@ static int m8xx_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io) | |||
1033 | out_be32(&w->or, 0); /* turn off window */ | 1025 | out_be32(&w->or, 0); /* turn off window */ |
1034 | out_be32(&w->br, 0); /* turn off base address */ | 1026 | out_be32(&w->br, 0); /* turn off base address */ |
1035 | 1027 | ||
1036 | dprintk("Socket %u: Unmapped io window %u at %#8.8x, " | 1028 | pr_debug("m8xx_pcmcia: Socket %u: Unmapped io window %u at " |
1037 | "OR = %#8.8x.\n", lsock, io->map, w->br, w->or); | 1029 | "%#8.8x, OR = %#8.8x.\n", lsock, io->map, w->br, w->or); |
1038 | } | 1030 | } |
1039 | 1031 | ||
1040 | /* copy the struct and modify the copy */ | 1032 | /* copy the struct and modify the copy */ |
1041 | s->io_win[io->map] = *io; | 1033 | s->io_win[io->map] = *io; |
1042 | s->io_win[io->map].flags &= (MAP_WRPROT | MAP_16BIT | MAP_ACTIVE); | 1034 | s->io_win[io->map].flags &= (MAP_WRPROT | MAP_16BIT | MAP_ACTIVE); |
1043 | dprintk("SetIOMap exit\n"); | 1035 | pr_debug("m8xx_pcmcia: SetIOMap exit\n"); |
1044 | 1036 | ||
1045 | return 0; | 1037 | return 0; |
1046 | } | 1038 | } |
@@ -1055,7 +1047,7 @@ static int m8xx_set_mem_map(struct pcmcia_socket *sock, | |||
1055 | unsigned int reg, winnr; | 1047 | unsigned int reg, winnr; |
1056 | pcmconf8xx_t *pcmcia = s->pcmcia; | 1048 | pcmconf8xx_t *pcmcia = s->pcmcia; |
1057 | 1049 | ||
1058 | dprintk("SetMemMap(%d, %d, %#2.2x, %d ns, " | 1050 | pr_debug("m8xx_pcmcia: SetMemMap(%d, %d, %#2.2x, %d ns, " |
1059 | "%#5.5llx, %#5.5x)\n", lsock, mem->map, mem->flags, | 1051 | "%#5.5llx, %#5.5x)\n", lsock, mem->map, mem->flags, |
1060 | mem->speed, (unsigned long long)mem->static_start, | 1052 | mem->speed, (unsigned long long)mem->static_start, |
1061 | mem->card_start); | 1053 | mem->card_start); |
@@ -1098,7 +1090,7 @@ static int m8xx_set_mem_map(struct pcmcia_socket *sock, | |||
1098 | 1090 | ||
1099 | out_be32(&w->or, reg); | 1091 | out_be32(&w->or, reg); |
1100 | 1092 | ||
1101 | dprintk("Socket %u: Mapped memory window %u at %#8.8x, " | 1093 | pr_debug("m8xx_pcmcia: Socket %u: Mapped memory window %u at %#8.8x, " |
1102 | "OR = %#8.8x.\n", lsock, mem->map, w->br, w->or); | 1094 | "OR = %#8.8x.\n", lsock, mem->map, w->br, w->or); |
1103 | 1095 | ||
1104 | if (mem->flags & MAP_ACTIVE) { | 1096 | if (mem->flags & MAP_ACTIVE) { |
@@ -1108,7 +1100,7 @@ static int m8xx_set_mem_map(struct pcmcia_socket *sock, | |||
1108 | + mem->card_start; | 1100 | + mem->card_start; |
1109 | } | 1101 | } |
1110 | 1102 | ||
1111 | dprintk("SetMemMap(%d, %d, %#2.2x, %d ns, " | 1103 | pr_debug("m8xx_pcmcia: SetMemMap(%d, %d, %#2.2x, %d ns, " |
1112 | "%#5.5llx, %#5.5x)\n", lsock, mem->map, mem->flags, | 1104 | "%#5.5llx, %#5.5x)\n", lsock, mem->map, mem->flags, |
1113 | mem->speed, (unsigned long long)mem->static_start, | 1105 | mem->speed, (unsigned long long)mem->static_start, |
1114 | mem->card_start); | 1106 | mem->card_start); |
@@ -1129,7 +1121,7 @@ static int m8xx_sock_init(struct pcmcia_socket *sock) | |||
1129 | pccard_io_map io = { 0, 0, 0, 0, 1 }; | 1121 | pccard_io_map io = { 0, 0, 0, 0, 1 }; |
1130 | pccard_mem_map mem = { 0, 0, 0, 0, 0, 0 }; | 1122 | pccard_mem_map mem = { 0, 0, 0, 0, 0, 0 }; |
1131 | 1123 | ||
1132 | dprintk("sock_init(%d)\n", s); | 1124 | pr_debug("m8xx_pcmcia: sock_init(%d)\n", s); |
1133 | 1125 | ||
1134 | m8xx_set_socket(sock, &dead_socket); | 1126 | m8xx_set_socket(sock, &dead_socket); |
1135 | for (i = 0; i < PCMCIA_IO_WIN_NO; i++) { | 1127 | for (i = 0; i < PCMCIA_IO_WIN_NO; i++) { |
diff --git a/drivers/pcmcia/tcic.c b/drivers/pcmcia/tcic.c index 6918849d511e..12c49ee135e1 100644 --- a/drivers/pcmcia/tcic.c +++ b/drivers/pcmcia/tcic.c | |||
@@ -55,21 +55,6 @@ | |||
55 | #include <pcmcia/ss.h> | 55 | #include <pcmcia/ss.h> |
56 | #include "tcic.h" | 56 | #include "tcic.h" |
57 | 57 | ||
58 | #ifdef CONFIG_PCMCIA_DEBUG | ||
59 | static int pc_debug; | ||
60 | |||
61 | module_param(pc_debug, int, 0644); | ||
62 | static const char version[] = | ||
63 | "tcic.c 1.111 2000/02/15 04:13:12 (David Hinds)"; | ||
64 | |||
65 | #define debug(lvl, fmt, arg...) do { \ | ||
66 | if (pc_debug > (lvl)) \ | ||
67 | printk(KERN_DEBUG "tcic: " fmt , ## arg); \ | ||
68 | } while (0) | ||
69 | #else | ||
70 | #define debug(lvl, fmt, arg...) do { } while (0) | ||
71 | #endif | ||
72 | |||
73 | MODULE_AUTHOR("David Hinds <dahinds@users.sourceforge.net>"); | 58 | MODULE_AUTHOR("David Hinds <dahinds@users.sourceforge.net>"); |
74 | MODULE_DESCRIPTION("Databook TCIC-2 PCMCIA socket driver"); | 59 | MODULE_DESCRIPTION("Databook TCIC-2 PCMCIA socket driver"); |
75 | MODULE_LICENSE("Dual MPL/GPL"); | 60 | MODULE_LICENSE("Dual MPL/GPL"); |
@@ -574,7 +559,7 @@ static irqreturn_t tcic_interrupt(int irq, void *dev) | |||
574 | } else | 559 | } else |
575 | active = 1; | 560 | active = 1; |
576 | 561 | ||
577 | debug(2, "tcic_interrupt()\n"); | 562 | pr_debug("tcic_interrupt()\n"); |
578 | 563 | ||
579 | for (i = 0; i < sockets; i++) { | 564 | for (i = 0; i < sockets; i++) { |
580 | psock = socket_table[i].psock; | 565 | psock = socket_table[i].psock; |
@@ -611,13 +596,13 @@ static irqreturn_t tcic_interrupt(int irq, void *dev) | |||
611 | } | 596 | } |
612 | active = 0; | 597 | active = 0; |
613 | 598 | ||
614 | debug(2, "interrupt done\n"); | 599 | pr_debug("interrupt done\n"); |
615 | return IRQ_HANDLED; | 600 | return IRQ_HANDLED; |
616 | } /* tcic_interrupt */ | 601 | } /* tcic_interrupt */ |
617 | 602 | ||
618 | static void tcic_timer(u_long data) | 603 | static void tcic_timer(u_long data) |
619 | { | 604 | { |
620 | debug(2, "tcic_timer()\n"); | 605 | pr_debug("tcic_timer()\n"); |
621 | tcic_timer_pending = 0; | 606 | tcic_timer_pending = 0; |
622 | tcic_interrupt(0, NULL); | 607 | tcic_interrupt(0, NULL); |
623 | } /* tcic_timer */ | 608 | } /* tcic_timer */ |
@@ -644,7 +629,7 @@ static int tcic_get_status(struct pcmcia_socket *sock, u_int *value) | |||
644 | reg = tcic_getb(TCIC_PWR); | 629 | reg = tcic_getb(TCIC_PWR); |
645 | if (reg & (TCIC_PWR_VCC(psock)|TCIC_PWR_VPP(psock))) | 630 | if (reg & (TCIC_PWR_VCC(psock)|TCIC_PWR_VPP(psock))) |
646 | *value |= SS_POWERON; | 631 | *value |= SS_POWERON; |
647 | debug(1, "GetStatus(%d) = %#2.2x\n", psock, *value); | 632 | dev_dbg(&sock->dev, "GetStatus(%d) = %#2.2x\n", psock, *value); |
648 | return 0; | 633 | return 0; |
649 | } /* tcic_get_status */ | 634 | } /* tcic_get_status */ |
650 | 635 | ||
@@ -656,7 +641,7 @@ static int tcic_set_socket(struct pcmcia_socket *sock, socket_state_t *state) | |||
656 | u_char reg; | 641 | u_char reg; |
657 | u_short scf1, scf2; | 642 | u_short scf1, scf2; |
658 | 643 | ||
659 | debug(1, "SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " | 644 | dev_dbg(&sock->dev, "SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, " |
660 | "io_irq %d, csc_mask %#2.2x)\n", psock, state->flags, | 645 | "io_irq %d, csc_mask %#2.2x)\n", psock, state->flags, |
661 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); | 646 | state->Vcc, state->Vpp, state->io_irq, state->csc_mask); |
662 | tcic_setw(TCIC_ADDR+2, (psock << TCIC_SS_SHFT) | TCIC_ADR2_INDREG); | 647 | tcic_setw(TCIC_ADDR+2, (psock << TCIC_SS_SHFT) | TCIC_ADR2_INDREG); |
@@ -731,7 +716,7 @@ static int tcic_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io) | |||
731 | u_int addr; | 716 | u_int addr; |
732 | u_short base, len, ioctl; | 717 | u_short base, len, ioctl; |
733 | 718 | ||
734 | debug(1, "SetIOMap(%d, %d, %#2.2x, %d ns, " | 719 | dev_dbg(&sock->dev, "SetIOMap(%d, %d, %#2.2x, %d ns, " |
735 | "%#llx-%#llx)\n", psock, io->map, io->flags, io->speed, | 720 | "%#llx-%#llx)\n", psock, io->map, io->flags, io->speed, |
736 | (unsigned long long)io->start, (unsigned long long)io->stop); | 721 | (unsigned long long)io->start, (unsigned long long)io->stop); |
737 | if ((io->map > 1) || (io->start > 0xffff) || (io->stop > 0xffff) || | 722 | if ((io->map > 1) || (io->start > 0xffff) || (io->stop > 0xffff) || |
@@ -768,7 +753,7 @@ static int tcic_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *m | |||
768 | u_short addr, ctl; | 753 | u_short addr, ctl; |
769 | u_long base, len, mmap; | 754 | u_long base, len, mmap; |
770 | 755 | ||
771 | debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, " | 756 | dev_dbg(&sock->dev, "SetMemMap(%d, %d, %#2.2x, %d ns, " |
772 | "%#llx-%#llx, %#x)\n", psock, mem->map, mem->flags, | 757 | "%#llx-%#llx, %#x)\n", psock, mem->map, mem->flags, |
773 | mem->speed, (unsigned long long)mem->res->start, | 758 | mem->speed, (unsigned long long)mem->res->start, |
774 | (unsigned long long)mem->res->end, mem->card_start); | 759 | (unsigned long long)mem->res->end, mem->card_start); |