Message ID | 20190507143615.28477-4-dev@pschenker.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] iio: stmpe-adc: Add compatible name | expand |
On Tue, 7 May 2019 16:36:14 +0200 Philippe Schenker <dev@pschenker.ch> wrote: > From: Philippe Schenker <philippe.schenker@toradex.com> > > Use wait_for_completion_timeout instead of > wait_for_completion_interuptible_timeout. > > The interruptible variant gets constantly interrupted if a user > program is compiled with the -pg option. > The killable variant was not used due to the fact that a second > program, reading on this device, that gets killed is then also killing > that wait. > > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Hi Phillippe This one clashed a little bit with our earlier patch to remove the unnecessary assignment. I've applied it by hand but please check it. Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > > drivers/iio/adc/stmpe-adc.c | 18 ++++-------------- > 1 file changed, 4 insertions(+), 14 deletions(-) > > diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c > index 82b43e4522b6..cc752a47444c 100644 > --- a/drivers/iio/adc/stmpe-adc.c > +++ b/drivers/iio/adc/stmpe-adc.c > @@ -77,17 +77,11 @@ static int stmpe_read_voltage(struct stmpe_adc *info, > stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT, > STMPE_ADC_CH(info->channel)); > > - *val = info->value; > - > - ret = wait_for_completion_interruptible_timeout > - (&info->completion, STMPE_ADC_TIMEOUT); > + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); > > if (ret <= 0) { > mutex_unlock(&info->lock); > - if (ret == 0) > - return -ETIMEDOUT; > - else > - return ret; > + return -ETIMEDOUT; > } > > *val = info->value; > @@ -116,15 +110,11 @@ static int stmpe_read_temp(struct stmpe_adc *info, > stmpe_reg_write(info->stmpe, STMPE_REG_TEMP_CTRL, > STMPE_START_ONE_TEMP_CONV); > > - ret = wait_for_completion_interruptible_timeout > - (&info->completion, STMPE_ADC_TIMEOUT); > + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); > > if (ret <= 0) { > mutex_unlock(&info->lock); > - if (ret == 0) > - return -ETIMEDOUT; > - else > - return ret; > + return -ETIMEDOUT; > } > > /*
On Sat, 2019-05-11 at 11:15 +0100, Jonathan Cameron wrote: > On Tue, 7 May 2019 16:36:14 +0200 > Philippe Schenker <dev@pschenker.ch> wrote: > > > From: Philippe Schenker <philippe.schenker@toradex.com> > > > > Use wait_for_completion_timeout instead of > > wait_for_completion_interuptible_timeout. > > > > The interruptible variant gets constantly interrupted if a user > > program is compiled with the -pg option. > > The killable variant was not used due to the fact that a second > > program, reading on this device, that gets killed is then also killing > > that wait. > > > > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> > Hi Phillippe > > This one clashed a little bit with our earlier patch to remove the > unnecessary assignment. I've applied it by hand but please check it. > > Applied to the togreg branch of iio.git and pushed out as testing > for the autobuilders to play with it. > > Thanks, > > Jonathan Hmm, yeah I see it sorry for that! Somehow that line went in again in this patch. Don't know why... Anyway I checked it and it looks good. Thank you! Philippe > > --- > > > > drivers/iio/adc/stmpe-adc.c | 18 ++++-------------- > > 1 file changed, 4 insertions(+), 14 deletions(-) > > > > diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c > > index 82b43e4522b6..cc752a47444c 100644 > > --- a/drivers/iio/adc/stmpe-adc.c > > +++ b/drivers/iio/adc/stmpe-adc.c > > @@ -77,17 +77,11 @@ static int stmpe_read_voltage(struct stmpe_adc *info, > > stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT, > > STMPE_ADC_CH(info->channel)); > > > > - *val = info->value; > > - > > - ret = wait_for_completion_interruptible_timeout > > - (&info->completion, STMPE_ADC_TIMEOUT); > > + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); > > > > if (ret <= 0) { > > mutex_unlock(&info->lock); > > - if (ret == 0) > > - return -ETIMEDOUT; > > - else > > - return ret; > > + return -ETIMEDOUT; > > } > > > > *val = info->value; > > @@ -116,15 +110,11 @@ static int stmpe_read_temp(struct stmpe_adc *info, > > stmpe_reg_write(info->stmpe, STMPE_REG_TEMP_CTRL, > > STMPE_START_ONE_TEMP_CONV); > > > > - ret = wait_for_completion_interruptible_timeout > > - (&info->completion, STMPE_ADC_TIMEOUT); > > + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); > > > > if (ret <= 0) { > > mutex_unlock(&info->lock); > > - if (ret == 0) > > - return -ETIMEDOUT; > > - else > > - return ret; > > + return -ETIMEDOUT; > > } > > > > /*
diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c index 82b43e4522b6..cc752a47444c 100644 --- a/drivers/iio/adc/stmpe-adc.c +++ b/drivers/iio/adc/stmpe-adc.c @@ -77,17 +77,11 @@ static int stmpe_read_voltage(struct stmpe_adc *info, stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT, STMPE_ADC_CH(info->channel)); - *val = info->value; - - ret = wait_for_completion_interruptible_timeout - (&info->completion, STMPE_ADC_TIMEOUT); + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); if (ret <= 0) { mutex_unlock(&info->lock); - if (ret == 0) - return -ETIMEDOUT; - else - return ret; + return -ETIMEDOUT; } *val = info->value; @@ -116,15 +110,11 @@ static int stmpe_read_temp(struct stmpe_adc *info, stmpe_reg_write(info->stmpe, STMPE_REG_TEMP_CTRL, STMPE_START_ONE_TEMP_CONV); - ret = wait_for_completion_interruptible_timeout - (&info->completion, STMPE_ADC_TIMEOUT); + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); if (ret <= 0) { mutex_unlock(&info->lock); - if (ret == 0) - return -ETIMEDOUT; - else - return ret; + return -ETIMEDOUT; } /*