From beb1252e3658dd6d0950a1199f6f08a08d508a23 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Mon, 20 Aug 2012 14:30:08 -0700 Subject: [PATCH] --- yaml --- r: 324643 b: refs/heads/master c: d3bcf099dee9b7eff642890612da1f1a13bb3255 h: refs/heads/master i: 324641: 3fac403fa3af663604c5b1d5eb5625645b5f136f 324639: 2680ccaa5f40d35cfbe7095630713e01b74bb32d v: v3 --- [refs] | 2 +- .../staging/comedi/drivers/comedi_parport.c | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f184092d130b..551faaa8d8f0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fa38126b51d05ebaeeb14e6724c86d4fb08a52a5 +refs/heads/master: d3bcf099dee9b7eff642890612da1f1a13bb3255 diff --git a/trunk/drivers/staging/comedi/drivers/comedi_parport.c b/trunk/drivers/staging/comedi/drivers/comedi_parport.c index 9a63cac2434a..fcad42369119 100644 --- a/trunk/drivers/staging/comedi/drivers/comedi_parport.c +++ b/trunk/drivers/staging/comedi/drivers/comedi_parport.c @@ -96,11 +96,12 @@ struct parport_private { unsigned int c_data; int enable_irq; }; -#define devpriv ((struct parport_private *)(dev->private)) static int parport_insn_a(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data) { + struct parport_private *devpriv = dev->private; + if (data[0]) { devpriv->a_data &= ~data[0]; devpriv->a_data |= (data[0] & data[1]); @@ -117,6 +118,8 @@ static int parport_insn_config_a(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data) { + struct parport_private *devpriv = dev->private; + if (data[0]) { s->io_bits = 0xff; devpriv->c_data &= ~(1 << 5); @@ -145,6 +148,8 @@ static int parport_insn_b(struct comedi_device *dev, struct comedi_subdevice *s, static int parport_insn_c(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data) { + struct parport_private *devpriv = dev->private; + data[0] &= 0x0f; if (data[0]) { devpriv->c_data &= ~data[0]; @@ -245,6 +250,8 @@ static int parport_intr_cmdtest(struct comedi_device *dev, static int parport_intr_cmd(struct comedi_device *dev, struct comedi_subdevice *s) { + struct parport_private *devpriv = dev->private; + devpriv->c_data |= 0x10; outb(devpriv->c_data, dev->iobase + PARPORT_C); @@ -256,6 +263,8 @@ static int parport_intr_cmd(struct comedi_device *dev, static int parport_intr_cancel(struct comedi_device *dev, struct comedi_subdevice *s) { + struct parport_private *devpriv = dev->private; + printk(KERN_DEBUG "parport_intr_cancel()\n"); devpriv->c_data &= ~0x10; @@ -269,6 +278,7 @@ static int parport_intr_cancel(struct comedi_device *dev, static irqreturn_t parport_interrupt(int irq, void *d) { struct comedi_device *dev = d; + struct parport_private *devpriv = dev->private; struct comedi_subdevice *s = dev->subdevices + 3; if (!devpriv->enable_irq) { @@ -286,6 +296,7 @@ static irqreturn_t parport_interrupt(int irq, void *d) static int parport_attach(struct comedi_device *dev, struct comedi_devconfig *it) { + struct parport_private *devpriv; int ret; unsigned int irq; unsigned long iobase; @@ -316,9 +327,10 @@ static int parport_attach(struct comedi_device *dev, if (ret) return ret; - ret = alloc_private(dev, sizeof(struct parport_private)); + ret = alloc_private(dev, sizeof(*devpriv)); if (ret < 0) return ret; + devpriv = dev->private; s = dev->subdevices + 0; s->type = COMEDI_SUBD_DIO;