Commit 2fb90b12 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 707abb79 5a68b2e3
...@@ -126,7 +126,7 @@ static unsigned char status_sunbpp_to_pc(struct parport *p) ...@@ -126,7 +126,7 @@ static unsigned char status_sunbpp_to_pc(struct parport *p)
if (!(value_tcr & P_TCR_BUSY)) if (!(value_tcr & P_TCR_BUSY))
bits |= PARPORT_STATUS_BUSY; bits |= PARPORT_STATUS_BUSY;
dprintk((KERN_DEBUG "tcr 0x%x ir 0x%x\n", regs->p_tcr, regs->p_ir)); dprintk((KERN_DEBUG "tcr 0x%x ir 0x%x\n", value_tcr, value_ir));
dprintk((KERN_DEBUG "read status 0x%x\n", bits)); dprintk((KERN_DEBUG "read status 0x%x\n", bits));
return bits; return bits;
} }
...@@ -147,7 +147,7 @@ static unsigned char control_sunbpp_to_pc(struct parport *p) ...@@ -147,7 +147,7 @@ static unsigned char control_sunbpp_to_pc(struct parport *p)
if (value_or & P_OR_SLCT_IN) if (value_or & P_OR_SLCT_IN)
bits |= PARPORT_CONTROL_SELECT; bits |= PARPORT_CONTROL_SELECT;
dprintk((KERN_DEBUG "tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); dprintk((KERN_DEBUG "tcr 0x%x or 0x%x\n", value_tcr, value_or));
dprintk((KERN_DEBUG "read control 0x%x\n", bits)); dprintk((KERN_DEBUG "read control 0x%x\n", bits));
return bits; return bits;
} }
...@@ -165,7 +165,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p, ...@@ -165,7 +165,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p,
unsigned char value_tcr = sbus_readb(&regs->p_tcr); unsigned char value_tcr = sbus_readb(&regs->p_tcr);
unsigned char value_or = sbus_readb(&regs->p_or); unsigned char value_or = sbus_readb(&regs->p_or);
dprintk((KERN_DEBUG "frob1: tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); dprintk((KERN_DEBUG "frob1: tcr 0x%x or 0x%x\n",
value_tcr, value_or));
if (mask & PARPORT_CONTROL_STROBE) { if (mask & PARPORT_CONTROL_STROBE) {
if (val & PARPORT_CONTROL_STROBE) { if (val & PARPORT_CONTROL_STROBE) {
value_tcr &= ~P_TCR_DS; value_tcr &= ~P_TCR_DS;
...@@ -197,7 +198,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p, ...@@ -197,7 +198,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p,
sbus_writeb(value_or, &regs->p_or); sbus_writeb(value_or, &regs->p_or);
sbus_writeb(value_tcr, &regs->p_tcr); sbus_writeb(value_tcr, &regs->p_tcr);
dprintk((KERN_DEBUG "frob2: tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); dprintk((KERN_DEBUG "frob2: tcr 0x%x or 0x%x\n",
value_tcr, value_or));
return parport_sunbpp_read_control(p); return parport_sunbpp_read_control(p);
} }
......
...@@ -249,7 +249,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp ...@@ -249,7 +249,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
struct pci_dev *pdev; struct pci_dev *pdev;
struct pcidev_cookie *pcp; struct pcidev_cookie *pcp;
pdev = pci_find_slot (((int *) op->oprom_array)[0], pdev = pci_get_bus_and_slot (((int *) op->oprom_array)[0],
((int *) op->oprom_array)[1]); ((int *) op->oprom_array)[1]);
pcp = pdev->sysdata; pcp = pdev->sysdata;
...@@ -260,6 +260,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp ...@@ -260,6 +260,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp
op->oprom_size = sizeof(int); op->oprom_size = sizeof(int);
err = copyout(argp, op, bufsize + sizeof(int)); err = copyout(argp, op, bufsize + sizeof(int));
} }
pci_dev_put(pdev);
#endif #endif
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment