diff options
Diffstat (limited to 'drivers/char/pcmcia/cm4040_cs.c')
-rw-r--r-- | drivers/char/pcmcia/cm4040_cs.c | 52 |
1 files changed, 22 insertions, 30 deletions
diff --git a/drivers/char/pcmcia/cm4040_cs.c b/drivers/char/pcmcia/cm4040_cs.c index 4f0723b07974..a6a70e476bea 100644 --- a/drivers/char/pcmcia/cm4040_cs.c +++ b/drivers/char/pcmcia/cm4040_cs.c | |||
@@ -17,8 +17,6 @@ | |||
17 | * All rights reserved, Dual BSD/GPL Licensed. | 17 | * All rights reserved, Dual BSD/GPL Licensed. |
18 | */ | 18 | */ |
19 | 19 | ||
20 | /* #define PCMCIA_DEBUG 6 */ | ||
21 | |||
22 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
23 | #include <linux/module.h> | 21 | #include <linux/module.h> |
24 | #include <linux/slab.h> | 22 | #include <linux/slab.h> |
@@ -41,18 +39,16 @@ | |||
41 | #include "cm4040_cs.h" | 39 | #include "cm4040_cs.h" |
42 | 40 | ||
43 | 41 | ||
44 | #ifdef PCMCIA_DEBUG | 42 | #define reader_to_dev(x) (&x->p_dev->dev) |
45 | #define reader_to_dev(x) (&handle_to_dev(x->p_dev)) | 43 | |
46 | static int pc_debug = PCMCIA_DEBUG; | 44 | /* n (debug level) is ignored */ |
47 | module_param(pc_debug, int, 0600); | 45 | /* additional debug output may be enabled by re-compiling with |
48 | #define DEBUGP(n, rdr, x, args...) do { \ | 46 | * CM4040_DEBUG set */ |
49 | if (pc_debug >= (n)) \ | 47 | /* #define CM4040_DEBUG */ |
50 | dev_printk(KERN_DEBUG, reader_to_dev(rdr), "%s:" x, \ | 48 | #define DEBUGP(n, rdr, x, args...) do { \ |
51 | __func__ , ##args); \ | 49 | dev_dbg(reader_to_dev(rdr), "%s:" x, \ |
50 | __func__ , ## args); \ | ||
52 | } while (0) | 51 | } while (0) |
53 | #else | ||
54 | #define DEBUGP(n, rdr, x, args...) | ||
55 | #endif | ||
56 | 52 | ||
57 | static char *version = | 53 | static char *version = |
58 | "OMNIKEY CardMan 4040 v1.1.0gm5 - All bugs added by Harald Welte"; | 54 | "OMNIKEY CardMan 4040 v1.1.0gm5 - All bugs added by Harald Welte"; |
@@ -90,14 +86,13 @@ struct reader_dev { | |||
90 | 86 | ||
91 | static struct pcmcia_device *dev_table[CM_MAX_DEV]; | 87 | static struct pcmcia_device *dev_table[CM_MAX_DEV]; |
92 | 88 | ||
93 | #ifndef PCMCIA_DEBUG | 89 | #ifndef CM4040_DEBUG |
94 | #define xoutb outb | 90 | #define xoutb outb |
95 | #define xinb inb | 91 | #define xinb inb |
96 | #else | 92 | #else |
97 | static inline void xoutb(unsigned char val, unsigned short port) | 93 | static inline void xoutb(unsigned char val, unsigned short port) |
98 | { | 94 | { |
99 | if (pc_debug >= 7) | 95 | pr_debug("outb(val=%.2x,port=%.4x)\n", val, port); |
100 | printk(KERN_DEBUG "outb(val=%.2x,port=%.4x)\n", val, port); | ||
101 | outb(val, port); | 96 | outb(val, port); |
102 | } | 97 | } |
103 | 98 | ||
@@ -106,8 +101,7 @@ static inline unsigned char xinb(unsigned short port) | |||
106 | unsigned char val; | 101 | unsigned char val; |
107 | 102 | ||
108 | val = inb(port); | 103 | val = inb(port); |
109 | if (pc_debug >= 7) | 104 | pr_debug("%.2x=inb(%.4x)\n", val, port); |
110 | printk(KERN_DEBUG "%.2x=inb(%.4x)\n", val, port); | ||
111 | return val; | 105 | return val; |
112 | } | 106 | } |
113 | #endif | 107 | #endif |
@@ -260,23 +254,22 @@ static ssize_t cm4040_read(struct file *filp, char __user *buf, | |||
260 | return -EIO; | 254 | return -EIO; |
261 | } | 255 | } |
262 | dev->r_buf[i] = xinb(iobase + REG_OFFSET_BULK_IN); | 256 | dev->r_buf[i] = xinb(iobase + REG_OFFSET_BULK_IN); |
263 | #ifdef PCMCIA_DEBUG | 257 | #ifdef CM4040_DEBUG |
264 | if (pc_debug >= 6) | 258 | pr_debug("%lu:%2x ", i, dev->r_buf[i]); |
265 | printk(KERN_DEBUG "%lu:%2x ", i, dev->r_buf[i]); | ||
266 | } | 259 | } |
267 | printk("\n"); | 260 | pr_debug("\n"); |
268 | #else | 261 | #else |
269 | } | 262 | } |
270 | #endif | 263 | #endif |
271 | 264 | ||
272 | bytes_to_read = 5 + le32_to_cpu(*(__le32 *)&dev->r_buf[1]); | 265 | bytes_to_read = 5 + le32_to_cpu(*(__le32 *)&dev->r_buf[1]); |
273 | 266 | ||
274 | DEBUGP(6, dev, "BytesToRead=%lu\n", bytes_to_read); | 267 | DEBUGP(6, dev, "BytesToRead=%zu\n", bytes_to_read); |
275 | 268 | ||
276 | min_bytes_to_read = min(count, bytes_to_read + 5); | 269 | min_bytes_to_read = min(count, bytes_to_read + 5); |
277 | min_bytes_to_read = min_t(size_t, min_bytes_to_read, READ_WRITE_BUFFER_SIZE); | 270 | min_bytes_to_read = min_t(size_t, min_bytes_to_read, READ_WRITE_BUFFER_SIZE); |
278 | 271 | ||
279 | DEBUGP(6, dev, "Min=%lu\n", min_bytes_to_read); | 272 | DEBUGP(6, dev, "Min=%zu\n", min_bytes_to_read); |
280 | 273 | ||
281 | for (i = 0; i < (min_bytes_to_read-5); i++) { | 274 | for (i = 0; i < (min_bytes_to_read-5); i++) { |
282 | rc = wait_for_bulk_in_ready(dev); | 275 | rc = wait_for_bulk_in_ready(dev); |
@@ -288,11 +281,10 @@ static ssize_t cm4040_read(struct file *filp, char __user *buf, | |||
288 | return -EIO; | 281 | return -EIO; |
289 | } | 282 | } |
290 | dev->r_buf[i+5] = xinb(iobase + REG_OFFSET_BULK_IN); | 283 | dev->r_buf[i+5] = xinb(iobase + REG_OFFSET_BULK_IN); |
291 | #ifdef PCMCIA_DEBUG | 284 | #ifdef CM4040_DEBUG |
292 | if (pc_debug >= 6) | 285 | pr_debug("%lu:%2x ", i, dev->r_buf[i]); |
293 | printk(KERN_DEBUG "%lu:%2x ", i, dev->r_buf[i]); | ||
294 | } | 286 | } |
295 | printk("\n"); | 287 | pr_debug("\n"); |
296 | #else | 288 | #else |
297 | } | 289 | } |
298 | #endif | 290 | #endif |
@@ -547,7 +539,7 @@ static int cm4040_config_check(struct pcmcia_device *p_dev, | |||
547 | p_dev->io.IOAddrLines = cfg->io.flags & CISTPL_IO_LINES_MASK; | 539 | p_dev->io.IOAddrLines = cfg->io.flags & CISTPL_IO_LINES_MASK; |
548 | 540 | ||
549 | rc = pcmcia_request_io(p_dev, &p_dev->io); | 541 | rc = pcmcia_request_io(p_dev, &p_dev->io); |
550 | dev_printk(KERN_INFO, &handle_to_dev(p_dev), | 542 | dev_printk(KERN_INFO, &p_dev->dev, |
551 | "pcmcia_request_io returned 0x%x\n", rc); | 543 | "pcmcia_request_io returned 0x%x\n", rc); |
552 | return rc; | 544 | return rc; |
553 | } | 545 | } |
@@ -569,7 +561,7 @@ static int reader_config(struct pcmcia_device *link, int devno) | |||
569 | 561 | ||
570 | fail_rc = pcmcia_request_configuration(link, &link->conf); | 562 | fail_rc = pcmcia_request_configuration(link, &link->conf); |
571 | if (fail_rc != 0) { | 563 | if (fail_rc != 0) { |
572 | dev_printk(KERN_INFO, &handle_to_dev(link), | 564 | dev_printk(KERN_INFO, &link->dev, |
573 | "pcmcia_request_configuration failed 0x%x\n", | 565 | "pcmcia_request_configuration failed 0x%x\n", |
574 | fail_rc); | 566 | fail_rc); |
575 | goto cs_release; | 567 | goto cs_release; |