public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [jic23-iio:testing 65/65] drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2641:7: error: call to undeclared function 'acpi_has_method'; ISO C99 and later do not support implicit function declarations
Date: Tue, 11 Apr 2023 07:45:21 +0800	[thread overview]
Message-ID: <202304110756.69aPebZE-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head:   4c3b188facb2011e9edcdaaf71f2f553e9c230df
commit: 4c3b188facb2011e9edcdaaf71f2f553e9c230df [65/65] iio: imu: lsm6dsx: Add ACPI mount matrix retrieval
config: hexagon-randconfig-r045-20230410 (https://download.01.org/0day-ci/archive/20230411/202304110756.69aPebZE-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 2c57868e2e877f73c339796c3374ae660bb77f0d)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/commit/?id=4c3b188facb2011e9edcdaaf71f2f553e9c230df
        git remote add jic23-iio https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
        git fetch --no-tags jic23-iio testing
        git checkout 4c3b188facb2011e9edcdaaf71f2f553e9c230df
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/iio/imu/st_lsm6dsx/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304110756.69aPebZE-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:64:
   In file included from include/linux/iio/triggered_buffer.h:6:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/hexagon/include/asm/io.h:334:
   include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __raw_readb(PCI_IOBASE + addr);
                             ~~~~~~~~~~ ^
   include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
                                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
   #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
                                                     ^
   In file included from drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:64:
   In file included from include/linux/iio/triggered_buffer.h:6:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/hexagon/include/asm/io.h:334:
   include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
                                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
   #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
                                                     ^
   In file included from drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:64:
   In file included from include/linux/iio/triggered_buffer.h:6:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/hexagon/include/asm/io.h:334:
   include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writeb(value, PCI_IOBASE + addr);
                               ~~~~~~~~~~ ^
   include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
                                                         ~~~~~~~~~~ ^
   include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
                                                         ~~~~~~~~~~ ^
>> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2641:7: error: call to undeclared function 'acpi_has_method'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
           if (!acpi_has_method(adev->handle, "ROTM"))
                ^
   drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2641:7: note: did you mean 'acpi_has_watchdog'?
   include/linux/acpi.h:1442:20: note: 'acpi_has_watchdog' declared here
   static inline bool acpi_has_watchdog(void) { return false; }
                      ^
>> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2641:27: error: incomplete definition of type 'struct acpi_device'
           if (!acpi_has_method(adev->handle, "ROTM"))
                                ~~~~^
   include/linux/acpi.h:798:8: note: forward declaration of 'struct acpi_device'
   struct acpi_device;
          ^
   drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2644:36: error: incomplete definition of type 'struct acpi_device'
           status = acpi_evaluate_object(adev->handle, "ROTM", NULL, &buffer);
                                         ~~~~^
   include/linux/acpi.h:798:8: note: forward declaration of 'struct acpi_device'
   struct acpi_device;
          ^
   6 warnings and 3 errors generated.


vim +/acpi_has_method +2641 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c

  2627	
  2628	static bool lsm6dsx_get_acpi_mount_matrix(struct device *dev,
  2629						  struct iio_mount_matrix *orientation)
  2630	{
  2631		struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
  2632		struct acpi_device *adev = ACPI_COMPANION(dev);
  2633		union acpi_object *obj, *elements;
  2634		acpi_status status;
  2635		int i, j, val[3];
  2636		char *str;
  2637	
  2638		if (!has_acpi_companion(dev))
  2639			return -EINVAL;
  2640	
> 2641		if (!acpi_has_method(adev->handle, "ROTM"))
  2642			return -EINVAL;
  2643	
  2644		status = acpi_evaluate_object(adev->handle, "ROTM", NULL, &buffer);
  2645		if (ACPI_FAILURE(status)) {
  2646			dev_warn(dev, "Failed to get ACPI mount matrix: %d\n", status);
  2647			return -EINVAL;
  2648		}
  2649	
  2650		obj = buffer.pointer;
  2651		if (obj->type != ACPI_TYPE_PACKAGE || obj->package.count != 3)
  2652			goto unknown_format;
  2653	
  2654		elements = obj->package.elements;
  2655		for (i = 0; i < 3; i++) {
  2656			if (elements[i].type != ACPI_TYPE_STRING)
  2657				goto unknown_format;
  2658	
  2659			str = elements[i].string.pointer;
  2660			if (sscanf(str, "%d %d %d", &val[0], &val[1], &val[2]) != 3)
  2661				goto unknown_format;
  2662	
  2663			for (j = 0; j < 3; j++) {
  2664				switch (val[j]) {
  2665				case -1: str = "-1"; break;
  2666				case 0:  str = "0";  break;
  2667				case 1:  str = "1";  break;
  2668				default: goto unknown_format;
  2669				}
  2670				orientation->rotation[i * 3 + j] = str;
  2671			}
  2672		}
  2673	
  2674		kfree(buffer.pointer);
  2675		return 0;
  2676	
  2677	unknown_format:
  2678		dev_warn(dev, "Unknown ACPI mount matrix format, ignoring\n");
  2679		kfree(buffer.pointer);
  2680		return -EINVAL;
  2681	}
  2682	

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

                 reply	other threads:[~2023-04-10 23:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202304110756.69aPebZE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=llvm@lists.linux.dev \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox