From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f173.google.com ([209.85.223.173]:33376 "EHLO mail-io0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752274AbbHDUf7 (ORCPT ); Tue, 4 Aug 2015 16:35:59 -0400 Received: by ioii16 with SMTP id i16so29380249ioi.0 for ; Tue, 04 Aug 2015 13:35:58 -0700 (PDT) Date: Tue, 4 Aug 2015 13:35:38 -0700 From: Tristan Lelong To: Matt Ranostay Cc: Peter Meerwald , Marek =?utf-8?B?VmHFoXV0?= , Jonathan Cameron , Lars-Peter Clausen , Vladimir Barinov , "linux-iio@vger.kernel.org" Subject: Re: [PATCH v2 2/2] iio: proximity: add support for PulsedLight LIDAR Message-ID: <20150804203537.GA22584@localhost.localdomain> References: <1438576076-7890-1-git-send-email-mranostay@gmail.com> <1438576076-7890-3-git-send-email-mranostay@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-iio-owner@vger.kernel.org List-Id: linux-iio@vger.kernel.org On Mon, Aug 03, 2015 at 01:21:08AM -0700, Matt Ranostay wrote: > On Sun, Aug 2, 2015 at 11:48 PM, Peter Meerwald wrote: > > On Sun, 2 Aug 2015, Matt Ranostay wrote: > > > >> + > >> +static int lidar_get_measurement(struct lidar_data *data, u16 *reg) > >> +{ > >> + struct i2c_client *client = data->client; > >> + int tries = 10; > >> + int ret; > >> + > >> + /* start sample */ > >> + ret = lidar_write_control(data, LIDAR_REG_CONTROL_ACQUIRE); > >> + if (ret < 0) { > >> + dev_err(&client->dev, "cannot send start measurement command"); > >> + return ret; > >> + } > >> + > >> + while (tries--) { > >> + usleep_range(1000, 2000); > >> + > >> + ret = lidar_read_byte(data, LIDAR_REG_STATUS); > >> + if (ret < 0) > >> + break; > >> + > >> + /* return 0 since laser is likely pointed out of range */ > >> + if (ret & LIDAR_REG_STATUS_INVALID) { > >> + *reg = 0; > >> + ret = 0; > >> + break; > >> + } > >> + > >> + /* sample ready to read */ > >> + if (!(ret & LIDAR_REG_STATUS_READY)) { > >> + ret = lidar_read_measurement(data, reg); > >> + break; > >> + } > >> + } > >> + > > > > what happens when the timeout occurs? > > no error code is set > > Ah yes it should return an error code. Would a -EIO be a logical choice? > I would think -ETIMEDOUT to make more sense here.