Since you're redoing this already, I thought I nit pick it to death.

On Fri, Mar 16, 2012 at 12:19:25PM +0600, Alexander Pazdnikov wrote:
> Thank you Greg, I've corrected driver taking into account your comments.
> This is my first friver, I've missed to check the first version with 
> checkpatch script.
> Today it goes through checkpatch script with no errors and warnings.
> Appreciate any comments.
> 
> The ad7739.h file is need for inclusion into board specific initialization 
> file
> and to configure the exact chip.
> 
> Signed-off-by: Alexander Pazdnikov <[email protected]>
                                                ^^^^^^^
                                                gmail.com

> +/*
> +    Usage example through board-setup.
> +static const struct ad7739_platform_data dd11_adc =.{
                                                      ^
Remove the typo extra period.

> +     .chanselect_p0p1 = 1,
> +};
> +

> +
> +struct ad7739_private *devpriv(struct comedi_device *dev)

Make this function static.

> +{
> +     return dev->private;
> +}
> +
> +/* write buffer */
> +static
> +int ad7739_write_msg(struct comedi_device *dev, const u8 *buf, size_t len)

Normally we would either break this up like:

static int ad7739_write_msg(struct comedi_device *dev, const u8 *buf,
                            size_t len)

Or if you are really old maybe like this:
static int
ad7739_write_msg(struct comedi_device *dev, const u8 *buf, size_t len)

> +{
> +     return spi_write(devpriv(dev)->spi, buf, len);
> +}
> +
> +#define COMM_REG_READ 0x40
> +
> +/* write 8-bit register */
> +static int ad7739_write(struct comedi_device *dev, u8 reg, u8 val)
> +{
> +     int ret = 0;
               ^^^^
No need to initialize this.
> +     struct spi_device *spi = devpriv(dev)->spi;
> +
> +     u8 out[2];

Remove the blank line before the "out" declaration.

> +
> +     out[0] = reg & ~COMM_REG_READ;
> +     out[1] = val;
> +
> +     dev_dbg(&spi->dev, "write reg %#x, val %#x\n", reg, val);
> +
> +     ret = spi_write(spi, out, sizeof(out));
> +
> +     return ret;
> +}
> +
> +/* read register of desired size */
> +static
> +int ad7739_read(struct comedi_device *dev, u8 reg, u8 *in, size_t size)
> +{
> +     struct spi_device *spi = devpriv(dev)->spi;
> +     int ret;
> +
> +     u8 cmd = reg | COMM_REG_READ;

Remove blank line before the "cmd" declaration.

> +
> +     ret = spi_write_then_read(spi, &cmd, 1, in, size);
> +

> +static int ai_insn_read(struct comedi_device *dev, struct comedi_subdevice 
> *s,
> +                     struct comedi_insn *insn, unsigned int *data)
> +{
> +     u8 buf[4];
> +     u8 status = 0;
> +
> +     const unsigned chan = CR_CHAN(insn->chanspec);
> +     const unsigned range = CR_RANGE(insn->chanspec);
> +     const unsigned aref = CR_AREF(insn->chanspec);
> +     struct ad7739_platform_data *pdata;
> +
> +     int ret = 0;
> +
> +     u8 setup = range
> +             + ((aref == AREF_DIFF) ? SETUP_DIFFER : 0) + SETUP_ENABLE;
> +

Remove the blank lines between the declarations.  "ret" and "status"
don't need to be initialized.

> +static
> +int ad7739_attach(struct comedi_device *dev, struct comedi_devconfig *it)
> +{
> +     struct comedi_subdevice *s = NULL;
> +     struct ad7739_private *priv = NULL;
> +     struct device *d = NULL;
> +
> +     char devname[64];

Remove blank line in declaration block.

> +
> +     if (alloc_private(dev, sizeof(struct ad7739_private)) < 0)
> +             return -ENOMEM;

        ret = alloc_private(dev, sizeof(struct ad7739_private));
        if (ret)
                return ret;

> +
> +     if (alloc_subdevices(dev, 1) < 0)
> +             return -ENOMEM;

        ret = alloc_subdevices(dev, 1);
        if (ret)
                return ret;

> +     /* Reset the chip */
> +     ad7739_reset(dev);
> +
> +     init_completion(&priv->ready);
> +
> +     if (request_irq(priv->spi->irq, ad7739_irq, 0, dev->board_name, priv)) {
> +
> +             dev_err(dev->class_dev, "IRQ %u request failed\n",
> +                     priv->spi->irq);
> +             return -EBUSY;
> +     }

        ret = request_irq(priv->spi->irq, ad7739_irq, 0, dev->board_name, priv);
        if (ret) {
                dev_err(dev->class_dev, "IRQ %u request failed (%d)\n",
                        priv->spi->irq, ret);
                return ret;
        }

Anyway, small nit picks.  In a way, if this driver were crap like
certain other staging drivers I wouldn't have said anything but it's
actually really nice.  Good job.

regards,
dan carpenter

Attachment: signature.asc
Description: Digital signature

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to