Re: [PATCH v2] staging: comedi: add NI USB-6501 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Some minor style nits.

On Wed, Aug 06, 2014 at 01:35:32PM +0200, Luca Ellero wrote:
> +static int ni6501_send_command(struct comedi_device *dev, int command,
> +			       const u8 *port, u8 *bitmap)
> +{
> +	struct usb_device *usb = comedi_to_usb_dev(dev);
> +	struct ni6501_private *devpriv = dev->private;
> +	int request_size, response_size;
> +	u8 *tx = devpriv->usb_tx_buf;
> +	int ret;
> +
> +	if (!tx || !port)
> +		return -EINVAL;
> +
> +	if (command !=  SET_PORT_DIR && !bitmap)
                       ^
Extra space character.

> +		return -EINVAL;
> +
> +	down(&devpriv->sem);
> +
> +	switch (command) {
> +	case READ_PORT:
> +
> +		request_size = sizeof(READ_PORT_REQUEST);
> +		 /* 4 additional bytes for READ_PORT request */
> +		response_size = sizeof(GENERIC_RESPONSE) + 4;
> +
> +		memcpy(tx, READ_PORT_REQUEST, request_size);
> +
> +		tx[14] = port[0];
> +
> +		break;
> +
> +	case WRITE_PORT:
> +
> +		request_size = sizeof(WRITE_PORT_REQUEST);
> +		response_size = sizeof(GENERIC_RESPONSE);
> +
> +		memcpy(tx, WRITE_PORT_REQUEST, request_size);
> +
> +		tx[14] = port[0];
> +		tx[17] = bitmap[0];
> +
> +		break;
> +
> +	case SET_PORT_DIR:
> +
> +		request_size = sizeof(SET_PORT_DIR_REQUEST);
> +		response_size = sizeof(GENERIC_RESPONSE);
> +
> +		memcpy(tx, SET_PORT_DIR_REQUEST, request_size);
> +
> +		tx[14] = port[0];
> +		tx[15] = port[1];
> +		tx[16] = port[2];
> +
> +		break;
> +
> +	default:
> +		ret = -EINVAL;
> +		goto end;
> +	}
> +
> +	ret = usb_bulk_msg(usb,
> +			   usb_sndbulkpipe(usb,
> +					   devpriv->ep_tx->bEndpointAddress),
> +			   devpriv->usb_tx_buf,
> +			   request_size,
> +			   NULL,
> +			   NI6501_TIMEOUT);
> +

Don't leave a blank line here before checking ret.  Especially the
ni6501_dio_insn_bits() has too many blanks lines.  See below.

> +	if (ret)
> +		goto end;
> +
> +	ret = usb_bulk_msg(usb,
> +			   usb_rcvbulkpipe(usb,
> +					   devpriv->ep_rx->bEndpointAddress),
> +			   devpriv->usb_rx_buf,
> +			   response_size,
> +			   NULL,
> +			   NI6501_TIMEOUT);
> +
> +	if (ret)
> +		goto end;
> +
> +	/* Check if results are  valid */
                                ^
Extra space character.

[snip]

> +static int ni6501_dio_insn_bits(struct comedi_device *dev,
> +				struct comedi_subdevice *s,
> +				struct comedi_insn *insn,
> +				unsigned int *data)
> +{
> +	unsigned int mask;
> +	int ret;
> +	u8 port;
> +	u8 bitmap;
> +
> +	mask = comedi_dio_update_state(s, data);
> +
> +	if (mask & 0xff) {
> +		port = 0x00;
> +		bitmap = s->state & 0xFF;
> +
> +		ret = ni6501_send_command(dev, WRITE_PORT, &port, &bitmap);
> +
> +		if (ret)
> +			return ret;
> +	}
> +
> +	if (mask & 0xff00) {
> +		port = 0x01;
> +		bitmap = (s->state >> 8) & 0xFF;
> +
> +		ret = ni6501_send_command(dev, WRITE_PORT, &port, &bitmap);
> +
> +		if (ret)
> +			return ret;
> +	}
> +
> +	if (mask & 0xff0000) {
> +		port = 0x02;
> +		bitmap = (s->state >> 16) & 0xFF;
> +
> +		ret = ni6501_send_command(dev, WRITE_PORT, &port, &bitmap);
> +
> +		if (ret)
> +			return ret;
> +	}
> +
> +	/* Read port 0 */

This comment doesn't add anything because port = 0x00 below.

> +
> +	port = 0x00;
> +
> +	ret = ni6501_send_command(dev, READ_PORT, &port, &bitmap);
> +
> +	if (ret)
> +		return ret;
> +
> +	data[1] = bitmap;
> +

You could do it like this:

	data[1] = 0;
	for (port = 0; port < 3; port++) {
		ret = ni6501_send_command(dev, READ_PORT, &port, &bitmap);
		if (ret)
			return ret;
		data[1] |= bitmap << port * 8;
	}

regards,
dan carpenter

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux