Skip to content

Commit

Permalink
parisc: parport0: fix this legacy no-device port driver!
Browse files Browse the repository at this point in the history
Fix the above kernel error from parport_announce_port() on 32bit GSC
machines (e.g. B160L). The parport driver requires now a pointer to the
device struct.

Signed-off-by: Helge Deller <[email protected]>
  • Loading branch information
hdeller committed Jun 1, 2013
1 parent c218c71 commit 4edb386
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions drivers/parport/parport_gsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ static int parport_PS2_supported(struct parport *pb)

struct parport *parport_gsc_probe_port(unsigned long base,
unsigned long base_hi, int irq,
int dma, struct pci_dev *dev)
int dma, struct parisc_device *padev)
{
struct parport_gsc_private *priv;
struct parport_operations *ops;
Expand All @@ -258,7 +258,6 @@ struct parport *parport_gsc_probe_port(unsigned long base,
priv->ctr_writable = 0xff;
priv->dma_buf = 0;
priv->dma_handle = 0;
priv->dev = dev;
p->base = base;
p->base_hi = base_hi;
p->irq = irq;
Expand All @@ -282,6 +281,7 @@ struct parport *parport_gsc_probe_port(unsigned long base,
return NULL;
}

p->dev = &padev->dev;
p->base_hi = base_hi;
p->modes = tmp.modes;
p->size = (p->modes & PARPORT_MODE_EPP)?8:3;
Expand Down Expand Up @@ -373,7 +373,7 @@ static int parport_init_chip(struct parisc_device *dev)
}

p = parport_gsc_probe_port(port, 0, dev->irq,
/* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, NULL);
/* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, dev);
if (p)
parport_count++;
dev_set_drvdata(&dev->dev, p);
Expand Down
2 changes: 1 addition & 1 deletion drivers/parport/parport_gsc.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,6 @@ extern void parport_gsc_dec_use_count(void);
extern struct parport *parport_gsc_probe_port(unsigned long base,
unsigned long base_hi,
int irq, int dma,
struct pci_dev *dev);
struct parisc_device *padev);

#endif /* __DRIVERS_PARPORT_PARPORT_GSC_H */

0 comments on commit 4edb386

Please sign in to comment.