aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r--drivers/pcmcia/o2micro.h10
-rw-r--r--drivers/pcmcia/ti113x.h78
-rw-r--r--drivers/pcmcia/yenta_socket.c86
3 files changed, 97 insertions, 77 deletions
diff --git a/drivers/pcmcia/o2micro.h b/drivers/pcmcia/o2micro.h
index a234ce1967a3..5554015a7813 100644
--- a/drivers/pcmcia/o2micro.h
+++ b/drivers/pcmcia/o2micro.h
@@ -140,7 +140,8 @@ static int o2micro_override(struct yenta_socket *socket)
140 a = config_readb(socket, O2_RESERVED1); 140 a = config_readb(socket, O2_RESERVED1);
141 b = config_readb(socket, O2_RESERVED2); 141 b = config_readb(socket, O2_RESERVED2);
142 142
143 printk(KERN_INFO "Yenta O2: res at 0x94/0xD4: %02x/%02x\n", a, b); 143 dev_printk(KERN_INFO, &socket->dev->dev,
144 "O2: res at 0x94/0xD4: %02x/%02x\n", a, b);
144 145
145 switch (socket->dev->device) { 146 switch (socket->dev->device) {
146 /* 147 /*
@@ -153,7 +154,9 @@ static int o2micro_override(struct yenta_socket *socket)
153 case PCI_DEVICE_ID_O2_6812: 154 case PCI_DEVICE_ID_O2_6812:
154 case PCI_DEVICE_ID_O2_6832: 155 case PCI_DEVICE_ID_O2_6832:
155 case PCI_DEVICE_ID_O2_6836: 156 case PCI_DEVICE_ID_O2_6836:
156 printk(KERN_INFO "Yenta O2: old bridge, disabling read prefetch/write burst\n"); 157 dev_printk(KERN_INFO, &socket->dev->dev,
158 "Yenta O2: old bridge, disabling read "
159 "prefetch/write burst\n");
157 config_writeb(socket, O2_RESERVED1, 160 config_writeb(socket, O2_RESERVED1,
158 a & ~(O2_RES_READ_PREFETCH | O2_RES_WRITE_BURST)); 161 a & ~(O2_RES_READ_PREFETCH | O2_RES_WRITE_BURST));
159 config_writeb(socket, O2_RESERVED2, 162 config_writeb(socket, O2_RESERVED2,
@@ -161,7 +164,8 @@ static int o2micro_override(struct yenta_socket *socket)
161 break; 164 break;
162 165
163 default: 166 default:
164 printk(KERN_INFO "Yenta O2: enabling read prefetch/write burst\n"); 167 dev_printk(KERN_INFO , &socket->dev->dev,
168 "O2: enabling read prefetch/write burst\n");
165 config_writeb(socket, O2_RESERVED1, 169 config_writeb(socket, O2_RESERVED1,
166 a | O2_RES_READ_PREFETCH | O2_RES_WRITE_BURST); 170 a | O2_RES_READ_PREFETCH | O2_RES_WRITE_BURST);
167 config_writeb(socket, O2_RESERVED2, 171 config_writeb(socket, O2_RESERVED2,
diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
index 129db7bd06c3..aaa70227bfb0 100644
--- a/drivers/pcmcia/ti113x.h
+++ b/drivers/pcmcia/ti113x.h
@@ -339,8 +339,8 @@ static void ti12xx_irqroute_func0(struct yenta_socket *socket)
339 339
340 mfunc = mfunc_old = config_readl(socket, TI122X_MFUNC); 340 mfunc = mfunc_old = config_readl(socket, TI122X_MFUNC);
341 devctl = config_readb(socket, TI113X_DEVICE_CONTROL); 341 devctl = config_readb(socket, TI113X_DEVICE_CONTROL);
342 printk(KERN_INFO "Yenta TI: socket %s, mfunc 0x%08x, devctl 0x%02x\n", 342 dev_printk(KERN_INFO, &socket->dev->dev,
343 pci_name(socket->dev), mfunc, devctl); 343 "TI: mfunc 0x%08x, devctl 0x%02x\n", mfunc, devctl);
344 344
345 /* make sure PCI interrupts are enabled before probing */ 345 /* make sure PCI interrupts are enabled before probing */
346 ti_init(socket); 346 ti_init(socket);
@@ -354,8 +354,8 @@ static void ti12xx_irqroute_func0(struct yenta_socket *socket)
354 * We're here which means PCI interrupts are _not_ delivered. try to 354 * We're here which means PCI interrupts are _not_ delivered. try to
355 * find the right setting (all serial or parallel) 355 * find the right setting (all serial or parallel)
356 */ 356 */
357 printk(KERN_INFO "Yenta TI: socket %s probing PCI interrupt failed, trying to fix\n", 357 dev_printk(KERN_INFO, &socket->dev->dev,
358 pci_name(socket->dev)); 358 "TI: probing PCI interrupt failed, trying to fix\n");
359 359
360 /* for serial PCI make sure MFUNC3 is set to IRQSER */ 360 /* for serial PCI make sure MFUNC3 is set to IRQSER */
361 if ((devctl & TI113X_DCR_IMODE_MASK) == TI12XX_DCR_IMODE_ALL_SERIAL) { 361 if ((devctl & TI113X_DCR_IMODE_MASK) == TI12XX_DCR_IMODE_ALL_SERIAL) {
@@ -379,8 +379,8 @@ static void ti12xx_irqroute_func0(struct yenta_socket *socket)
379 379
380 pci_irq_status = yenta_probe_cb_irq(socket); 380 pci_irq_status = yenta_probe_cb_irq(socket);
381 if (pci_irq_status == 1) { 381 if (pci_irq_status == 1) {
382 printk(KERN_INFO "Yenta TI: socket %s all-serial interrupts ok\n", 382 dev_printk(KERN_INFO, &socket->dev->dev,
383 pci_name(socket->dev)); 383 "TI: all-serial interrupts ok\n");
384 mfunc_old = mfunc; 384 mfunc_old = mfunc;
385 goto out; 385 goto out;
386 } 386 }
@@ -395,8 +395,8 @@ static void ti12xx_irqroute_func0(struct yenta_socket *socket)
395 } 395 }
396 396
397 /* serial PCI interrupts not working fall back to parallel */ 397 /* serial PCI interrupts not working fall back to parallel */
398 printk(KERN_INFO "Yenta TI: socket %s falling back to parallel PCI interrupts\n", 398 dev_printk(KERN_INFO, &socket->dev->dev,
399 pci_name(socket->dev)); 399 "TI: falling back to parallel PCI interrupts\n");
400 devctl &= ~TI113X_DCR_IMODE_MASK; 400 devctl &= ~TI113X_DCR_IMODE_MASK;
401 devctl |= TI113X_DCR_IMODE_SERIAL; /* serial ISA could be right */ 401 devctl |= TI113X_DCR_IMODE_SERIAL; /* serial ISA could be right */
402 config_writeb(socket, TI113X_DEVICE_CONTROL, devctl); 402 config_writeb(socket, TI113X_DEVICE_CONTROL, devctl);
@@ -427,8 +427,8 @@ static void ti12xx_irqroute_func0(struct yenta_socket *socket)
427 pci_irq_status = yenta_probe_cb_irq(socket); 427 pci_irq_status = yenta_probe_cb_irq(socket);
428 if (pci_irq_status == 1) { 428 if (pci_irq_status == 1) {
429 mfunc_old = mfunc; 429 mfunc_old = mfunc;
430 printk(KERN_INFO "Yenta TI: socket %s parallel PCI interrupts ok\n", 430 dev_printk(KERN_INFO, &socket->dev->dev,
431 pci_name(socket->dev)); 431 "TI: parallel PCI interrupts ok\n");
432 } else { 432 } else {
433 /* not working, back to old value */ 433 /* not working, back to old value */
434 mfunc = mfunc_old; 434 mfunc = mfunc_old;
@@ -440,8 +440,9 @@ static void ti12xx_irqroute_func0(struct yenta_socket *socket)
440out: 440out:
441 if (pci_irq_status < 1) { 441 if (pci_irq_status < 1) {
442 socket->cb_irq = 0; 442 socket->cb_irq = 0;
443 printk(KERN_INFO "Yenta TI: socket %s no PCI interrupts. Fish. Please report.\n", 443 dev_printk(KERN_INFO, &socket->dev->dev,
444 pci_name(socket->dev)); 444 "Yenta TI: no PCI interrupts. Fish. "
445 "Please report.\n");
445 } 446 }
446} 447}
447 448
@@ -513,8 +514,9 @@ static void ti12xx_irqroute_func1(struct yenta_socket *socket)
513 514
514 mfunc = mfunc_old = config_readl(socket, TI122X_MFUNC); 515 mfunc = mfunc_old = config_readl(socket, TI122X_MFUNC);
515 devctl = config_readb(socket, TI113X_DEVICE_CONTROL); 516 devctl = config_readb(socket, TI113X_DEVICE_CONTROL);
516 printk(KERN_INFO "Yenta TI: socket %s, mfunc 0x%08x, devctl 0x%02x\n", 517 dev_printk(KERN_INFO, &socket->dev->dev,
517 pci_name(socket->dev), mfunc, devctl); 518 "TI: mfunc 0x%08x, devctl 0x%02x\n",
519 mfunc, devctl);
518 520
519 /* if IRQs are configured as tied, align irq of func1 with func0 */ 521 /* if IRQs are configured as tied, align irq of func1 with func0 */
520 sysctl = config_readl(socket, TI113X_SYSTEM_CONTROL); 522 sysctl = config_readl(socket, TI113X_SYSTEM_CONTROL);
@@ -533,9 +535,8 @@ static void ti12xx_irqroute_func1(struct yenta_socket *socket)
533 * We're here which means PCI interrupts are _not_ delivered. try to 535 * We're here which means PCI interrupts are _not_ delivered. try to
534 * find the right setting 536 * find the right setting
535 */ 537 */
536 printk(KERN_INFO "Yenta TI: socket %s probing PCI interrupt failed, trying to fix\n", 538 dev_printk(KERN_INFO, &socket->dev->dev,
537 pci_name(socket->dev)); 539 "TI: probing PCI interrupt failed, trying to fix\n");
538
539 540
540 /* if all serial: set INTRTIE, probe again */ 541 /* if all serial: set INTRTIE, probe again */
541 if ((devctl & TI113X_DCR_IMODE_MASK) == TI12XX_DCR_IMODE_ALL_SERIAL) { 542 if ((devctl & TI113X_DCR_IMODE_MASK) == TI12XX_DCR_IMODE_ALL_SERIAL) {
@@ -544,8 +545,8 @@ static void ti12xx_irqroute_func1(struct yenta_socket *socket)
544 if (ti12xx_tie_interrupts(socket, &old_irq)) { 545 if (ti12xx_tie_interrupts(socket, &old_irq)) {
545 pci_irq_status = yenta_probe_cb_irq(socket); 546 pci_irq_status = yenta_probe_cb_irq(socket);
546 if (pci_irq_status == 1) { 547 if (pci_irq_status == 1) {
547 printk(KERN_INFO "Yenta TI: socket %s all-serial interrupts, tied ok\n", 548 dev_printk(KERN_INFO, &socket->dev->dev,
548 pci_name(socket->dev)); 549 "TI: all-serial interrupts, tied ok\n");
549 goto out; 550 goto out;
550 } 551 }
551 552
@@ -582,8 +583,8 @@ static void ti12xx_irqroute_func1(struct yenta_socket *socket)
582 583
583 pci_irq_status = yenta_probe_cb_irq(socket); 584 pci_irq_status = yenta_probe_cb_irq(socket);
584 if (pci_irq_status == 1) { 585 if (pci_irq_status == 1) {
585 printk(KERN_INFO "Yenta TI: socket %s parallel PCI interrupts ok\n", 586 dev_printk(KERN_INFO, &socket->dev->dev,
586 pci_name(socket->dev)); 587 "TI: parallel PCI interrupts ok\n");
587 goto out; 588 goto out;
588 } 589 }
589 590
@@ -593,13 +594,13 @@ static void ti12xx_irqroute_func1(struct yenta_socket *socket)
593 if (pci_irq_status == -1) 594 if (pci_irq_status == -1)
594 goto out; 595 goto out;
595 } 596 }
596 597
597 /* still nothing: set INTRTIE */ 598 /* still nothing: set INTRTIE */
598 if (ti12xx_tie_interrupts(socket, &old_irq)) { 599 if (ti12xx_tie_interrupts(socket, &old_irq)) {
599 pci_irq_status = yenta_probe_cb_irq(socket); 600 pci_irq_status = yenta_probe_cb_irq(socket);
600 if (pci_irq_status == 1) { 601 if (pci_irq_status == 1) {
601 printk(KERN_INFO "Yenta TI: socket %s parallel PCI interrupts, tied ok\n", 602 dev_printk(KERN_INFO, &socket->dev->dev,
602 pci_name(socket->dev)); 603 "TI: parallel PCI interrupts, tied ok\n");
603 goto out; 604 goto out;
604 } 605 }
605 606
@@ -610,8 +611,8 @@ static void ti12xx_irqroute_func1(struct yenta_socket *socket)
610out: 611out:
611 if (pci_irq_status < 1) { 612 if (pci_irq_status < 1) {
612 socket->cb_irq = 0; 613 socket->cb_irq = 0;
613 printk(KERN_INFO "Yenta TI: socket %s no PCI interrupts. Fish. Please report.\n", 614 dev_printk(KERN_INFO, &socket->dev->dev,
614 pci_name(socket->dev)); 615 "TI: no PCI interrupts. Fish. Please report.\n");
615 } 616 }
616} 617}
617 618
@@ -815,11 +816,13 @@ static int ti12xx_override(struct yenta_socket *socket)
815 /* make sure that memory burst is active */ 816 /* make sure that memory burst is active */
816 val_orig = val = config_readl(socket, TI113X_SYSTEM_CONTROL); 817 val_orig = val = config_readl(socket, TI113X_SYSTEM_CONTROL);
817 if (disable_clkrun && PCI_FUNC(socket->dev->devfn) == 0) { 818 if (disable_clkrun && PCI_FUNC(socket->dev->devfn) == 0) {
818 printk(KERN_INFO "Yenta: Disabling CLKRUN feature\n"); 819 dev_printk(KERN_INFO, &socket->dev->dev,
820 "Disabling CLKRUN feature\n");
819 val |= TI113X_SCR_KEEPCLK; 821 val |= TI113X_SCR_KEEPCLK;
820 } 822 }
821 if (!(val & TI122X_SCR_MRBURSTUP)) { 823 if (!(val & TI122X_SCR_MRBURSTUP)) {
822 printk(KERN_INFO "Yenta: Enabling burst memory read transactions\n"); 824 dev_printk(KERN_INFO, &socket->dev->dev,
825 "Enabling burst memory read transactions\n");
823 val |= TI122X_SCR_MRBURSTUP; 826 val |= TI122X_SCR_MRBURSTUP;
824 } 827 }
825 if (val_orig != val) 828 if (val_orig != val)
@@ -830,10 +833,12 @@ static int ti12xx_override(struct yenta_socket *socket)
830 * CSC interrupts to PCI rather than INTVAL. 833 * CSC interrupts to PCI rather than INTVAL.
831 */ 834 */
832 val = config_readb(socket, TI1250_DIAGNOSTIC); 835 val = config_readb(socket, TI1250_DIAGNOSTIC);
833 printk(KERN_INFO "Yenta: Using %s to route CSC interrupts to PCI\n", 836 dev_printk(KERN_INFO, &socket->dev->dev,
834 (val & TI1250_DIAG_PCI_CSC) ? "CSCINT" : "INTVAL"); 837 "Using %s to route CSC interrupts to PCI\n",
835 printk(KERN_INFO "Yenta: Routing CardBus interrupts to %s\n", 838 (val & TI1250_DIAG_PCI_CSC) ? "CSCINT" : "INTVAL");
836 (val & TI1250_DIAG_PCI_IREQ) ? "PCI" : "ISA"); 839 dev_printk(KERN_INFO, &socket->dev->dev,
840 "Routing CardBus interrupts to %s\n",
841 (val & TI1250_DIAG_PCI_IREQ) ? "PCI" : "ISA");
837 842
838 /* do irqrouting, depending on function */ 843 /* do irqrouting, depending on function */
839 if (PCI_FUNC(socket->dev->devfn) == 0) 844 if (PCI_FUNC(socket->dev->devfn) == 0)
@@ -858,8 +863,9 @@ static int ti1250_override(struct yenta_socket *socket)
858 diag |= TI1250_DIAG_PCI_CSC | TI1250_DIAG_PCI_IREQ; 863 diag |= TI1250_DIAG_PCI_CSC | TI1250_DIAG_PCI_IREQ;
859 864
860 if (diag != old) { 865 if (diag != old) {
861 printk(KERN_INFO "Yenta: adjusting diagnostic: %02x -> %02x\n", 866 dev_printk(KERN_INFO, &socket->dev->dev,
862 old, diag); 867 "adjusting diagnostic: %02x -> %02x\n",
868 old, diag);
863 config_writeb(socket, TI1250_DIAGNOSTIC, diag); 869 config_writeb(socket, TI1250_DIAGNOSTIC, diag);
864 } 870 }
865 871
@@ -924,7 +930,9 @@ static void ene_tune_bridge(struct pcmcia_socket *sock, struct pci_bus *bus)
924 /* default to clear TLTEnable bit, old behaviour */ 930 /* default to clear TLTEnable bit, old behaviour */
925 test_c9 &= ~ENE_TEST_C9_TLTENABLE; 931 test_c9 &= ~ENE_TEST_C9_TLTENABLE;
926 932
927 printk(KERN_INFO "yenta EnE: chaning testregister 0xC9, %02x -> %02x\n", old_c9, test_c9); 933 dev_printk(KERN_INFO, &socket->dev->dev,
934 "EnE: chaning testregister 0xC9, %02x -> %02x\n",
935 old_c9, test_c9);
928 config_writeb(socket, ENE_TEST_C9, test_c9); 936 config_writeb(socket, ENE_TEST_C9, test_c9);
929} 937}
930 938
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 0ab1fb65cdc3..3ecd7c99d8eb 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -38,11 +38,7 @@ static int pwr_irqs_off;
38module_param(pwr_irqs_off, bool, 0644); 38module_param(pwr_irqs_off, bool, 0644);
39MODULE_PARM_DESC(pwr_irqs_off, "Force IRQs off during power-on of slot. Use only when seeing IRQ storms!"); 39MODULE_PARM_DESC(pwr_irqs_off, "Force IRQs off during power-on of slot. Use only when seeing IRQ storms!");
40 40
41#if 0 41#define debug(x, s, args...) dev_dbg(&s->dev->dev, x, ##args)
42#define debug(x,args...) printk(KERN_DEBUG "%s: " x, __func__ , ##args)
43#else
44#define debug(x,args...)
45#endif
46 42
47/* Don't ask.. */ 43/* Don't ask.. */
48#define to_cycles(ns) ((ns)/120) 44#define to_cycles(ns) ((ns)/120)
@@ -69,13 +65,13 @@ MODULE_PARM_DESC (override_bios, "yenta ignore bios resource allocation");
69static inline u32 cb_readl(struct yenta_socket *socket, unsigned reg) 65static inline u32 cb_readl(struct yenta_socket *socket, unsigned reg)
70{ 66{
71 u32 val = readl(socket->base + reg); 67 u32 val = readl(socket->base + reg);
72 debug("%p %04x %08x\n", socket, reg, val); 68 debug("%04x %08x\n", socket, reg, val);
73 return val; 69 return val;
74} 70}
75 71
76static inline void cb_writel(struct yenta_socket *socket, unsigned reg, u32 val) 72static inline void cb_writel(struct yenta_socket *socket, unsigned reg, u32 val)
77{ 73{
78 debug("%p %04x %08x\n", socket, reg, val); 74 debug("%04x %08x\n", socket, reg, val);
79 writel(val, socket->base + reg); 75 writel(val, socket->base + reg);
80 readl(socket->base + reg); /* avoid problems with PCI write posting */ 76 readl(socket->base + reg); /* avoid problems with PCI write posting */
81} 77}
@@ -84,7 +80,7 @@ static inline u8 config_readb(struct yenta_socket *socket, unsigned offset)
84{ 80{
85 u8 val; 81 u8 val;
86 pci_read_config_byte(socket->dev, offset, &val); 82 pci_read_config_byte(socket->dev, offset, &val);
87 debug("%p %04x %02x\n", socket, offset, val); 83 debug("%04x %02x\n", socket, offset, val);
88 return val; 84 return val;
89} 85}
90 86
@@ -92,7 +88,7 @@ static inline u16 config_readw(struct yenta_socket *socket, unsigned offset)
92{ 88{
93 u16 val; 89 u16 val;
94 pci_read_config_word(socket->dev, offset, &val); 90 pci_read_config_word(socket->dev, offset, &val);
95 debug("%p %04x %04x\n", socket, offset, val); 91 debug("%04x %04x\n", socket, offset, val);
96 return val; 92 return val;
97} 93}
98 94
@@ -100,32 +96,32 @@ static inline u32 config_readl(struct yenta_socket *socket, unsigned offset)
100{ 96{
101 u32 val; 97 u32 val;
102 pci_read_config_dword(socket->dev, offset, &val); 98 pci_read_config_dword(socket->dev, offset, &val);
103 debug("%p %04x %08x\n", socket, offset, val); 99 debug("%04x %08x\n", socket, offset, val);
104 return val; 100 return val;
105} 101}
106 102
107static inline void config_writeb(struct yenta_socket *socket, unsigned offset, u8 val) 103static inline void config_writeb(struct yenta_socket *socket, unsigned offset, u8 val)
108{ 104{
109 debug("%p %04x %02x\n", socket, offset, val); 105 debug("%04x %02x\n", socket, offset, val);
110 pci_write_config_byte(socket->dev, offset, val); 106 pci_write_config_byte(socket->dev, offset, val);
111} 107}
112 108
113static inline void config_writew(struct yenta_socket *socket, unsigned offset, u16 val) 109static inline void config_writew(struct yenta_socket *socket, unsigned offset, u16 val)
114{ 110{
115 debug("%p %04x %04x\n", socket, offset, val); 111 debug("%04x %04x\n", socket, offset, val);
116 pci_write_config_word(socket->dev, offset, val); 112 pci_write_config_word(socket->dev, offset, val);
117} 113}
118 114
119static inline void config_writel(struct yenta_socket *socket, unsigned offset, u32 val) 115static inline void config_writel(struct yenta_socket *socket, unsigned offset, u32 val)
120{ 116{
121 debug("%p %04x %08x\n", socket, offset, val); 117 debug("%04x %08x\n", socket, offset, val);
122 pci_write_config_dword(socket->dev, offset, val); 118 pci_write_config_dword(socket->dev, offset, val);
123} 119}
124 120
125static inline u8 exca_readb(struct yenta_socket *socket, unsigned reg) 121static inline u8 exca_readb(struct yenta_socket *socket, unsigned reg)
126{ 122{
127 u8 val = readb(socket->base + 0x800 + reg); 123 u8 val = readb(socket->base + 0x800 + reg);
128 debug("%p %04x %02x\n", socket, reg, val); 124 debug("%04x %02x\n", socket, reg, val);
129 return val; 125 return val;
130} 126}
131 127
@@ -134,20 +130,20 @@ static inline u8 exca_readw(struct yenta_socket *socket, unsigned reg)
134 u16 val; 130 u16 val;
135 val = readb(socket->base + 0x800 + reg); 131 val = readb(socket->base + 0x800 + reg);
136 val |= readb(socket->base + 0x800 + reg + 1) << 8; 132 val |= readb(socket->base + 0x800 + reg + 1) << 8;
137 debug("%p %04x %04x\n", socket, reg, val); 133 debug("%04x %04x\n", socket, reg, val);
138 return val; 134 return val;
139} 135}
140 136
141static inline void exca_writeb(struct yenta_socket *socket, unsigned reg, u8 val) 137static inline void exca_writeb(struct yenta_socket *socket, unsigned reg, u8 val)
142{ 138{
143 debug("%p %04x %02x\n", socket, reg, val); 139 debug("%04x %02x\n", socket, reg, val);
144 writeb(val, socket->base + 0x800 + reg); 140 writeb(val, socket->base + 0x800 + reg);
145 readb(socket->base + 0x800 + reg); /* PCI write posting... */ 141 readb(socket->base + 0x800 + reg); /* PCI write posting... */
146} 142}
147 143
148static void exca_writew(struct yenta_socket *socket, unsigned reg, u16 val) 144static void exca_writew(struct yenta_socket *socket, unsigned reg, u16 val)
149{ 145{
150 debug("%p %04x %04x\n", socket, reg, val); 146 debug("%04x %04x\n", socket, reg, val);
151 writeb(val, socket->base + 0x800 + reg); 147 writeb(val, socket->base + 0x800 + reg);
152 writeb(val >> 8, socket->base + 0x800 + reg + 1); 148 writeb(val >> 8, socket->base + 0x800 + reg + 1);
153 149
@@ -207,7 +203,7 @@ static int yenta_get_status(struct pcmcia_socket *sock, unsigned int *value)
207 203
208 204
209 if (state & CB_CBCARD) { 205 if (state & CB_CBCARD) {
210 val |= SS_CARDBUS; 206 val |= SS_CARDBUS;
211 val |= (state & CB_CARDSTS) ? SS_STSCHG : 0; 207 val |= (state & CB_CARDSTS) ? SS_STSCHG : 0;
212 val |= (state & (CB_CDETECT1 | CB_CDETECT2)) ? 0 : SS_DETECT; 208 val |= (state & (CB_CDETECT1 | CB_CDETECT2)) ? 0 : SS_DETECT;
213 val |= (state & CB_PWRCYCLE) ? SS_POWERON | SS_READY : 0; 209 val |= (state & CB_PWRCYCLE) ? SS_POWERON | SS_READY : 0;
@@ -650,8 +646,10 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type
650 root = pci_find_parent_resource(socket->dev, res); 646 root = pci_find_parent_resource(socket->dev, res);
651 if (root && (request_resource(root, res) == 0)) 647 if (root && (request_resource(root, res) == 0))
652 return 0; 648 return 0;
653 printk(KERN_INFO "yenta %s: Preassigned resource %d busy or not available, reconfiguring...\n", 649 dev_printk(KERN_INFO, &socket->dev->dev,
654 pci_name(socket->dev), nr); 650 "Preassigned resource %d busy or not available, "
651 "reconfiguring...\n",
652 nr);
655 } 653 }
656 654
657 if (type & IORESOURCE_IO) { 655 if (type & IORESOURCE_IO) {
@@ -674,8 +672,9 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type
674 return 1; 672 return 1;
675 } 673 }
676 674
677 printk(KERN_INFO "yenta %s: no resource of type %x available, trying to continue...\n", 675 dev_printk(KERN_INFO, &socket->dev->dev,
678 pci_name(socket->dev), type); 676 "no resource of type %x available, trying to continue...\n",
677 type);
679 res->start = res->end = res->flags = 0; 678 res->start = res->end = res->flags = 0;
680 return 0; 679 return 0;
681} 680}
@@ -923,7 +922,8 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
923 socket->probe_status = 0; 922 socket->probe_status = 0;
924 923
925 if (request_irq(socket->cb_irq, yenta_probe_handler, IRQF_SHARED, "yenta", socket)) { 924 if (request_irq(socket->cb_irq, yenta_probe_handler, IRQF_SHARED, "yenta", socket)) {
926 printk(KERN_WARNING "Yenta: request_irq() in yenta_probe_cb_irq() failed!\n"); 925 dev_printk(KERN_WARNING, &socket->dev->dev,
926 "request_irq() in yenta_probe_cb_irq() failed!\n");
927 return -1; 927 return -1;
928 } 928 }
929 929
@@ -960,8 +960,9 @@ static void yenta_get_socket_capabilities(struct yenta_socket *socket, u32 isa_i
960 else 960 else
961 socket->socket.irq_mask = 0; 961 socket->socket.irq_mask = 0;
962 962
963 printk(KERN_INFO "Yenta: ISA IRQ mask 0x%04x, PCI irq %d\n", 963 dev_printk(KERN_INFO, &socket->dev->dev,
964 socket->socket.irq_mask, socket->cb_irq); 964 "ISA IRQ mask 0x%04x, PCI irq %d\n",
965 socket->socket.irq_mask, socket->cb_irq);
965} 966}
966 967
967/* 968/*
@@ -1051,8 +1052,9 @@ static void yenta_fixup_parent_bridge(struct pci_bus *cardbus_bridge)
1051 1052
1052 /* Show that the wanted subordinate number is not possible: */ 1053 /* Show that the wanted subordinate number is not possible: */
1053 if (cardbus_bridge->subordinate > upper_limit) 1054 if (cardbus_bridge->subordinate > upper_limit)
1054 printk(KERN_WARNING "Yenta: Upper limit for fixing this " 1055 dev_printk(KERN_WARNING, &cardbus_bridge->dev,
1055 "bridge's parent bridge: #%02x\n", upper_limit); 1056 "Upper limit for fixing this "
1057 "bridge's parent bridge: #%02x\n", upper_limit);
1056 1058
1057 /* If we have room to increase the bridge's subordinate number, */ 1059 /* If we have room to increase the bridge's subordinate number, */
1058 if (bridge_to_fix->subordinate < upper_limit) { 1060 if (bridge_to_fix->subordinate < upper_limit) {
@@ -1061,10 +1063,11 @@ static void yenta_fixup_parent_bridge(struct pci_bus *cardbus_bridge)
1061 unsigned char subordinate_to_assign = 1063 unsigned char subordinate_to_assign =
1062 min(cardbus_bridge->subordinate, upper_limit); 1064 min(cardbus_bridge->subordinate, upper_limit);
1063 1065
1064 printk(KERN_INFO "Yenta: Raising subordinate bus# of parent " 1066 dev_printk(KERN_INFO, &bridge_to_fix->dev,
1065 "bus (#%02x) from #%02x to #%02x\n", 1067 "Raising subordinate bus# of parent "
1066 bridge_to_fix->number, 1068 "bus (#%02x) from #%02x to #%02x\n",
1067 bridge_to_fix->subordinate, subordinate_to_assign); 1069 bridge_to_fix->number,
1070 bridge_to_fix->subordinate, subordinate_to_assign);
1068 1071
1069 /* Save the new subordinate in the bus struct of the bridge */ 1072 /* Save the new subordinate in the bus struct of the bridge */
1070 bridge_to_fix->subordinate = subordinate_to_assign; 1073 bridge_to_fix->subordinate = subordinate_to_assign;
@@ -1091,8 +1094,8 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i
1091 * Bail out if so. 1094 * Bail out if so.
1092 */ 1095 */
1093 if (!dev->subordinate) { 1096 if (!dev->subordinate) {
1094 printk(KERN_ERR "Yenta: no bus associated with %s! " 1097 dev_printk(KERN_ERR, &dev->dev, "no bus associated! "
1095 "(try 'pci=assign-busses')\n", pci_name(dev)); 1098 "(try 'pci=assign-busses')\n");
1096 return -ENODEV; 1099 return -ENODEV;
1097 } 1100 }
1098 1101
@@ -1127,7 +1130,7 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i
1127 goto disable; 1130 goto disable;
1128 1131
1129 if (!pci_resource_start(dev, 0)) { 1132 if (!pci_resource_start(dev, 0)) {
1130 printk(KERN_ERR "No cardbus resource!\n"); 1133 dev_printk(KERN_ERR, &dev->dev, "No cardbus resource!\n");
1131 ret = -ENODEV; 1134 ret = -ENODEV;
1132 goto release; 1135 goto release;
1133 } 1136 }
@@ -1146,8 +1149,8 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i
1146 * report the subsystem vendor and device for help debugging 1149 * report the subsystem vendor and device for help debugging
1147 * the irq stuff... 1150 * the irq stuff...
1148 */ 1151 */
1149 printk(KERN_INFO "Yenta: CardBus bridge found at %s [%04x:%04x]\n", 1152 dev_printk(KERN_INFO, &dev->dev, "CardBus bridge found [%04x:%04x]\n",
1150 pci_name(dev), dev->subsystem_vendor, dev->subsystem_device); 1153 dev->subsystem_vendor, dev->subsystem_device);
1151 1154
1152 yenta_config_init(socket); 1155 yenta_config_init(socket);
1153 1156
@@ -1179,8 +1182,12 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i
1179 socket->poll_timer.data = (unsigned long)socket; 1182 socket->poll_timer.data = (unsigned long)socket;
1180 socket->poll_timer.expires = jiffies + HZ; 1183 socket->poll_timer.expires = jiffies + HZ;
1181 add_timer(&socket->poll_timer); 1184 add_timer(&socket->poll_timer);
1182 printk(KERN_INFO "Yenta: no PCI IRQ, CardBus support disabled for this socket.\n" 1185 dev_printk(KERN_INFO, &dev->dev,
1183 KERN_INFO "Yenta: check your BIOS CardBus, BIOS IRQ or ACPI settings.\n"); 1186 "no PCI IRQ, CardBus support disabled for this "
1187 "socket.\n");
1188 dev_printk(KERN_INFO, &dev->dev,
1189 "check your BIOS CardBus, BIOS IRQ or ACPI "
1190 "settings.\n");
1184 } else { 1191 } else {
1185 socket->socket.features |= SS_CAP_CARDBUS; 1192 socket->socket.features |= SS_CAP_CARDBUS;
1186 } 1193 }
@@ -1188,7 +1195,8 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i
1188 /* Figure out what the dang thing can do for the PCMCIA layer... */ 1195 /* Figure out what the dang thing can do for the PCMCIA layer... */
1189 yenta_interrogate(socket); 1196 yenta_interrogate(socket);
1190 yenta_get_socket_capabilities(socket, isa_interrupts); 1197 yenta_get_socket_capabilities(socket, isa_interrupts);
1191 printk(KERN_INFO "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE)); 1198 dev_printk(KERN_INFO, &dev->dev,
1199 "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE));
1192 1200
1193 yenta_fixup_parent_bridge(dev->subordinate); 1201 yenta_fixup_parent_bridge(dev->subordinate);
1194 1202