devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Marcelo Schmitt <marcelo.schmitt@analog.com>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-spi@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, jic23@kernel.org,
	michael.hennerich@analog.com, nuno.sa@analog.com,
	eblanc@baylibre.com, dlechner@baylibre.com, andy@kernel.org,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	corbet@lwn.net, marcelo.schmitt1@gmail.com,
	Trevor Gamblin <tgamblin@baylibre.com>,
	Axel Haslam <ahaslam@baylibre.com>
Subject: Re: [PATCH v3 6/8] iio: adc: ad4030: Add SPI offload support
Date: Sat, 27 Sep 2025 20:59:36 +0800	[thread overview]
Message-ID: <202509272028.0zLNiR5w-lkp@intel.com> (raw)
In-Reply-To: <0028720d2cb21898ef044458065ac8a0bc829588.1758916484.git.marcelo.schmitt@analog.com>

Hi Marcelo,

kernel test robot noticed the following build errors:

[auto build test ERROR on 561285d048053fec8a3d6d1e3ddc60df11c393a0]

url:    https://github.com/intel-lab-lkp/linux/commits/Marcelo-Schmitt/dt-bindings-iio-adc-adi-ad4030-Reference-spi-peripheral-props/20250927-044546
base:   561285d048053fec8a3d6d1e3ddc60df11c393a0
patch link:    https://lore.kernel.org/r/0028720d2cb21898ef044458065ac8a0bc829588.1758916484.git.marcelo.schmitt%40analog.com
patch subject: [PATCH v3 6/8] iio: adc: ad4030: Add SPI offload support
config: i386-randconfig-014-20250927 (https://download.01.org/0day-ci/archive/20250927/202509272028.0zLNiR5w-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250927/202509272028.0zLNiR5w-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509272028.0zLNiR5w-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/spi/spi-offload-trigger-pwm.c: In function 'spi_offload_trigger_pwm_validate':
>> drivers/spi/spi-offload-trigger-pwm.c:55:15: error: implicit declaration of function 'pwm_round_waveform_might_sleep' [-Wimplicit-function-declaration]
      55 |         ret = pwm_round_waveform_might_sleep(st->pwm, &wf);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-offload-trigger-pwm.c: In function 'spi_offload_trigger_pwm_enable':
>> drivers/spi/spi-offload-trigger-pwm.c:81:16: error: implicit declaration of function 'pwm_set_waveform_might_sleep' [-Wimplicit-function-declaration]
      81 |         return pwm_set_waveform_might_sleep(st->pwm, &wf, false);
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-offload-trigger-pwm.c: In function 'spi_offload_trigger_pwm_disable':
>> drivers/spi/spi-offload-trigger-pwm.c:90:15: error: implicit declaration of function 'pwm_get_waveform_might_sleep' [-Wimplicit-function-declaration]
      90 |         ret = pwm_get_waveform_might_sleep(st->pwm, &wf);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for SPI_OFFLOAD_TRIGGER_PWM
   Depends on [n]: SPI [=y] && SPI_OFFLOAD [=y] && PWM [=n]
   Selected by [y]:
   - AD4030 [=y] && IIO [=y] && SPI [=y] && GPIOLIB [=y]


vim +/pwm_round_waveform_might_sleep +55 drivers/spi/spi-offload-trigger-pwm.c

ebb398ae1e052c David Lechner 2025-02-07   36  
ebb398ae1e052c David Lechner 2025-02-07   37  static int spi_offload_trigger_pwm_validate(struct spi_offload_trigger *trigger,
ebb398ae1e052c David Lechner 2025-02-07   38  					    struct spi_offload_trigger_config *config)
ebb398ae1e052c David Lechner 2025-02-07   39  {
ebb398ae1e052c David Lechner 2025-02-07   40  	struct spi_offload_trigger_pwm_state *st = spi_offload_trigger_get_priv(trigger);
ebb398ae1e052c David Lechner 2025-02-07   41  	struct spi_offload_trigger_periodic *periodic = &config->periodic;
ebb398ae1e052c David Lechner 2025-02-07   42  	struct pwm_waveform wf = { };
ebb398ae1e052c David Lechner 2025-02-07   43  	int ret;
ebb398ae1e052c David Lechner 2025-02-07   44  
ebb398ae1e052c David Lechner 2025-02-07   45  	if (config->type != SPI_OFFLOAD_TRIGGER_PERIODIC)
ebb398ae1e052c David Lechner 2025-02-07   46  		return -EINVAL;
ebb398ae1e052c David Lechner 2025-02-07   47  
ebb398ae1e052c David Lechner 2025-02-07   48  	if (!periodic->frequency_hz)
ebb398ae1e052c David Lechner 2025-02-07   49  		return -EINVAL;
ebb398ae1e052c David Lechner 2025-02-07   50  
ebb398ae1e052c David Lechner 2025-02-07   51  	wf.period_length_ns = DIV_ROUND_UP_ULL(NSEC_PER_SEC, periodic->frequency_hz);
ebb398ae1e052c David Lechner 2025-02-07   52  	/* REVISIT: 50% duty-cycle for now - may add config parameter later */
ebb398ae1e052c David Lechner 2025-02-07   53  	wf.duty_length_ns = wf.period_length_ns / 2;
ebb398ae1e052c David Lechner 2025-02-07   54  
ebb398ae1e052c David Lechner 2025-02-07  @55  	ret = pwm_round_waveform_might_sleep(st->pwm, &wf);
ebb398ae1e052c David Lechner 2025-02-07   56  	if (ret < 0)
ebb398ae1e052c David Lechner 2025-02-07   57  		return ret;
ebb398ae1e052c David Lechner 2025-02-07   58  
ebb398ae1e052c David Lechner 2025-02-07   59  	periodic->frequency_hz = DIV_ROUND_UP_ULL(NSEC_PER_SEC, wf.period_length_ns);
ebb398ae1e052c David Lechner 2025-02-07   60  
ebb398ae1e052c David Lechner 2025-02-07   61  	return 0;
ebb398ae1e052c David Lechner 2025-02-07   62  }
ebb398ae1e052c David Lechner 2025-02-07   63  
ebb398ae1e052c David Lechner 2025-02-07   64  static int spi_offload_trigger_pwm_enable(struct spi_offload_trigger *trigger,
ebb398ae1e052c David Lechner 2025-02-07   65  					  struct spi_offload_trigger_config *config)
ebb398ae1e052c David Lechner 2025-02-07   66  {
ebb398ae1e052c David Lechner 2025-02-07   67  	struct spi_offload_trigger_pwm_state *st = spi_offload_trigger_get_priv(trigger);
ebb398ae1e052c David Lechner 2025-02-07   68  	struct spi_offload_trigger_periodic *periodic = &config->periodic;
ebb398ae1e052c David Lechner 2025-02-07   69  	struct pwm_waveform wf = { };
ebb398ae1e052c David Lechner 2025-02-07   70  
ebb398ae1e052c David Lechner 2025-02-07   71  	if (config->type != SPI_OFFLOAD_TRIGGER_PERIODIC)
ebb398ae1e052c David Lechner 2025-02-07   72  		return -EINVAL;
ebb398ae1e052c David Lechner 2025-02-07   73  
ebb398ae1e052c David Lechner 2025-02-07   74  	if (!periodic->frequency_hz)
ebb398ae1e052c David Lechner 2025-02-07   75  		return -EINVAL;
ebb398ae1e052c David Lechner 2025-02-07   76  
ebb398ae1e052c David Lechner 2025-02-07   77  	wf.period_length_ns = DIV_ROUND_UP_ULL(NSEC_PER_SEC, periodic->frequency_hz);
ebb398ae1e052c David Lechner 2025-02-07   78  	/* REVISIT: 50% duty-cycle for now - may add config parameter later */
ebb398ae1e052c David Lechner 2025-02-07   79  	wf.duty_length_ns = wf.period_length_ns / 2;
ebb398ae1e052c David Lechner 2025-02-07   80  
ebb398ae1e052c David Lechner 2025-02-07  @81  	return pwm_set_waveform_might_sleep(st->pwm, &wf, false);
ebb398ae1e052c David Lechner 2025-02-07   82  }
ebb398ae1e052c David Lechner 2025-02-07   83  
ebb398ae1e052c David Lechner 2025-02-07   84  static void spi_offload_trigger_pwm_disable(struct spi_offload_trigger *trigger)
ebb398ae1e052c David Lechner 2025-02-07   85  {
ebb398ae1e052c David Lechner 2025-02-07   86  	struct spi_offload_trigger_pwm_state *st = spi_offload_trigger_get_priv(trigger);
ebb398ae1e052c David Lechner 2025-02-07   87  	struct pwm_waveform wf;
ebb398ae1e052c David Lechner 2025-02-07   88  	int ret;
ebb398ae1e052c David Lechner 2025-02-07   89  
ebb398ae1e052c David Lechner 2025-02-07  @90  	ret = pwm_get_waveform_might_sleep(st->pwm, &wf);
ebb398ae1e052c David Lechner 2025-02-07   91  	if (ret < 0) {
ebb398ae1e052c David Lechner 2025-02-07   92  		dev_err(st->dev, "failed to get waveform: %d\n", ret);
ebb398ae1e052c David Lechner 2025-02-07   93  		return;
ebb398ae1e052c David Lechner 2025-02-07   94  	}
ebb398ae1e052c David Lechner 2025-02-07   95  
ebb398ae1e052c David Lechner 2025-02-07   96  	wf.duty_length_ns = 0;
ebb398ae1e052c David Lechner 2025-02-07   97  
ebb398ae1e052c David Lechner 2025-02-07   98  	ret = pwm_set_waveform_might_sleep(st->pwm, &wf, false);
ebb398ae1e052c David Lechner 2025-02-07   99  	if (ret < 0)
ebb398ae1e052c David Lechner 2025-02-07  100  		dev_err(st->dev, "failed to disable PWM: %d\n", ret);
ebb398ae1e052c David Lechner 2025-02-07  101  }
ebb398ae1e052c David Lechner 2025-02-07  102  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2025-09-27 13:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-26 20:37 [PATCH v3 0/8] Add SPI offload support to AD4030 Marcelo Schmitt
2025-09-26 20:38 ` [PATCH v3 1/8] dt-bindings: iio: adc: adi,ad4030: Reference spi-peripheral-props Marcelo Schmitt
2025-09-26 20:38 ` [PATCH v3 2/8] Docs: iio: ad4030: Add double PWM SPI offload doc Marcelo Schmitt
2025-09-26 20:39 ` [PATCH v3 3/8] dt-bindings: iio: adc: adi,ad4030: Add PWM Marcelo Schmitt
2025-09-26 20:39 ` [PATCH v3 4/8] iio: adc: ad4030: Reduce register access transfer speed Marcelo Schmitt
2025-09-28  9:53   ` Jonathan Cameron
2025-09-28 14:17     ` Marcelo Schmitt
2025-09-26 20:40 ` [PATCH v3 5/8] iio: adc: ad4030: Use BIT macro to improve code readability Marcelo Schmitt
2025-09-26 20:40 ` [PATCH v3 6/8] iio: adc: ad4030: Add SPI offload support Marcelo Schmitt
2025-09-27 12:59   ` kernel test robot [this message]
2025-09-28 10:02     ` Jonathan Cameron
2025-09-28 10:08   ` Jonathan Cameron
2025-09-26 20:40 ` [PATCH v3 7/8] dt-bindings: iio: adc: adi,ad4030: Add ADAQ4216 and ADAQ4224 Marcelo Schmitt
2025-09-26 22:10   ` Rob Herring (Arm)
2025-09-28 10:19   ` Jonathan Cameron
2025-09-29 14:31     ` Rob Herring
2025-09-29 16:16       ` David Lechner
2025-09-30 14:47         ` Marcelo Schmitt
2025-09-30 17:02           ` Marcelo Schmitt
2025-09-30 18:26         ` Rob Herring
2025-10-01 11:55           ` David Lechner
2025-09-26 20:41 ` [PATCH v3 8/8] iio: adc: ad4030: Add support for " Marcelo Schmitt
2025-09-28 10:26   ` Jonathan Cameron

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=202509272028.0zLNiR5w-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ahaslam@baylibre.com \
    --cc=andy@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=eblanc@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=marcelo.schmitt1@gmail.com \
    --cc=marcelo.schmitt@analog.com \
    --cc=michael.hennerich@analog.com \
    --cc=nuno.sa@analog.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=tgamblin@baylibre.com \
    /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;
as well as URLs for NNTP newsgroup(s).