[chrome-os:chromeos-5.4 73/74] sound/soc/sof/intel/cnl.c:169:26: warning: variable 'hdr' set but not used
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 73cdf293503d84ee122c0d7e360c5eb0d594c051
commit: dc8070310769ab1bb78dc66a1f7435fd64dc39ca [73/74] CHROMIUM: WA: ASoC: SOF: Intel: Do not enable D0i3 work
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout dc8070310769ab1bb78dc66a1f7435fd64dc39ca
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
sound/soc/sof/intel/cnl.c: In function 'cnl_ipc_send_msg':
>> sound/soc/sof/intel/cnl.c:169:26: warning: variable 'hdr' set but not used [-Wunused-but-set-variable]
169 | struct sof_ipc_cmd_hdr *hdr;
| ^~~
sound/soc/sof/intel/cnl.c:168:28: warning: unused variable 'hdev' [-Wunused-variable]
168 | struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata;
| ^~~~
vim +/hdr +169 sound/soc/sof/intel/cnl.c
186198347be755 Keyon Jie 2019-10-25 165
47bf66a5e72ba1 Ranjani Sridharan 2020-08-26 166 int cnl_ipc_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg)
273020522ef623 Liam Girdwood 2019-04-12 167 {
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 168 struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata;
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 @169 struct sof_ipc_cmd_hdr *hdr;
186198347be755 Keyon Jie 2019-10-25 170 u32 dr = 0;
186198347be755 Keyon Jie 2019-10-25 171 u32 dd = 0;
186198347be755 Keyon Jie 2019-10-25 172
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 173 /*
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 174 * Currently the only compact IPC supported is the PM_GATE
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 175 * IPC which is used for transitioning the DSP between the
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 176 * D0I0 and D0I3 states. And these are sent only during the
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 177 * set_power_state() op. Therefore, there will never be a case
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 178 * that a compact IPC results in the DSP exiting D0I3 without
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 179 * the host and FW being in sync.
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 180 */
186198347be755 Keyon Jie 2019-10-25 181 if (cnl_compact_ipc_compress(msg, &dr, &dd)) {
186198347be755 Keyon Jie 2019-10-25 182 /* send the message via IPC registers */
186198347be755 Keyon Jie 2019-10-25 183 snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDD,
186198347be755 Keyon Jie 2019-10-25 184 dd);
186198347be755 Keyon Jie 2019-10-25 185 snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
186198347be755 Keyon Jie 2019-10-25 186 CNL_DSP_REG_HIPCIDR_BUSY | dr);
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 187 return 0;
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 188 }
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 189
186198347be755 Keyon Jie 2019-10-25 190 /* send the message via mailbox */
273020522ef623 Liam Girdwood 2019-04-12 191 sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data,
273020522ef623 Liam Girdwood 2019-04-12 192 msg->msg_size);
273020522ef623 Liam Girdwood 2019-04-12 193 snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
6fbbc18ead0f4f Daniel Baluta 2019-06-03 194 CNL_DSP_REG_HIPCIDR_BUSY);
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 195
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 196 hdr = msg->msg_data;
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 197
273020522ef623 Liam Girdwood 2019-04-12 198 return 0;
273020522ef623 Liam Girdwood 2019-04-12 199 }
273020522ef623 Liam Girdwood 2019-04-12 200
:::::: The code at line 169 was first introduced by commit
:::::: 35bc77bfc585f82e90c52e6d1dccef301035ecb5 FROMGIT: ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0
:::::: TO: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com>
:::::: CC: Commit Bot <commit-bot(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH v9 08/17] virtio_config: Add a return value to reset function
by kernel test robot
Hi Xie,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on vhost/linux-next]
[also build test ERROR on iommu/next uml/linux-next s390/features linus/master v5.14-rc1 next-20210715]
[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]
url: https://github.com/0day-ci/linux/commits/Xie-Yongji/Introduce-VDUSE-vDPA-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
config: x86_64-randconfig-a005-20210713 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d69635ed9ecf36fd0ca85906bfde17949671cbe)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/ade2af66f29301fe5d897bfddfabc27f5...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xie-Yongji/Introduce-VDUSE-vDPA-Device-in-Userspace/20210713-165009
git checkout ade2af66f29301fe5d897bfddfabc27f5f5cd678
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/virtio/virtio_mmio.c:537:12: error: incompatible function pointer types initializing 'int (*)(struct virtio_device *)' with an expression of type 'void (struct virtio_device *)' [-Werror,-Wincompatible-function-pointer-types]
.reset = vm_reset,
^~~~~~~~
1 error generated.
vim +537 drivers/virtio/virtio_mmio.c
38e895487afc2ed Sebastien Boeuf 2020-08-19 530
9350393239153c4 Stephen Hemminger 2013-02-10 531 static const struct virtio_config_ops virtio_mmio_config_ops = {
edfd52e6367270c Pawel Moll 2011-10-24 532 .get = vm_get,
edfd52e6367270c Pawel Moll 2011-10-24 533 .set = vm_set,
87e7bf1450c9f6b Michael S. Tsirkin 2015-03-12 534 .generation = vm_generation,
edfd52e6367270c Pawel Moll 2011-10-24 535 .get_status = vm_get_status,
edfd52e6367270c Pawel Moll 2011-10-24 536 .set_status = vm_set_status,
edfd52e6367270c Pawel Moll 2011-10-24 @537 .reset = vm_reset,
edfd52e6367270c Pawel Moll 2011-10-24 538 .find_vqs = vm_find_vqs,
edfd52e6367270c Pawel Moll 2011-10-24 539 .del_vqs = vm_del_vqs,
edfd52e6367270c Pawel Moll 2011-10-24 540 .get_features = vm_get_features,
edfd52e6367270c Pawel Moll 2011-10-24 541 .finalize_features = vm_finalize_features,
66846048f55c6c0 Rick Jones 2011-11-14 542 .bus_name = vm_bus_name,
38e895487afc2ed Sebastien Boeuf 2020-08-19 543 .get_shm_region = vm_get_shm_region,
edfd52e6367270c Pawel Moll 2011-10-24 544 };
edfd52e6367270c Pawel Moll 2011-10-24 545
edfd52e6367270c Pawel Moll 2011-10-24 546
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[mel:sched-notarget-v1r15 7/8] kernel/sched/fair.c:7053:12: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mel/linux.git sched-notarget-v1r15
head: a9ca7602387d3ed6aa80ccd5cc7e491709dbebae
commit: 20791824e212ce10d7abfa7a6bcdad80f05ab376 [7/8] sched/fair: select idle cpu from idle cpumask for task wakeup
config: ia64-randconfig-s031-20210715 (attached as .config)
compiler: ia64-linux-gcc (GCC) 10.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/mel/linux.git/commit/?id=...
git remote add mel https://git.kernel.org/pub/scm/linux/kernel/git/mel/linux.git
git fetch --no-tags mel sched-notarget-v1r15
git checkout 20791824e212ce10d7abfa7a6bcdad80f05ab376
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:830:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:830:34: sparse: expected struct sched_entity *se
kernel/sched/fair.c:830:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:10816:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:10816:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10816:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:4961:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:4961:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:4961:22: sparse: struct task_struct *
kernel/sched/fair.c:6783:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6783:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:6783:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:6917:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6917:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:6917:9: sparse: got struct sched_domain [noderef] __rcu *parent
>> kernel/sched/fair.c:7053:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu * @@
kernel/sched/fair.c:7053:12: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7053:12: sparse: got struct sched_domain [noderef] __rcu *
kernel/sched/fair.c:7150:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7150:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7150:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7434:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7434:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7434:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8419:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:8419:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:8419:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:8867:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8867:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8867:22: sparse: struct task_struct *
kernel/sched/fair.c:10130:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:10130:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10130:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:9790:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9790:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:9790:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:10202:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:10202:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10202:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:4626:31: sparse: sparse: marked inline, but without a definition
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:2185:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2185:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2185:9: sparse: struct task_struct *
kernel/sched/sched.h:2027:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2027:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2027:25: sparse: struct task_struct *
kernel/sched/sched.h:2027:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2027:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2027:25: sparse: struct task_struct *
vim +7053 kernel/sched/fair.c
7026
7027 /*
7028 * Update cpu idle state and record this information
7029 * in sd_llc_shared->idle_cpus_span.
7030 *
7031 * This function is called with interrupts disabled.
7032 */
7033 void update_idle_cpumask(int cpu, bool idle)
7034 {
7035 struct sched_domain *sd;
7036 struct rq *rq = cpu_rq(cpu);
7037 int idle_state;
7038
7039 /*
7040 * Also set SCHED_IDLE cpu in idle cpumask to
7041 * allow SCHED_IDLE cpu as a wakeup target.
7042 */
7043 idle_state = idle || sched_idle_cpu(cpu);
7044 /*
7045 * No need to update idle cpumask if the state
7046 * does not change.
7047 */
7048 if (rq->last_idle_state == idle_state)
7049 return;
7050 /*
7051 * Called with irq disabled, rcu protection is not needed.
7052 */
> 7053 sd = per_cpu(sd_llc, cpu);
7054 if (unlikely(!sd))
7055 return;
7056
7057 if (idle_state)
7058 cpumask_set_cpu(cpu, sds_idle_cpus(sd->shared));
7059 else
7060 cpumask_clear_cpu(cpu, sds_idle_cpus(sd->shared));
7061
7062 rq->last_idle_state = idle_state;
7063 }
7064 #endif /* CONFIG_SMP */
7065
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[RFC PATCH] mm/hugetlb: __unmap_hugepage_range() can be static
by kernel test robot
mm/hugetlb.c:4334:6: warning: symbol '__unmap_hugepage_range' was not declared. Should it be static?
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
hugetlb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 924553aa8f789ad..4bdd637b0c29a95 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4331,9 +4331,9 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src,
return ret;
}
-void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,
- unsigned long start, unsigned long end,
- struct page *ref_page)
+static void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,
+ unsigned long start, unsigned long end,
+ struct page *ref_page)
{
struct mm_struct *mm = vma->vm_mm;
unsigned long address;
1 year, 2 months
Re: [PATCH 4/4] iio: imu: add BNO055 serdev driver
by kernel test robot
Hi Andrea,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on iio/togreg]
[also build test WARNING on robh/for-next linus/master v5.14-rc1 next-20210715]
[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]
url: https://github.com/0day-ci/linux/commits/Andrea-Merello/Add-support-for-B...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 10.3.0
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://github.com/0day-ci/linux/commit/616d1b9a99ec2045cdf6cc827751660a4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Andrea-Merello/Add-support-for-Bosch-BNO055-IMU/20210715-222018
git checkout 616d1b9a99ec2045cdf6cc827751660a48ccc5d2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from drivers/iio/imu/bno055/bno055_sl.c:18:
drivers/iio/imu/bno055/bno055_sl.c: In function 'bno055_sl_write_reg':
>> drivers/iio/imu/bno055/bno055_sl.c:286:31: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
286 | dev_err(&priv->serdev->dev, "Invalid write count %d", count);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/iio/imu/bno055/bno055_sl.c:286:3: note: in expansion of macro 'dev_err'
286 | dev_err(&priv->serdev->dev, "Invalid write count %d", count);
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:286:53: note: format string is defined here
286 | dev_err(&priv->serdev->dev, "Invalid write count %d", count);
| ~^
| |
| int
| %ld
In file included from include/linux/device.h:15,
from drivers/iio/imu/bno055/bno055_sl.c:18:
drivers/iio/imu/bno055/bno055_sl.c: In function 'bno055_sl_read_reg':
drivers/iio/imu/bno055/bno055_sl.c:306:31: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
306 | dev_err(&priv->serdev->dev, "Invalid read regsize %d",
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/iio/imu/bno055/bno055_sl.c:306:3: note: in expansion of macro 'dev_err'
306 | dev_err(&priv->serdev->dev, "Invalid read regsize %d",
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:306:54: note: format string is defined here
306 | dev_err(&priv->serdev->dev, "Invalid read regsize %d",
| ~^
| |
| int
| %ld
In file included from include/linux/device.h:15,
from drivers/iio/imu/bno055/bno055_sl.c:18:
drivers/iio/imu/bno055/bno055_sl.c:312:31: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
312 | dev_err(&priv->serdev->dev, "Invalid read valsize %d",
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/iio/imu/bno055/bno055_sl.c:312:3: note: in expansion of macro 'dev_err'
312 | dev_err(&priv->serdev->dev, "Invalid read valsize %d",
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:312:54: note: format string is defined here
312 | dev_err(&priv->serdev->dev, "Invalid read valsize %d",
| ~^
| |
| int
| %ld
In file included from include/linux/printk.h:456,
from include/linux/kernel.h:19,
from include/linux/list.h:9,
from include/linux/swait.h:5,
from include/linux/completion.h:12,
from drivers/iio/imu/bno055/bno055_sl.c:17:
drivers/iio/imu/bno055/bno055_sl.c:318:30: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
318 | dev_dbg(&priv->serdev->dev, "rd reg 0x%x (len %d)", reg_addr, val_size);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call'
134 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call'
166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:318:2: note: in expansion of macro 'dev_dbg'
318 | dev_dbg(&priv->serdev->dev, "rd reg 0x%x (len %d)", reg_addr, val_size);
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:318:49: note: format string is defined here
318 | dev_dbg(&priv->serdev->dev, "rd reg 0x%x (len %d)", reg_addr, val_size);
| ~^
| |
| int
| %ld
In file included from include/linux/printk.h:456,
from include/linux/kernel.h:19,
from include/linux/list.h:9,
from include/linux/swait.h:5,
from include/linux/completion.h:12,
from drivers/iio/imu/bno055/bno055_sl.c:17:
drivers/iio/imu/bno055/bno055_sl.c: In function 'bno055_sl_receive_buf':
drivers/iio/imu/bno055/bno055_sl.c:394:30: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
394 | dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call'
134 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call'
166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:394:2: note: in expansion of macro 'dev_dbg'
394 | dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:394:42: note: format string is defined here
394 | dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
| ~^
| |
| int
| %ld
In file included from include/linux/printk.h:456,
from include/linux/kernel.h:19,
from include/linux/list.h:9,
from include/linux/swait.h:5,
from include/linux/completion.h:12,
from drivers/iio/imu/bno055/bno055_sl.c:17:
>> drivers/iio/imu/bno055/bno055_sl.c:394:30: warning: field width specifier '*' expects argument of type 'int', but argument 5 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
394 | dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call'
134 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call'
166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:394:2: note: in expansion of macro 'dev_dbg'
394 | dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
| ^~~~~~~
drivers/iio/imu/bno055/bno055_sl.c:394:47: note: format string is defined here
394 | dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
| ~^~
| |
| int
vim +286 drivers/iio/imu/bno055/bno055_sl.c
277
278 static int bno055_sl_write_reg(void *context, const void *data, size_t count)
279 {
280 int ret;
281 int reg;
282 u8 *write_data = (u8 *)data + 1;
283 struct bno055_sl_priv *priv = context;
284
285 if (count < 2) {
> 286 dev_err(&priv->serdev->dev, "Invalid write count %d", count);
287 return -EINVAL;
288 }
289
290 reg = ((u8 *)data)[0];
291 dev_dbg(&priv->serdev->dev, "wr reg 0x%x = 0x%x", reg, ((u8 *)data)[1]);
292 ret = bno_sl_send_cmd(priv, 0, reg, count - 1, write_data);
293
294 return ret;
295 }
296
297 static int bno055_sl_read_reg(void *context,
298 const void *reg, size_t reg_size,
299 void *val, size_t val_size)
300 {
301 int ret;
302 int reg_addr;
303 struct bno055_sl_priv *priv = context;
304
305 if (reg_size != 1) {
306 dev_err(&priv->serdev->dev, "Invalid read regsize %d",
307 reg_size);
308 return -EINVAL;
309 }
310
311 if (val_size > 128) {
312 dev_err(&priv->serdev->dev, "Invalid read valsize %d",
313 val_size);
314 return -EINVAL;
315 }
316
317 reg_addr = ((u8 *)reg)[0];
318 dev_dbg(&priv->serdev->dev, "rd reg 0x%x (len %d)", reg_addr, val_size);
319 mutex_lock(&priv->lock);
320 priv->expected_data_len = val_size;
321 priv->response_buf = val;
322 mutex_unlock(&priv->lock);
323
324 ret = bno_sl_send_cmd(priv, 1, reg_addr, val_size, NULL);
325
326 mutex_lock(&priv->lock);
327 priv->response_buf = NULL;
328 mutex_unlock(&priv->lock);
329
330 return ret;
331 }
332
333 /*
334 * Handler for received data; this is called from the reicever callback whenever
335 * it got some packet from the serial bus. The status tell us whether the
336 * packet is valid (i.e. header ok && received payload len consistent wrt the
337 * header). It's now our responsability to check whether this is what we
338 * expected, of whether we got some unexpected, yet valid, packet.
339 */
340 static void bno055_sl_handle_rx(struct bno055_sl_priv *priv, int status)
341 {
342 mutex_lock(&priv->lock);
343 switch (priv->expect_response) {
344 case CMD_NONE:
345 dev_warn(&priv->serdev->dev, "received unexpected, yet valid, data from sensor");
346 mutex_unlock(&priv->lock);
347 return;
348
349 case CMD_READ:
350 priv->cmd_status = status;
351 if (status == STATUS_OK &&
352 priv->rx.databuf_count != priv->expected_data_len) {
353 /*
354 * If we got here, then the lower layer serial protocol
355 * seems consistent with itself; if we got an unexpected
356 * amount of data then signal it as a non critical error
357 */
358 priv->cmd_status = STATUS_FAIL;
359 dev_warn(&priv->serdev->dev, "received an unexpected amount of, yet valid, data from sensor");
360 }
361 break;
362
363 case CMD_WRITE:
364 priv->cmd_status = status;
365 break;
366 }
367
368 priv->expect_response = CMD_NONE;
369 complete(&priv->cmd_complete);
370 mutex_unlock(&priv->lock);
371 }
372
373 /*
374 * Serdev receiver FSM. This tracks the serial communication and parse the
375 * header. It pushes packets to bno055_sl_handle_rx(), eventually communicating
376 * failures (i.e. malformed packets).
377 * Idellay it doesn't know anything about upper layer (i.e. if this is the
378 * packet we were really expecting), but since we copies the payload into the
379 * receiver buffer (that is not valid when i.e. we don't expect data), we
380 * snoop a bit in the upper layer..
381 * Also, we assume to RX one pkt per time (i.e. the HW doesn't send anything
382 * unless we require to AND we don't queue more than one request per time).
383 */
384 static int bno055_sl_receive_buf(struct serdev_device *serdev,
385 const unsigned char *buf, size_t size)
386 {
387 int status;
388 struct bno055_sl_priv *priv = serdev_device_get_drvdata(serdev);
389 int _size = size;
390
391 if (size == 0)
392 return 0;
393
> 394 dev_dbg(&priv->serdev->dev, "recv (len %d): %*ph ", size, size, buf);
395 switch (priv->rx.state) {
396 case RX_IDLE:
397 /*
398 * New packet.
399 * Check for its 1st byte, that identifies the pkt type.
400 */
401 if (buf[0] != 0xEE && buf[0] != 0xBB) {
402 dev_err(&priv->serdev->dev,
403 "Invalid packet start %x", buf[0]);
404 bno055_sl_handle_rx(priv, STATUS_CRIT);
405 break;
406 }
407 priv->rx.type = buf[0];
408 priv->rx.state = RX_START;
409 size--;
410 buf++;
411 priv->rx.databuf_count = 0;
412 fallthrough;
413
414 case RX_START:
415 /*
416 * Packet RX in progress, we expect either 1-byte len or 1-byte
417 * status depending by the packet type.
418 */
419 if (size == 0)
420 break;
421
422 if (priv->rx.type == 0xEE) {
423 if (size > 1) {
424 dev_err(&priv->serdev->dev, "EE pkt. Extra data received");
425 status = STATUS_CRIT;
426
427 } else {
428 status = (buf[0] == 1) ? STATUS_OK : STATUS_FAIL;
429 }
430 bno055_sl_handle_rx(priv, status);
431 priv->rx.state = RX_IDLE;
432 break;
433
434 } else {
435 /*priv->rx.type == 0xBB */
436 priv->rx.state = RX_DATA;
437 priv->rx.expected_len = buf[0];
438 size--;
439 buf++;
440 }
441 fallthrough;
442
443 case RX_DATA:
444 /* Header parsed; now receiving packet data payload */
445 if (size == 0)
446 break;
447
448 if (priv->rx.databuf_count + size > priv->rx.expected_len) {
449 /*
450 * This is a inconsistency in serial protocol, we lost
451 * sync and we don't know how to handle further data
452 */
453 dev_err(&priv->serdev->dev, "BB pkt. Extra data received");
454 bno055_sl_handle_rx(priv, STATUS_CRIT);
455 priv->rx.state = RX_IDLE;
456 break;
457 }
458
459 mutex_lock(&priv->lock);
460 /*
461 * NULL e.g. when read cmd is stale or when no read cmd is
462 * actually pending.
463 */
464 if (priv->response_buf &&
465 /*
466 * Snoop on the upper layer protocol stuff to make sure not
467 * to write to an invalid memory. Apart for this, let's the
468 * upper layer manage any inconsistency wrt expected data
469 * len (as long as the serial protocol is consistent wrt
470 * itself (i.e. response header is consistent with received
471 * response len.
472 */
473 (priv->rx.databuf_count + size <= priv->expected_data_len))
474 memcpy(priv->response_buf + priv->rx.databuf_count,
475 buf, size);
476 mutex_unlock(&priv->lock);
477
478 priv->rx.databuf_count += size;
479
480 /*
481 * Reached expected len advertised by the IMU for the current
482 * packet. Pass it to the upper layer (for us it is just valid).
483 */
484 if (priv->rx.databuf_count == priv->rx.expected_len) {
485 bno055_sl_handle_rx(priv, STATUS_OK);
486 priv->rx.state = RX_IDLE;
487 }
488 break;
489 }
490
491 return _size;
492 }
493
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[xlnx:xlnx_rebase_v5.10 1042/1756] drivers/remoteproc/qcom_q6v5_adsp.c:304:14: error: initialization of 'void * (*)(struct rproc *, u64, int)' {aka 'void * (*)(struct rproc *, long long unsigned int, int)'} from incompatible pointer type 'void * (*)(struct rproc *, u64, size_t)' {aka 'v...
by kernel test robot
Hi Vishal,
First bad commit (maybe != root cause):
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.10
head: f6f032f82f0a13def702a0154df535db88f43391
commit: 87134cbd0bfd3a28abc5747ce98d0c2098bdda1a [1042/1756] staging: xlnxsync: Fix the uapi header license
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
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://github.com/Xilinx/linux-xlnx/commit/87134cbd0bfd3a28abc5747ce98d0...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.10
git checkout 87134cbd0bfd3a28abc5747ce98d0c2098bdda1a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/remoteproc/qcom_q6v5_adsp.c:304:14: error: initialization of 'void * (*)(struct rproc *, u64, int)' {aka 'void * (*)(struct rproc *, long long unsigned int, int)'} from incompatible pointer type 'void * (*)(struct rproc *, u64, size_t)' {aka 'void * (*)(struct rproc *, long long unsigned int, long unsigned int)'} [-Werror=incompatible-pointer-types]
304 | .da_to_va = adsp_da_to_va,
| ^~~~~~~~~~~~~
drivers/remoteproc/qcom_q6v5_adsp.c:304:14: note: (near initialization for 'adsp_ops.da_to_va')
cc1: some warnings being treated as errors
--
>> drivers/remoteproc/qcom_q6v5_wcss.c:444:14: error: initialization of 'void * (*)(struct rproc *, u64, int)' {aka 'void * (*)(struct rproc *, long long unsigned int, int)'} from incompatible pointer type 'void * (*)(struct rproc *, u64, size_t)' {aka 'void * (*)(struct rproc *, long long unsigned int, long unsigned int)'} [-Werror=incompatible-pointer-types]
444 | .da_to_va = q6v5_wcss_da_to_va,
| ^~~~~~~~~~~~~~~~~~
drivers/remoteproc/qcom_q6v5_wcss.c:444:14: note: (near initialization for 'q6v5_wcss_ops.da_to_va')
cc1: some warnings being treated as errors
--
>> drivers/remoteproc/qcom_wcnss.c:313:14: error: initialization of 'void * (*)(struct rproc *, u64, int)' {aka 'void * (*)(struct rproc *, long long unsigned int, int)'} from incompatible pointer type 'void * (*)(struct rproc *, u64, size_t)' {aka 'void * (*)(struct rproc *, long long unsigned int, long unsigned int)'} [-Werror=incompatible-pointer-types]
313 | .da_to_va = wcnss_da_to_va,
| ^~~~~~~~~~~~~~
drivers/remoteproc/qcom_wcnss.c:313:14: note: (near initialization for 'wcnss_ops.da_to_va')
cc1: some warnings being treated as errors
--
>> drivers/remoteproc/imx_rproc.c:247:20: error: initialization of 'void * (*)(struct rproc *, u64, int)' {aka 'void * (*)(struct rproc *, long long unsigned int, int)'} from incompatible pointer type 'void * (*)(struct rproc *, u64, size_t)' {aka 'void * (*)(struct rproc *, long long unsigned int, long unsigned int)'} [-Werror=incompatible-pointer-types]
247 | .da_to_va = imx_rproc_da_to_va,
| ^~~~~~~~~~~~~~~~~~
drivers/remoteproc/imx_rproc.c:247:20: note: (near initialization for 'imx_rproc_ops.da_to_va')
cc1: some warnings being treated as errors
vim +304 drivers/remoteproc/qcom_q6v5_adsp.c
717c21bad161dd Bjorn Andersson 2020-03-23 300
dc160e44912227 Rohit kumar 2018-09-24 301 static const struct rproc_ops adsp_ops = {
dc160e44912227 Rohit kumar 2018-09-24 302 .start = adsp_start,
dc160e44912227 Rohit kumar 2018-09-24 303 .stop = adsp_stop,
dc160e44912227 Rohit kumar 2018-09-24 @304 .da_to_va = adsp_da_to_va,
dc160e44912227 Rohit kumar 2018-09-24 305 .parse_fw = qcom_register_dump_segments,
dc160e44912227 Rohit kumar 2018-09-24 306 .load = adsp_load,
717c21bad161dd Bjorn Andersson 2020-03-23 307 .panic = adsp_panic,
dc160e44912227 Rohit kumar 2018-09-24 308 };
dc160e44912227 Rohit kumar 2018-09-24 309
:::::: The code at line 304 was first introduced by commit
:::::: dc160e449122274e0acffa622cc937f90b76a5a4 remoteproc: qcom: Introduce Non-PAS ADSP PIL driver
:::::: TO: Rohit kumar <rohitkr(a)codeaurora.org>
:::::: CC: Bjorn Andersson <bjorn.andersson(a)linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH 4/4] iio: imu: add BNO055 serdev driver
by kernel test robot
Hi Andrea,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on iio/togreg]
[also build test WARNING on robh/for-next linus/master v5.14-rc1 next-20210715]
[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]
url: https://github.com/0day-ci/linux/commits/Andrea-Merello/Add-support-for-B...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
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://github.com/0day-ci/linux/commit/616d1b9a99ec2045cdf6cc827751660a4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Andrea-Merello/Add-support-for-Bosch-BNO055-IMU/20210715-222018
git checkout 616d1b9a99ec2045cdf6cc827751660a48ccc5d2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/iio/imu/bno055/bno055.c:250:5: warning: no previous prototype for 'bno055_calibration_load' [-Wmissing-prototypes]
250 | int bno055_calibration_load(struct bno055_priv *priv, const struct firmware *fw)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/bno055/bno055.c: In function '_bno055_write_raw':
>> drivers/iio/imu/bno055/bno055.c:770:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
770 | switch (mask) {
| ^~~~~~
drivers/iio/imu/bno055/bno055.c:774:2: note: here
774 | default:
| ^~~~~~~
vim +/bno055_calibration_load +250 drivers/iio/imu/bno055/bno055.c
d13cfdff130569 Andrea Merello 2021-07-15 248
d13cfdff130569 Andrea Merello 2021-07-15 249 /* must be called in configuration mode */
d13cfdff130569 Andrea Merello 2021-07-15 @250 int bno055_calibration_load(struct bno055_priv *priv, const struct firmware *fw)
d13cfdff130569 Andrea Merello 2021-07-15 251 {
d13cfdff130569 Andrea Merello 2021-07-15 252 int i;
d13cfdff130569 Andrea Merello 2021-07-15 253 unsigned int tmp;
d13cfdff130569 Andrea Merello 2021-07-15 254 u8 cal[BNO055_CALDATA_LEN];
d13cfdff130569 Andrea Merello 2021-07-15 255 int read, tot_read = 0;
d13cfdff130569 Andrea Merello 2021-07-15 256 int ret = 0;
d13cfdff130569 Andrea Merello 2021-07-15 257 char *buf = kmalloc(fw->size + 1, GFP_KERNEL);
d13cfdff130569 Andrea Merello 2021-07-15 258
d13cfdff130569 Andrea Merello 2021-07-15 259 if (!buf)
d13cfdff130569 Andrea Merello 2021-07-15 260 return -ENOMEM;
d13cfdff130569 Andrea Merello 2021-07-15 261
d13cfdff130569 Andrea Merello 2021-07-15 262 memcpy(buf, fw->data, fw->size);
d13cfdff130569 Andrea Merello 2021-07-15 263 buf[fw->size] = '\0';
d13cfdff130569 Andrea Merello 2021-07-15 264 for (i = 0; i < BNO055_CALDATA_LEN; i++) {
d13cfdff130569 Andrea Merello 2021-07-15 265 ret = sscanf(buf + tot_read, "%x%n",
d13cfdff130569 Andrea Merello 2021-07-15 266 &tmp, &read);
d13cfdff130569 Andrea Merello 2021-07-15 267 if (ret != 1 || tmp > 0xff) {
d13cfdff130569 Andrea Merello 2021-07-15 268 ret = -EINVAL;
d13cfdff130569 Andrea Merello 2021-07-15 269 goto exit;
d13cfdff130569 Andrea Merello 2021-07-15 270 }
d13cfdff130569 Andrea Merello 2021-07-15 271 cal[i] = tmp;
d13cfdff130569 Andrea Merello 2021-07-15 272 tot_read += read;
d13cfdff130569 Andrea Merello 2021-07-15 273 }
d13cfdff130569 Andrea Merello 2021-07-15 274 dev_dbg(priv->dev, "loading cal data: %*ph", BNO055_CALDATA_LEN, cal);
d13cfdff130569 Andrea Merello 2021-07-15 275 ret = regmap_bulk_write(priv->regmap, BNO055_CALDATA_START,
d13cfdff130569 Andrea Merello 2021-07-15 276 cal, BNO055_CALDATA_LEN);
d13cfdff130569 Andrea Merello 2021-07-15 277 exit:
d13cfdff130569 Andrea Merello 2021-07-15 278 kfree(buf);
d13cfdff130569 Andrea Merello 2021-07-15 279 return ret;
d13cfdff130569 Andrea Merello 2021-07-15 280 }
d13cfdff130569 Andrea Merello 2021-07-15 281
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH v4 15/26] mm/hugetlb: Drop __unmap_hugepage_range definition from hugetlb.h
by kernel test robot
Hi Peter,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.14-rc1 next-20210715]
[cannot apply to hnaz-linux-mm/master asm-generic/master linux/master]
[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]
url: https://github.com/0day-ci/linux/commits/Peter-Xu/userfaultfd-wp-Support-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8096acd7442e613fad0354fc8dfdb2003cceea0b
config: i386-randconfig-s002-20210714 (attached as .config)
compiler: gcc-10 (Debian 10.2.1-6) 10.2.1 20210110
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/f8dd355edbfe948f84c8aaa10a5173656...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20210715-062718
git checkout f8dd355edbfe948f84c8aaa10a5173656aa2778c
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> mm/hugetlb.c:4334:6: sparse: sparse: symbol '__unmap_hugepage_range' was not declared. Should it be static?
mm/hugetlb.c:444:12: sparse: sparse: context imbalance in 'allocate_file_region_entries' - wrong count at exit
mm/hugetlb.c:517:13: sparse: sparse: context imbalance in 'region_add' - wrong count at exit
mm/hugetlb.c:584:13: sparse: sparse: context imbalance in 'region_chg' - wrong count at exit
mm/hugetlb.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/mm.h):
include/linux/page-flags.h:183:29: sparse: sparse: context imbalance in 'hugetlb_cow' - unexpected unlock
mm/hugetlb.c:5386:25: sparse: sparse: context imbalance in 'follow_hugetlb_page' - different lock contexts for basic block
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months