Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

parisc: parport0: fix this legacy no-device port driver!

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 <deller@gmx.de>

+4 -4
+3 -3
drivers/parport/parport_gsc.c
··· 234 234 235 235 struct parport *parport_gsc_probe_port(unsigned long base, 236 236 unsigned long base_hi, int irq, 237 - int dma, struct pci_dev *dev) 237 + int dma, struct parisc_device *padev) 238 238 { 239 239 struct parport_gsc_private *priv; 240 240 struct parport_operations *ops; ··· 258 258 priv->ctr_writable = 0xff; 259 259 priv->dma_buf = 0; 260 260 priv->dma_handle = 0; 261 - priv->dev = dev; 262 261 p->base = base; 263 262 p->base_hi = base_hi; 264 263 p->irq = irq; ··· 281 282 return NULL; 282 283 } 283 284 285 + p->dev = &padev->dev; 284 286 p->base_hi = base_hi; 285 287 p->modes = tmp.modes; 286 288 p->size = (p->modes & PARPORT_MODE_EPP)?8:3; ··· 373 373 } 374 374 375 375 p = parport_gsc_probe_port(port, 0, dev->irq, 376 - /* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, NULL); 376 + /* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, dev); 377 377 if (p) 378 378 parport_count++; 379 379 dev_set_drvdata(&dev->dev, p);
+1 -1
drivers/parport/parport_gsc.h
··· 217 217 extern struct parport *parport_gsc_probe_port(unsigned long base, 218 218 unsigned long base_hi, 219 219 int irq, int dma, 220 - struct pci_dev *dev); 220 + struct parisc_device *padev); 221 221 222 222 #endif /* __DRIVERS_PARPORT_PARPORT_GSC_H */