All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Lothar Rubusch <l.rubusch@gmail.com>,
	lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, l.rubusch@gmx.ch,
	Lothar Rubusch <l.rubusch@gmail.com>
Subject: Re: [PATCH 22/22] iio: accel: adxl345: add debug printout
Date: Mon, 18 Nov 2024 02:35:19 +0800	[thread overview]
Message-ID: <202411180235.gb4VHLRO-lkp@intel.com> (raw)
In-Reply-To: <20241114231002.98595-23-l.rubusch@gmail.com>

Hi Lothar,

kernel test robot noticed the following build warnings:

[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on linus/master v6.12-rc7 next-20241115]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Lothar-Rubusch/iio-accel-adxl345-fix-comment-on-probe/20241115-190245
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link:    https://lore.kernel.org/r/20241114231002.98595-23-l.rubusch%40gmail.com
patch subject: [PATCH 22/22] iio: accel: adxl345: add debug printout
config: x86_64-randconfig-121-20241117 (https://download.01.org/0day-ci/archive/20241118/202411180235.gb4VHLRO-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241118/202411180235.gb4VHLRO-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/202411180235.gb4VHLRO-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/iio/accel/adxl345_core.c:613:6: sparse: sparse: symbol 'adxl345_empty_fifo' was not declared. Should it be static?
>> drivers/iio/accel/adxl345_core.c:720:46: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected signed short [usertype] *fifo_buf @@     got restricted __le16 * @@
   drivers/iio/accel/adxl345_core.c:720:46: sparse:     expected signed short [usertype] *fifo_buf
   drivers/iio/accel/adxl345_core.c:720:46: sparse:     got restricted __le16 *

vim +720 drivers/iio/accel/adxl345_core.c

   606	
   607	/**
   608	 * Empty the fifo. This is needed also in case of overflow or error handling.
   609	 * Read out all remaining elements and reset the fifo_entries counter.
   610	 *
   611	 * @st: The instance to the state object of the sensor.
   612	 */
 > 613	void adxl345_empty_fifo(struct adxl34x_state *st)
   614	{
   615		int regval;
   616		int fifo_entries;
   617	
   618		/* In case the HW is not "clean" just read out remaining elements */
   619		adxl345_get_fifo_entries(st, &fifo_entries);
   620		if (fifo_entries > 0)
   621			adxl345_read_fifo_elements(st, fifo_entries);
   622	
   623		/* Reset the INT_SOURCE register by reading the register */
   624		regmap_read(st->regmap, ADXL345_REG_INT_SOURCE, &regval);
   625	}
   626	
   627	static int adxl345_buffer_postenable(struct iio_dev *indio_dev)
   628	{
   629		struct adxl34x_state *st = iio_priv(indio_dev);
   630		struct adxl34x_platform_data *data = &st->data;
   631		int ret;
   632	
   633		ret = adxl345_set_interrupts(st);
   634		if (ret)
   635			return -EINVAL;
   636	
   637		/* Default to FIFO mode: STREAM, since it covers the general usage
   638		 * and does not bypass the FIFO
   639		 */
   640		data->fifo_mode = ADXL_FIFO_STREAM;
   641		adxl345_set_fifo(st);
   642	
   643		return 0;
   644	}
   645	
   646	static int adxl345_buffer_predisable(struct iio_dev *indio_dev)
   647	{
   648		struct adxl34x_state *st = iio_priv(indio_dev);
   649		struct adxl34x_platform_data *data = &st->data;
   650		int ret;
   651	
   652		/* Turn off interrupts */
   653		st->int_map = 0x00;
   654	
   655		ret = adxl345_set_interrupts(st);
   656		if (ret) {
   657			pr_warn("%s(): Failed to disable INTs\n", __func__);
   658			return -EINVAL;
   659		}
   660	
   661		/* Set FIFO mode: BYPASS, according to the situation */
   662		data->fifo_mode = ADXL_FIFO_BYPASS;
   663		adxl345_set_fifo(st);
   664	
   665		return 0;
   666	}
   667	
   668	static const struct iio_buffer_setup_ops adxl345_buffer_ops = {
   669		.postenable = adxl345_buffer_postenable,
   670		.predisable = adxl345_buffer_predisable,
   671	};
   672	
   673	static int adxl345_get_status(struct adxl34x_state *st, u8 *int_stat)
   674	{
   675		int ret;
   676		unsigned int regval;
   677	
   678		*int_stat = 0;
   679		ret = regmap_read(st->regmap, ADXL345_REG_INT_SOURCE, &regval);
   680		if (ret) {
   681			pr_warn("%s(): Failed to read INT_SOURCE register\n", __func__);
   682			return -EINVAL;
   683		}
   684	
   685		*int_stat = 0xff & regval;
   686		pr_debug("%s(): int_stat 0x%02X (INT_SOURCE)\n", __func__, *int_stat);
   687	
   688		return 0;
   689	}
   690	
   691	static int adxl345_push_fifo_data(struct iio_dev *indio_dev,
   692					  u8 status,
   693					  int fifo_entries)
   694	{
   695		struct adxl34x_state *st = iio_priv(indio_dev);
   696		int ndirs = 3; /* 3 directions */
   697		int i, ret;
   698	
   699		if (fifo_entries <= 0)
   700			return true;
   701	
   702		ret = adxl345_read_fifo_elements(st, fifo_entries);
   703		if (ret)
   704			return false;
   705	
   706		for (i = 0; i < ndirs * fifo_entries; i += ndirs) {
   707			/* To ensure that the FIFO has completely popped, there must be at least 5
   708			 * us between the end of reading the data registers, signified by the
   709			 * transition to register 0x38 from 0x37 or the CS pin going high, and the
   710			 * start of new reads of the FIFO or reading the FIFO_STATUS register. For
   711			 * SPI operation at 1.5 MHz or lower, the register addressing portion of the
   712			 * transmission is sufficient delay to ensure the FIFO has completely
   713			 * popped. It is necessary for SPI operation greater than 1.5 MHz to
   714			 * de-assert the CS pin to ensure a total of 5 us, which is at most 3.4 us
   715			 * at 5 MHz operation.
   716			 */
   717			if (st->fifo_delay && (fifo_entries > 1))
   718				udelay(3);
   719	
 > 720			adxl345_debug_fifo(__func__, st->fifo_buf, i);
   721			iio_push_to_buffers(indio_dev, &st->fifo_buf[i]);
   722		}
   723	
   724		return true;
   725	}
   726	

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

      reply	other threads:[~2024-11-17 18:36 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-14 23:09 [PATCH 00/22] iio: accel: adxl345: add FIFO operating with IRQ triggered watermark events Lothar Rubusch
2024-11-14 23:09 ` [PATCH 01/22] iio: accel: adxl345: fix comment on probe Lothar Rubusch
2024-11-14 23:09 ` [PATCH 02/22] iio: accel: adxl345: rename variable data to st Lothar Rubusch
2024-11-14 23:09 ` [PATCH 03/22] iio: accel: adxl345: rename struct adxl34x_state Lothar Rubusch
2024-11-14 23:09 ` [PATCH 04/22] iio: accel: adxl345: rename to adxl34x_channels Lothar Rubusch
2024-11-14 23:09 ` [PATCH 05/22] iio: accel: adxl345: measure right-justified Lothar Rubusch
2024-11-14 23:09 ` [PATCH 06/22] iio: accel: adxl345: add function to switch measuring Lothar Rubusch
2024-11-17  5:37   ` kernel test robot
2024-11-14 23:09 ` [PATCH 07/22] iio: accel: adxl345: initialize IRQ number Lothar Rubusch
2024-11-14 23:09 ` [PATCH 08/22] iio: accel: adxl345: initialize FIFO delay value for SPI Lothar Rubusch
2024-11-14 23:09 ` [PATCH 09/22] iio: accel: adxl345: unexpose private defines Lothar Rubusch
2024-11-14 23:09 ` [PATCH 10/22] iio: accel: adxl345: set interrupt line to INT1 Lothar Rubusch
2024-11-14 23:09 ` [PATCH 11/22] iio: accel: adxl345: import adxl345 general data Lothar Rubusch
2024-11-14 23:09 ` [PATCH 12/22] iio: accel: adxl345: elaborate iio channel definition Lothar Rubusch
2024-11-14 23:09 ` [PATCH 13/22] iio: accel: adxl345: add trigger handler Lothar Rubusch
2024-11-14 23:09 ` [PATCH 14/22] iio: accel: adxl345: read FIFO entries Lothar Rubusch
2024-11-14 23:09 ` [PATCH 15/22] iio: accel: adxl345: reset the FIFO on error Lothar Rubusch
2024-11-17  0:45   ` kernel test robot
2024-11-17  7:12   ` kernel test robot
2024-11-17 15:49   ` kernel test robot
2024-11-14 23:09 ` [PATCH 16/22] iio: accel: adxl345: register trigger ops Lothar Rubusch
2024-11-14 23:09 ` [PATCH 17/22] iio: accel: adxl345: push FIFO data to iio Lothar Rubusch
2024-11-14 23:09 ` [PATCH 18/22] iio: accel: adxl345: start measure at buffer en/disable Lothar Rubusch
2024-11-14 23:09 ` [PATCH 19/22] iio: accel: adxl345: prepare FIFO watermark handling Lothar Rubusch
2024-11-14 23:10 ` [PATCH 20/22] iio: accel: adxl345: use FIFO with watermark IRQ Lothar Rubusch
2024-11-14 23:10 ` [PATCH 21/22] iio: accel: adxl345: sync FIFO reading with sensor Lothar Rubusch
2024-11-14 23:10 ` [PATCH 22/22] iio: accel: adxl345: add debug printout Lothar Rubusch
2024-11-17 18:35   ` kernel test robot [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=202411180235.gb4VHLRO-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=jic23@kernel.org \
    --cc=l.rubusch@gmail.com \
    --cc=l.rubusch@gmx.ch \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.