drivers/i2c/busses/i2c-mlxbf.c:2296:8: error: implicit declaration of function 'acpi_device_uid'

From: kernel test robot
Date: Tue Nov 03 2020 - 02:19:39 EST


Hi Khalil,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b7cbaf59f62f8ab8f157698f9e31642bff525bd0
commit: b5b5b32081cd206baa6e58cca7f112d9723785d6 i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC
date: 5 weeks ago
config: arm64-randconfig-r011-20201103 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1fcd5d5655e29f85e12b402e32974f207cfedf32)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b5b5b32081cd206baa6e58cca7f112d9723785d6
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b5b5b32081cd206baa6e58cca7f112d9723785d6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/i2c/busses/i2c-mlxbf.c:2296:8: error: implicit declaration of function 'acpi_device_uid' [-Werror,-Wimplicit-function-declaration]
uid = acpi_device_uid(adev);
^
drivers/i2c/busses/i2c-mlxbf.c:2296:8: note: did you mean 'cpu_device_up'?
include/linux/cpu.h:93:5: note: 'cpu_device_up' declared here
int cpu_device_up(struct device *dev);
^
drivers/i2c/busses/i2c-mlxbf.c:2296:6: warning: incompatible integer to pointer conversion assigning to 'const char *' from 'int' [-Wint-conversion]
uid = acpi_device_uid(adev);
^ ~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.

vim +/acpi_device_uid +2296 drivers/i2c/busses/i2c-mlxbf.c

2274
2275 static int mlxbf_i2c_acpi_probe(struct device *dev, struct mlxbf_i2c_priv *priv)
2276 {
2277 const struct acpi_device_id *aid;
2278 struct acpi_device *adev;
2279 unsigned long bus_id = 0;
2280 const char *uid;
2281 int ret;
2282
2283 if (acpi_disabled)
2284 return -ENOENT;
2285
2286 adev = ACPI_COMPANION(dev);
2287 if (!adev)
2288 return -ENXIO;
2289
2290 aid = acpi_match_device(mlxbf_i2c_acpi_ids, dev);
2291 if (!aid)
2292 return -ENODEV;
2293
2294 priv->chip = (struct mlxbf_i2c_chip_info *)aid->driver_data;
2295
> 2296 uid = acpi_device_uid(adev);
2297 if (!uid || !(*uid)) {
2298 dev_err(dev, "Cannot retrieve UID\n");
2299 return -ENODEV;
2300 }
2301
2302 ret = kstrtoul(uid, 0, &bus_id);
2303 if (!ret)
2304 priv->bus = bus_id;
2305
2306 return ret;
2307 }
2308

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip