Linux IIO development
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Pei Xiao <xiaopei01@kylinos.cn>
Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v2] iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains
Date: Sat, 18 Oct 2025 17:49:49 +0100	[thread overview]
Message-ID: <20251018174949.36946cd9@jic23-huawei> (raw)
In-Reply-To: <d5e5e8cbbc9354ca1dd4745253df6cde07822325.1760433015.git.xiaopei01@kylinos.cn>

On Tue, 14 Oct 2025 17:12:50 +0800
Pei Xiao <xiaopei01@kylinos.cn> wrote:

> FIELD_PREP() checks that a value fits into the available bitfield, add a
> check for step_avg to fix gcc complains.
> 
> which gcc complains about:
>   drivers/iio/adc/ti_am335x_adc.c: In function 'tiadc_step_config':
>   include/linux/compiler_types.h:572:38: error: call to
> '__compiletime_assert_491' declared with attribute error: FIELD_PREP: value
> too large for the field include/linux/mfd/ti_am335x_tscadc.h:58:29: note:
> in expansion of macro 'FIELD_PREP'
>     #define STEPCONFIG_AVG(val) FIELD_PREP(GENMASK(4, 2), (val))
>                                 ^~~~~~~~~~
> drivers/iio/adc/ti_am335x_adc.c:127:17: note: in expansion of macro 'STEPCONFIG_AVG'
> 	stepconfig = STEPCONFIG_AVG(ffs(adc_dev->step_avg[i]) - 1)
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202510102117.Jqxrw1vF-lkp@intel.com/
> Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
Given it is a false positive warning I've not queued this up as a fix, but
rather for the next merge window.  If people think it is more urgent that that
then reply to let me know.

Applied to the togreg branch of iio.git and pushed out as testing to see if
we get an autobuilder warnings.

Thanks,

Jonathan

> ---
> changes in v2: use '<=',adc_dev->step_avg[i]'s max value is STEPCONFIG_AVG_16
> ---
>  drivers/iio/adc/ti_am335x_adc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
> index 99f274adc870..a1a28584de93 100644
> --- a/drivers/iio/adc/ti_am335x_adc.c
> +++ b/drivers/iio/adc/ti_am335x_adc.c
> @@ -123,7 +123,7 @@ static void tiadc_step_config(struct iio_dev *indio_dev)
>  
>  		chan = adc_dev->channel_line[i];
>  
> -		if (adc_dev->step_avg[i])
> +		if (adc_dev->step_avg[i] && adc_dev->step_avg[i] <= STEPCONFIG_AVG_16)
>  			stepconfig = STEPCONFIG_AVG(ffs(adc_dev->step_avg[i]) - 1) |
>  				     STEPCONFIG_FIFO1;
>  		else


      reply	other threads:[~2025-10-18 16:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-14  9:12 [PATCH v2] iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains Pei Xiao
2025-10-18 16:49 ` Jonathan Cameron [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251018174949.36946cd9@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=xiaopei01@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox