diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-25 16:51:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-25 16:51:45 -0400 |
commit | 2fb90b128aaf7758e3de22119515fb11174d4f23 (patch) | |
tree | 082a1b9eaa0c17ca6ccae3aef03f58a77d60dc69 /drivers | |
parent | 707abb7986293b24b83dba163ffc79d8895236f9 (diff) | |
parent | 5a68b2e346f043820e2ba0cde57cc75b4561c124 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[PARPORT] SUNBPP: Fix OOPS when debugging is enabled.
[SPARC] openprom: Switch to ref counting PCI API
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/parport/parport_sunbpp.c | 10 | ||||
-rw-r--r-- | drivers/sbus/char/openprom.c | 3 |
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/parport/parport_sunbpp.c b/drivers/parport/parport_sunbpp.c index 9793533276ec..400bb90084cf 100644 --- a/drivers/parport/parport_sunbpp.c +++ b/drivers/parport/parport_sunbpp.c | |||
@@ -126,7 +126,7 @@ static unsigned char status_sunbpp_to_pc(struct parport *p) | |||
126 | if (!(value_tcr & P_TCR_BUSY)) | 126 | if (!(value_tcr & P_TCR_BUSY)) |
127 | bits |= PARPORT_STATUS_BUSY; | 127 | bits |= PARPORT_STATUS_BUSY; |
128 | 128 | ||
129 | dprintk((KERN_DEBUG "tcr 0x%x ir 0x%x\n", regs->p_tcr, regs->p_ir)); | 129 | dprintk((KERN_DEBUG "tcr 0x%x ir 0x%x\n", value_tcr, value_ir)); |
130 | dprintk((KERN_DEBUG "read status 0x%x\n", bits)); | 130 | dprintk((KERN_DEBUG "read status 0x%x\n", bits)); |
131 | return bits; | 131 | return bits; |
132 | } | 132 | } |
@@ -147,7 +147,7 @@ static unsigned char control_sunbpp_to_pc(struct parport *p) | |||
147 | if (value_or & P_OR_SLCT_IN) | 147 | if (value_or & P_OR_SLCT_IN) |
148 | bits |= PARPORT_CONTROL_SELECT; | 148 | bits |= PARPORT_CONTROL_SELECT; |
149 | 149 | ||
150 | dprintk((KERN_DEBUG "tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); | 150 | dprintk((KERN_DEBUG "tcr 0x%x or 0x%x\n", value_tcr, value_or)); |
151 | dprintk((KERN_DEBUG "read control 0x%x\n", bits)); | 151 | dprintk((KERN_DEBUG "read control 0x%x\n", bits)); |
152 | return bits; | 152 | return bits; |
153 | } | 153 | } |
@@ -165,7 +165,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p, | |||
165 | unsigned char value_tcr = sbus_readb(®s->p_tcr); | 165 | unsigned char value_tcr = sbus_readb(®s->p_tcr); |
166 | unsigned char value_or = sbus_readb(®s->p_or); | 166 | unsigned char value_or = sbus_readb(®s->p_or); |
167 | 167 | ||
168 | dprintk((KERN_DEBUG "frob1: tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); | 168 | dprintk((KERN_DEBUG "frob1: tcr 0x%x or 0x%x\n", |
169 | value_tcr, value_or)); | ||
169 | if (mask & PARPORT_CONTROL_STROBE) { | 170 | if (mask & PARPORT_CONTROL_STROBE) { |
170 | if (val & PARPORT_CONTROL_STROBE) { | 171 | if (val & PARPORT_CONTROL_STROBE) { |
171 | value_tcr &= ~P_TCR_DS; | 172 | value_tcr &= ~P_TCR_DS; |
@@ -197,7 +198,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p, | |||
197 | 198 | ||
198 | sbus_writeb(value_or, ®s->p_or); | 199 | sbus_writeb(value_or, ®s->p_or); |
199 | sbus_writeb(value_tcr, ®s->p_tcr); | 200 | sbus_writeb(value_tcr, ®s->p_tcr); |
200 | dprintk((KERN_DEBUG "frob2: tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); | 201 | dprintk((KERN_DEBUG "frob2: tcr 0x%x or 0x%x\n", |
202 | value_tcr, value_or)); | ||
201 | return parport_sunbpp_read_control(p); | 203 | return parport_sunbpp_read_control(p); |
202 | } | 204 | } |
203 | 205 | ||
diff --git a/drivers/sbus/char/openprom.c b/drivers/sbus/char/openprom.c index eec28c142a59..5041c9dfbe3b 100644 --- a/drivers/sbus/char/openprom.c +++ b/drivers/sbus/char/openprom.c | |||
@@ -249,7 +249,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp | |||
249 | #ifdef CONFIG_PCI | 249 | #ifdef CONFIG_PCI |
250 | struct pci_dev *pdev; | 250 | struct pci_dev *pdev; |
251 | struct pcidev_cookie *pcp; | 251 | struct pcidev_cookie *pcp; |
252 | pdev = pci_find_slot (((int *) op->oprom_array)[0], | 252 | pdev = pci_get_bus_and_slot (((int *) op->oprom_array)[0], |
253 | ((int *) op->oprom_array)[1]); | 253 | ((int *) op->oprom_array)[1]); |
254 | 254 | ||
255 | pcp = pdev->sysdata; | 255 | pcp = pdev->sysdata; |
@@ -260,6 +260,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp | |||
260 | op->oprom_size = sizeof(int); | 260 | op->oprom_size = sizeof(int); |
261 | err = copyout(argp, op, bufsize + sizeof(int)); | 261 | err = copyout(argp, op, bufsize + sizeof(int)); |
262 | } | 262 | } |
263 | pci_dev_put(pdev); | ||
263 | #endif | 264 | #endif |
264 | } | 265 | } |
265 | 266 | ||