[PATCH 1/2] staging/comedi/drivers: add driver for ad7739 analog to digital converter chip on an spi bus

Greg KH greg at kroah.com
Fri Mar 16 15:28:50 UTC 2012


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.

Looks better, some minor comments below.

Note, I don't know the comedi subsystem that well, so I'll let others
say if you messed up anything there.

> The ad7739.h file is need for inclusion into board specific initialization file
> and to configure the exact chip.

Ok, so it will end up in include/linux/platform_data/ eventually, right?


> +/* #define DEBUG 1 */
> +
> +#include "../comedidev.h"
> +#include "ad7739.h"
> +#include <linux/gpio.h>
> +#include <linux/completion.h>
> +#include <linux/spi/spi.h>
> +#include <linux/interrupt.h>

Extra line here would be nice.

> +#define MAX_DATA 0xFFFFFF	/* 24-bit mode only */
> +#define CONVERT_TIMEOUT_MSECS 100	/* spec max conv time = 2689 usecs */
> +#define DRIVER_NAME "ad7739"

Why not just use KBUILD_MODNAME wherever you were using DRIVER_NAME?
That ensures you get things right.

> +#ifdef DEBUG
> +static int ad7739_print(struct device *dev, void *data)
> +{
> +	dev_info(dev, "dev_name = %s\n", dev_name(dev));
> +
> +	return 0;
> +}
> +#endif

You should probably take this out, along with the call below where you
use it, as it's not needed anymore, right?

> +	snprintf(devname, sizeof(devname), "%s%u.%u", spi_bus_type.name,
> +		 (unsigned)((dev->iobase >> 8) & 0xFF),
> +		 (unsigned)(dev->iobase & 0xFF));
> +
> +	d = bus_find_device_by_name(&spi_bus_type, NULL, devname);
> +	if (!d) {
> +		dev_err(dev->class_dev, "devices %s not found\n", devname);
> +		return -EINVAL;
> +	}
> +
> +	priv->spi = to_spi_device(d);

Is that how you register a spi device normally?  I don't see any other
SPI drivers doing this, why are you not just registering the driver with
the bus like others do?

thanks,

greg k-h



More information about the devel mailing list