s390-linux-ld: timer-of.c:undefined reference to `iounmap'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: 25259f7a5de2de9d67793dc584b15c83a3134c93 clocksource/drivers/timer-microchip-pit64b: Select CONFIG_TIMER_OF
date: 10 months ago
config: s390-randconfig-r035-20210209 (attached as .config)
compiler: s390-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 25259f7a5de2de9d67793dc584b15c83a3134c93
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
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 >>):
s390-linux-ld: kernel/dma/coherent.o: in function `dma_init_coherent_memory':
coherent.c:(.text+0x440): undefined reference to `memremap'
s390-linux-ld: coherent.c:(.text+0x510): undefined reference to `memunmap'
s390-linux-ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
coherent.c:(.text+0x93c): undefined reference to `memunmap'
s390-linux-ld: drivers/irqchip/irq-al-fic.o: in function `al_fic_init_dt':
irq-al-fic.c:(.init.text+0x3a): undefined reference to `of_iomap'
s390-linux-ld: irq-al-fic.c:(.init.text+0x270): undefined reference to `iounmap'
s390-linux-ld: drivers/input/serio/apbps2.o: in function `apbps2_of_probe':
apbps2.c:(.text+0x30c): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_init':
timer-of.c:(.init.text+0x56): undefined reference to `of_iomap'
>> s390-linux-ld: timer-of.c:(.init.text+0x24e): undefined reference to `iounmap'
s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_cleanup':
timer-of.c:(.init.text+0x320): undefined reference to `iounmap'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[RFC PATCH] regulator: dev_delayed_work_autocancel() can be static
by kernel test robot
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
irq_helpers.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/regulator/irq_helpers.c b/drivers/regulator/irq_helpers.c
index 57121554de8e8..f7eba80e164f8 100644
--- a/drivers/regulator/irq_helpers.c
+++ b/drivers/regulator/irq_helpers.c
@@ -283,8 +283,8 @@ static void dev_delayed_work_drop(struct device *dev, void *res)
cancel_delayed_work_sync(*(struct delayed_work **)res);
}
-int dev_delayed_work_autocancel(struct device *dev, struct delayed_work *w,
- void (*worker)(struct work_struct *work))
+static int dev_delayed_work_autocancel(struct device *dev, struct delayed_work *w,
+ void (*worker)(struct work_struct *work))
{
struct delayed_work **ptr;
1 year, 7 months
Re: [RFC PATCH 3/7] regulator: IRQ based event/error notification helpers
by kernel test robot
Hi Matti,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on regulator/for-next]
[also build test WARNING on v5.11-rc7 next-20210211]
[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/Matti-Vaittinen/Extend-regulator...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
config: i386-randconfig-s001-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://github.com/0day-ci/linux/commit/1844ad67f3ebe118184da7e83b30df9f4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matti-Vaittinen/Extend-regulator-notification-support/20210211-204336
git checkout 1844ad67f3ebe118184da7e83b30df9f4eb0caf0
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/regulator/irq_helpers.c:286:5: warning: no previous prototype for 'dev_delayed_work_autocancel' [-Wmissing-prototypes]
286 | int dev_delayed_work_autocancel(struct device *dev, struct delayed_work *w,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
"sparse warnings: (new ones prefixed by >>)"
>> drivers/regulator/irq_helpers.c:286:5: sparse: sparse: symbol 'dev_delayed_work_autocancel' was not declared. Should it be static?
Please review and possibly fold the followup patch.
vim +/dev_delayed_work_autocancel +286 drivers/regulator/irq_helpers.c
285
> 286 int dev_delayed_work_autocancel(struct device *dev, struct delayed_work *w,
287 void (*worker)(struct work_struct *work))
288 {
289 struct delayed_work **ptr;
290
291 ptr = devres_alloc(dev_delayed_work_drop, sizeof(*ptr), GFP_KERNEL);
292 if (!ptr)
293 return -ENOMEM;
294
295 INIT_DELAYED_WORK(w, worker);
296 *ptr = w;
297 devres_add(dev, ptr);
298
299 return 0;
300 }
301
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[iwlwifi-next:pending 45/46] drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:279:9: warning: format '%zd' expects argument of type 'signed size_t', but argument 7 has type 'long unsigned int'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git pending
head: ba3e54db28a97172673116e893a5d7aafed27a9b
commit: 289084803334ac4261ee04c984ce7fc99322dee0 [45/46] iwlwifi: pnvm: implement reading PNVM from UEFI
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/...
git remote add iwlwifi-next https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git
git fetch --no-tags iwlwifi-next pending
git checkout 289084803334ac4261ee04c984ce7fc99322dee0
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 drivers/net/wireless/intel/iwlwifi/iwl-trans.h:15,
from drivers/net/wireless/intel/iwlwifi/fw/notif-wait.h:11,
from drivers/net/wireless/intel/iwlwifi/fw/pnvm.h:11,
from drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:7:
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c: In function 'iwl_pnvm_get_from_efi':
>> drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:279:9: warning: format '%zd' expects argument of type 'signed size_t', but argument 7 has type 'long unsigned int' [-Wformat=]
279 | "PNVM UEFI variable not found %d (len %zd)\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
280 | err, package_size);
| ~~~~~~~~~~~~
| |
| long unsigned int
drivers/net/wireless/intel/iwlwifi/iwl-debug.h:85:42: note: in definition of macro '__IWL_DEBUG_DEV'
85 | __iwl_dbg(dev, level, limit, __func__, fmt, ##args); \
| ^~~
drivers/net/wireless/intel/iwlwifi/iwl-debug.h:184:34: note: in expansion of macro 'IWL_DEBUG'
184 | #define IWL_DEBUG_FW(p, f, a...) IWL_DEBUG(p, IWL_DL_FW, f, ## a)
| ^~~~~~~~~
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:278:3: note: in expansion of macro 'IWL_DEBUG_FW'
278 | IWL_DEBUG_FW(trans,
| ^~~~~~~~~~~~
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:279:49: note: format string is defined here
279 | "PNVM UEFI variable not found %d (len %zd)\n",
| ~~^
| |
| int
| %ld
In file included from drivers/net/wireless/intel/iwlwifi/iwl-trans.h:15,
from drivers/net/wireless/intel/iwlwifi/fw/notif-wait.h:11,
from drivers/net/wireless/intel/iwlwifi/fw/pnvm.h:11,
from drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:7:
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:284:22: warning: format '%zd' expects argument of type 'signed size_t', but argument 6 has type 'long unsigned int' [-Wformat=]
284 | IWL_DEBUG_FW(trans, "Read PNVM fro UEFI with size %zd\n", package_size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
| |
| long unsigned int
drivers/net/wireless/intel/iwlwifi/iwl-debug.h:85:42: note: in definition of macro '__IWL_DEBUG_DEV'
85 | __iwl_dbg(dev, level, limit, __func__, fmt, ##args); \
| ^~~
drivers/net/wireless/intel/iwlwifi/iwl-debug.h:184:34: note: in expansion of macro 'IWL_DEBUG'
184 | #define IWL_DEBUG_FW(p, f, a...) IWL_DEBUG(p, IWL_DL_FW, f, ## a)
| ^~~~~~~~~
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:284:2: note: in expansion of macro 'IWL_DEBUG_FW'
284 | IWL_DEBUG_FW(trans, "Read PNVM fro UEFI with size %zd\n", package_size);
| ^~~~~~~~~~~~
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:284:54: note: format string is defined here
284 | IWL_DEBUG_FW(trans, "Read PNVM fro UEFI with size %zd\n", package_size);
| ~~^
| |
| int
| %ld
vim +279 drivers/net/wireless/intel/iwlwifi/fw/pnvm.c
246
247 static int iwl_pnvm_get_from_efi(struct iwl_trans *trans,
248 u8 **data, size_t *len)
249 {
250 struct efivar_entry *pnvm_efivar;
251 struct pnvm_sku_package *package;
252 unsigned long package_size;
253 int err;
254
255 pnvm_efivar = kzalloc(sizeof(*pnvm_efivar), GFP_KERNEL);
256 if (!pnvm_efivar)
257 return -ENOMEM;
258
259 memcpy(&pnvm_efivar->var.VariableName, IWL_UEFI_OEM_PNVM_NAME,
260 sizeof(IWL_UEFI_OEM_PNVM_NAME));
261 pnvm_efivar->var.VendorGuid = IWL_EFI_VAR_GUID;
262
263 /*
264 * TODO: we hardcode a maximum length here, because reading
265 * from the UEFI is not working. To implement this properly,
266 * we have to call efivar_entry_size().
267 */
268 package_size = IWL_HARDCODED_PNVM_SIZE;
269
270 package = kmalloc(package_size, GFP_KERNEL);
271 if (!package) {
272 err = -ENOMEM;
273 goto out;
274 }
275
276 err = efivar_entry_get(pnvm_efivar, NULL, &package_size, package);
277 if (err) {
278 IWL_DEBUG_FW(trans,
> 279 "PNVM UEFI variable not found %d (len %zd)\n",
280 err, package_size);
281 goto out;
282 }
283
284 IWL_DEBUG_FW(trans, "Read PNVM fro UEFI with size %zd\n", package_size);
285
286 *data = kmemdup(package->data, *len, GFP_KERNEL);
287 if (!*data)
288 err = -ENOMEM;
289 *len = package_size - sizeof(*package);
290
291 out:
292 kfree(package);
293 kfree(pnvm_efivar);
294
295 return err;
296 }
297 #else /* CONFIG_EFI */
298 static inline int iwl_pnvm_get_from_efi(struct iwl_trans *trans,
299 u8 **data, size_t *len)
300 {
301 return -EOPNOTSUPP;
302 }
303 #endif /* CONFIG_EFI */
304
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [RFC PATCH 4/7] regulator: add property parsing and callbacks to set protection limits
by kernel test robot
Hi Matti,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on regulator/for-next]
[also build test ERROR on next-20210211]
[cannot apply to v5.11-rc7]
[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/Matti-Vaittinen/Extend-regulator...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
config: i386-randconfig-s002-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://github.com/0day-ci/linux/commit/260da0e9dac7ec0544df299c02d405134...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matti-Vaittinen/Extend-regulator-notification-support/20210211-204336
git checkout 260da0e9dac7ec0544df299c02d4051341506bf8
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/regulator/qcom_spmi-regulator.c:1346:33: error: initialization of 'int (*)(struct regulator_dev *, int, int, bool)' {aka 'int (*)(struct regulator_dev *, int, int, _Bool)'} from incompatible pointer type 'int (*)(struct regulator_dev *)' [-Werror=incompatible-pointer-types]
1346 | .set_over_current_protection = spmi_regulator_vs_ocp,
| ^~~~~~~~~~~~~~~~~~~~~
drivers/regulator/qcom_spmi-regulator.c:1346:33: note: (near initialization for 'spmi_vs_ops.set_over_current_protection')
cc1: some warnings being treated as errors
vim +1346 drivers/regulator/qcom_spmi-regulator.c
e92a4047419c80 Stephen Boyd 2015-06-12 1339
3b619e3e2d1a89 Rikard Falkeborn 2020-06-29 1340 static const struct regulator_ops spmi_vs_ops = {
e92a4047419c80 Stephen Boyd 2015-06-12 1341 .enable = spmi_regulator_vs_enable,
9d4853322ffcc7 Axel Lin 2017-11-29 1342 .disable = regulator_disable_regmap,
9d4853322ffcc7 Axel Lin 2017-11-29 1343 .is_enabled = regulator_is_enabled_regmap,
e92a4047419c80 Stephen Boyd 2015-06-12 1344 .set_pull_down = spmi_regulator_common_set_pull_down,
e92a4047419c80 Stephen Boyd 2015-06-12 1345 .set_soft_start = spmi_regulator_common_set_soft_start,
e2adfacde619d8 Stephen Boyd 2015-07-17 @1346 .set_over_current_protection = spmi_regulator_vs_ocp,
919163f6362ac2 Stephen Boyd 2016-06-25 1347 .set_mode = spmi_regulator_common_set_mode,
919163f6362ac2 Stephen Boyd 2016-06-25 1348 .get_mode = spmi_regulator_common_get_mode,
e92a4047419c80 Stephen Boyd 2015-06-12 1349 };
e92a4047419c80 Stephen Boyd 2015-06-12 1350
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
drivers/media/common/videobuf2/videobuf2-dma-contig.c:509:5: error: implicit declaration of function '__pfn_to_phys'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: 4bfc848e0981fcd35db00fe1c6581560689f6dc7 m68k/mm: enable use of generic memory_model.h for !DISCONTIGMEM
date: 8 weeks ago
config: m68k-randconfig-r021-20210211 (attached as .config)
compiler: m68k-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4bfc848e0981fcd35db00fe1c6581560689f6dc7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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/media/common/videobuf2/videobuf2-dma-contig.c: In function 'vb2_dc_get_userptr':
>> drivers/media/common/videobuf2/videobuf2-dma-contig.c:509:5: error: implicit declaration of function '__pfn_to_phys' [-Werror=implicit-function-declaration]
509 | __pfn_to_phys(nums[0]), size, buf->dma_dir, 0);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/__pfn_to_phys +509 drivers/media/common/videobuf2/videobuf2-dma-contig.c
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 455
36c0f8b32c4bd4 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2016-04-15 456 static void *vb2_dc_get_userptr(struct device *dev, unsigned long vaddr,
cd474037c4a9a9 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2014-11-18 457 unsigned long size, enum dma_data_direction dma_dir)
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 458 {
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 459 struct vb2_dc_buf *buf;
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 460 struct frame_vector *vec;
c4860ad6056483 drivers/media/v4l2-core/videobuf2-dma-contig.c Tvrtko Ursulin 2017-07-31 461 unsigned int offset;
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 462 int n_pages, i;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 463 int ret = 0;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 464 struct sg_table *sgt;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 465 unsigned long contig_size;
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 466 unsigned long dma_align = dma_get_cache_alignment();
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 467
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 468 /* Only cache aligned DMA transfers are reliable */
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 469 if (!IS_ALIGNED(vaddr | size, dma_align)) {
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 470 pr_debug("user data must be aligned to %lu bytes\n", dma_align);
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 471 return ERR_PTR(-EINVAL);
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 472 }
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 473
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 474 if (!size) {
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 475 pr_debug("size is zero\n");
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 476 return ERR_PTR(-EINVAL);
d81e870d5afa1b drivers/media/v4l2-core/videobuf2-dma-contig.c Marek Szyprowski 2012-06-12 477 }
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 478
10791829eb52d5 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2016-07-21 479 if (WARN_ON(!dev))
10791829eb52d5 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2016-07-21 480 return ERR_PTR(-EINVAL);
10791829eb52d5 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2016-07-21 481
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 482 buf = kzalloc(sizeof *buf, GFP_KERNEL);
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 483 if (!buf)
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 484 return ERR_PTR(-ENOMEM);
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 485
36c0f8b32c4bd4 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2016-04-15 486 buf->dev = dev;
cd474037c4a9a9 drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2014-11-18 487 buf->dma_dir = dma_dir;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 488
c4860ad6056483 drivers/media/v4l2-core/videobuf2-dma-contig.c Tvrtko Ursulin 2017-07-31 489 offset = lower_32_bits(offset_in_page(vaddr));
707947247e9517 drivers/media/common/videobuf2/videobuf2-dma-contig.c Hans Verkuil 2019-04-04 490 vec = vb2_create_framevec(vaddr, size);
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 491 if (IS_ERR(vec)) {
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 492 ret = PTR_ERR(vec);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 493 goto fail_buf;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 494 }
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 495 buf->vec = vec;
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 496 n_pages = frame_vector_count(vec);
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 497 ret = frame_vector_to_pages(vec);
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 498 if (ret < 0) {
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 499 unsigned long *nums = frame_vector_pfns(vec);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 500
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 501 /*
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 502 * Failed to convert to pages... Check the memory is physically
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 503 * contiguous and use direct mapping
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 504 */
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 505 for (i = 1; i < n_pages; i++)
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 506 if (nums[i-1] + 1 != nums[i])
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 507 goto fail_pfnvec;
55ea54441fb3b6 drivers/media/common/videobuf2/videobuf2-dma-contig.c Christoph Hellwig 2019-01-04 508 buf->dma_addr = dma_map_resource(buf->dev,
55ea54441fb3b6 drivers/media/common/videobuf2/videobuf2-dma-contig.c Christoph Hellwig 2019-01-04 @509 __pfn_to_phys(nums[0]), size, buf->dma_dir, 0);
55ea54441fb3b6 drivers/media/common/videobuf2/videobuf2-dma-contig.c Christoph Hellwig 2019-01-04 510 if (dma_mapping_error(buf->dev, buf->dma_addr)) {
55ea54441fb3b6 drivers/media/common/videobuf2/videobuf2-dma-contig.c Christoph Hellwig 2019-01-04 511 ret = -ENOMEM;
55ea54441fb3b6 drivers/media/common/videobuf2/videobuf2-dma-contig.c Christoph Hellwig 2019-01-04 512 goto fail_pfnvec;
55ea54441fb3b6 drivers/media/common/videobuf2/videobuf2-dma-contig.c Christoph Hellwig 2019-01-04 513 }
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 514 goto out;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 515 }
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 516
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 517 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 518 if (!sgt) {
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 519 pr_err("failed to allocate sg table\n");
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 520 ret = -ENOMEM;
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 521 goto fail_pfnvec;
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 522 }
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 523
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 524 ret = sg_alloc_table_from_pages(sgt, frame_vector_pages(vec), n_pages,
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 525 offset, size, GFP_KERNEL);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 526 if (ret) {
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 527 pr_err("failed to initialize sg table\n");
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 528 goto fail_sgt;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 529 }
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 530
251a79f8f5adfd drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2014-11-18 531 /*
251a79f8f5adfd drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2014-11-18 532 * No need to sync to the device, this will happen later when the
251a79f8f5adfd drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2014-11-18 533 * prepare() memop is called.
251a79f8f5adfd drivers/media/v4l2-core/videobuf2-dma-contig.c Hans Verkuil 2014-11-18 534 */
8b7c0280ab03dd drivers/media/common/videobuf2/videobuf2-dma-contig.c Marek Szyprowski 2020-09-04 535 if (dma_map_sgtable(buf->dev, sgt, buf->dma_dir,
8b7c0280ab03dd drivers/media/common/videobuf2/videobuf2-dma-contig.c Marek Szyprowski 2020-09-04 536 DMA_ATTR_SKIP_CPU_SYNC)) {
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 537 pr_err("failed to map scatterlist\n");
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 538 ret = -EIO;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 539 goto fail_sgt_init;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 540 }
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 541
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 542 contig_size = vb2_dc_get_contiguous_size(sgt);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 543 if (contig_size < size) {
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 544 pr_err("contiguous mapping is too small %lu/%lu\n",
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 545 contig_size, size);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 546 ret = -EFAULT;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 547 goto fail_map_sg;
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 548 }
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 549
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 550 buf->dma_addr = sg_dma_address(sgt->sgl);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 551 buf->dma_sgt = sgt;
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 552 out:
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 553 buf->size = size;
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 554
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 555 return buf;
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 556
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 557 fail_map_sg:
8b7c0280ab03dd drivers/media/common/videobuf2/videobuf2-dma-contig.c Marek Szyprowski 2020-09-04 558 dma_unmap_sgtable(buf->dev, sgt, buf->dma_dir, DMA_ATTR_SKIP_CPU_SYNC);
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 559
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 560 fail_sgt_init:
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 561 sg_free_table(sgt);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 562
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 563 fail_sgt:
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 564 kfree(sgt);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 565
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 566 fail_pfnvec:
fb639eb3915431 drivers/media/v4l2-core/videobuf2-dma-contig.c Jan Kara 2015-07-13 567 vb2_destroy_framevec(vec);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 568
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 569 fail_buf:
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 570 kfree(buf);
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 571
e15dab752d4c58 drivers/media/v4l2-core/videobuf2-dma-contig.c Tomasz Stanislawski 2012-06-14 572 return ERR_PTR(ret);
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 573 }
1a758d4e847f77 drivers/media/video/videobuf2-dma-contig.c Pawel Osciak 2010-10-11 574
:::::: The code at line 509 was first introduced by commit
:::::: 55ea54441fb3b6532d5d32417911ff5a10750903 videobuf2: replace a layering violation with dma_map_resource
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
arch/powerpc/lib/sstep.c:1172:21: error: variable 'suffix' set but not used
by kernel test robot
Hi Jordan,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: 650b55b707fdfa764e9f2b81314d3eb4216fb962 powerpc: Add prefixed instructions to instruction data type
date: 9 months ago
config: powerpc-canyonlands_defconfig (attached as .config)
compiler: powerpc-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 650b55b707fdfa764e9f2b81314d3eb4216fb962
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
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 >>):
arch/powerpc/lib/sstep.c: In function 'analyse_instr':
>> arch/powerpc/lib/sstep.c:1172:21: error: variable 'suffix' set but not used [-Werror=unused-but-set-variable]
1172 | unsigned int word, suffix;
| ^~~~~~
arch/powerpc/lib/sstep.c:1168:31: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
1168 | unsigned int opcode, ra, rb, rc, rd, spr, u;
| ^~
cc1: all warnings being treated as errors
vim +/suffix +1172 arch/powerpc/lib/sstep.c
1153
1154 /*
1155 * Decode an instruction, and return information about it in *op
1156 * without changing *regs.
1157 * Integer arithmetic and logical instructions, branches, and barrier
1158 * instructions can be emulated just using the information in *op.
1159 *
1160 * Return value is 1 if the instruction can be emulated just by
1161 * updating *regs with the information in *op, -1 if we need the
1162 * GPRs but *regs doesn't contain the full register set, or 0
1163 * otherwise.
1164 */
1165 int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
1166 struct ppc_inst instr)
1167 {
1168 unsigned int opcode, ra, rb, rc, rd, spr, u;
1169 unsigned long int imm;
1170 unsigned long int val, val2;
1171 unsigned int mb, me, sh;
> 1172 unsigned int word, suffix;
1173 long ival;
1174
1175 word = ppc_inst_val(instr);
1176 suffix = ppc_inst_suffix(instr);
1177
1178 op->type = COMPUTE;
1179
1180 opcode = ppc_inst_primary_opcode(instr);
1181 switch (opcode) {
1182 case 16: /* bc */
1183 op->type = BRANCH;
1184 imm = (signed short)(word & 0xfffc);
1185 if ((word & 2) == 0)
1186 imm += regs->nip;
1187 op->val = truncate_if_32bit(regs->msr, imm);
1188 if (word & 1)
1189 op->type |= SETLK;
1190 if (branch_taken(word, regs, op))
1191 op->type |= BRTAKEN;
1192 return 1;
1193 #ifdef CONFIG_PPC64
1194 case 17: /* sc */
1195 if ((word & 0xfe2) == 2)
1196 op->type = SYSCALL;
1197 else
1198 op->type = UNKNOWN;
1199 return 0;
1200 #endif
1201 case 18: /* b */
1202 op->type = BRANCH | BRTAKEN;
1203 imm = word & 0x03fffffc;
1204 if (imm & 0x02000000)
1205 imm -= 0x04000000;
1206 if ((word & 2) == 0)
1207 imm += regs->nip;
1208 op->val = truncate_if_32bit(regs->msr, imm);
1209 if (word & 1)
1210 op->type |= SETLK;
1211 return 1;
1212 case 19:
1213 switch ((word >> 1) & 0x3ff) {
1214 case 0: /* mcrf */
1215 op->type = COMPUTE + SETCC;
1216 rd = 7 - ((word >> 23) & 0x7);
1217 ra = 7 - ((word >> 18) & 0x7);
1218 rd *= 4;
1219 ra *= 4;
1220 val = (regs->ccr >> ra) & 0xf;
1221 op->ccval = (regs->ccr & ~(0xfUL << rd)) | (val << rd);
1222 return 1;
1223
1224 case 16: /* bclr */
1225 case 528: /* bcctr */
1226 op->type = BRANCH;
1227 imm = (word & 0x400)? regs->ctr: regs->link;
1228 op->val = truncate_if_32bit(regs->msr, imm);
1229 if (word & 1)
1230 op->type |= SETLK;
1231 if (branch_taken(word, regs, op))
1232 op->type |= BRTAKEN;
1233 return 1;
1234
1235 case 18: /* rfid, scary */
1236 if (regs->msr & MSR_PR)
1237 goto priv;
1238 op->type = RFI;
1239 return 0;
1240
1241 case 150: /* isync */
1242 op->type = BARRIER | BARRIER_ISYNC;
1243 return 1;
1244
1245 case 33: /* crnor */
1246 case 129: /* crandc */
1247 case 193: /* crxor */
1248 case 225: /* crnand */
1249 case 257: /* crand */
1250 case 289: /* creqv */
1251 case 417: /* crorc */
1252 case 449: /* cror */
1253 op->type = COMPUTE + SETCC;
1254 ra = (word >> 16) & 0x1f;
1255 rb = (word >> 11) & 0x1f;
1256 rd = (word >> 21) & 0x1f;
1257 ra = (regs->ccr >> (31 - ra)) & 1;
1258 rb = (regs->ccr >> (31 - rb)) & 1;
1259 val = (word >> (6 + ra * 2 + rb)) & 1;
1260 op->ccval = (regs->ccr & ~(1UL << (31 - rd))) |
1261 (val << (31 - rd));
1262 return 1;
1263 }
1264 break;
1265 case 31:
1266 switch ((word >> 1) & 0x3ff) {
1267 case 598: /* sync */
1268 op->type = BARRIER + BARRIER_SYNC;
1269 #ifdef __powerpc64__
1270 switch ((word >> 21) & 3) {
1271 case 1: /* lwsync */
1272 op->type = BARRIER + BARRIER_LWSYNC;
1273 break;
1274 case 2: /* ptesync */
1275 op->type = BARRIER + BARRIER_PTESYNC;
1276 break;
1277 }
1278 #endif
1279 return 1;
1280
1281 case 854: /* eieio */
1282 op->type = BARRIER + BARRIER_EIEIO;
1283 return 1;
1284 }
1285 break;
1286 }
1287
1288 /* Following cases refer to regs->gpr[], so we need all regs */
1289 if (!FULL_REGS(regs))
1290 return -1;
1291
1292 rd = (word >> 21) & 0x1f;
1293 ra = (word >> 16) & 0x1f;
1294 rb = (word >> 11) & 0x1f;
1295 rc = (word >> 6) & 0x1f;
1296
1297 switch (opcode) {
1298 #ifdef __powerpc64__
1299 case 2: /* tdi */
1300 if (rd & trap_compare(regs->gpr[ra], (short) word))
1301 goto trap;
1302 return 1;
1303 #endif
1304 case 3: /* twi */
1305 if (rd & trap_compare((int)regs->gpr[ra], (short) word))
1306 goto trap;
1307 return 1;
1308
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared
by kernel test robot
Hi Arnd,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: a734bbf694270dca8594a5c33375867dc31503f5 m68k: m68328: move platform code to separate files
date: 10 weeks ago
config: m68k-randconfig-r032-20210209 (attached as .config)
compiler: m68k-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a734bbf694270dca8594a5c33375867dc31503f5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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 >>):
arch/m68k/68000/dragen2.c:38:13: warning: no previous prototype for 'init_dragen2' [-Wmissing-prototypes]
38 | void __init init_dragen2(char *command, int size)
| ^~~~~~~~~~~~
arch/m68k/68000/dragen2.c: In function 'init_dragen2':
>> arch/m68k/68000/dragen2.c:73:16: error: 'screen_bits' undeclared (first use in this function)
73 | LSSA = (long) screen_bits;
| ^~~~~~~~~~~
arch/m68k/68000/dragen2.c:73:16: note: each undeclared identifier is reported only once for each function it appears in
vim +/screen_bits +73 arch/m68k/68000/dragen2.c
45
46 /* CSGB Init */
47 CSGBB = 0x4000;
48 CSB = 0x1a1;
49
50 /* CS8900 init */
51 /* PK3: hardware sleep function pin, active low */
52 PKSEL |= PK(3); /* select pin as I/O */
53 PKDIR |= PK(3); /* select pin as output */
54 PKDATA |= PK(3); /* set pin high */
55
56 /* PF5: hardware reset function pin, active high */
57 PFSEL |= PF(5); /* select pin as I/O */
58 PFDIR |= PF(5); /* select pin as output */
59 PFDATA &= ~PF(5); /* set pin low */
60
61 /* cs8900 hardware reset */
62 PFDATA |= PF(5);
63 { int i; for (i = 0; i < 32000; ++i); }
64 PFDATA &= ~PF(5);
65
66 /* INT1 enable (cs8900 IRQ) */
67 PDPOL &= ~PD(1); /* active high signal */
68 PDIQEG &= ~PD(1);
69 PDIRQEN |= PD(1); /* IRQ enabled */
70
71 #ifdef CONFIG_INIT_LCD
72 /* initialize LCD controller */
> 73 LSSA = (long) screen_bits;
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
arch/x86/mm/pat/set_memory.c:100:19: error: 'DIRECT_MAP_1G_SPLIT' undeclared
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20210129-103224/Steven-Ro...
head: c140cea32477ff764802c34df91fd920fee36903
commit: c140cea32477ff764802c34df91fd920fee36903 x86/mm: Tracking linear mapping split events
date: 13 days ago
config: i386-randconfig-a003-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/c140cea32477ff764802c34df91fd920f...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20210129-103224/Steven-Rostedt/sched-tracing-Reset-critical-timings-on-scheduling/20210129-032839
git checkout c140cea32477ff764802c34df91fd920fee36903
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
arch/x86/mm/pat/set_memory.c:90:6: warning: no previous prototype for 'update_split_page_event_count' [-Wmissing-prototypes]
90 | void update_split_page_event_count(int level)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/mm/pat/set_memory.c: In function 'update_split_page_event_count':
arch/x86/mm/pat/set_memory.c:95:19: error: 'DIRECT_MAP_2M_SPLIT' undeclared (first use in this function)
95 | count_vm_event(DIRECT_MAP_2M_SPLIT);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/mm/pat/set_memory.c:95:19: note: each undeclared identifier is reported only once for each function it appears in
>> arch/x86/mm/pat/set_memory.c:100:19: error: 'DIRECT_MAP_1G_SPLIT' undeclared (first use in this function)
100 | count_vm_event(DIRECT_MAP_1G_SPLIT);
| ^~~~~~~~~~~~~~~~~~~
vim +/DIRECT_MAP_1G_SPLIT +100 arch/x86/mm/pat/set_memory.c
89
90 void update_split_page_event_count(int level)
91 {
92 if (system_state == SYSTEM_RUNNING) {
93 if (level == PG_LEVEL_2M) {
94 #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
95 count_vm_event(DIRECT_MAP_2M_SPLIT);
96 #else
97 count_vm_event(DIRECT_MAP_4M_SPLIT);
98 #endif
99 } else if (level == PG_LEVEL_1G) {
> 100 count_vm_event(DIRECT_MAP_1G_SPLIT);
101 }
102 }
103 }
104
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH 1/1] staging: greybus: Added do - while in multi statement macro
by kernel test robot
Hi Hemansh,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Hemansh-Agnihotri/staging-greybu...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 6953026f21092199a59f2c641a880b1c4025f932
config: m68k-randconfig-r003-20210211 (attached as .config)
compiler: m68k-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/0day-ci/linux/commit/e0f87bc4986d8e909dfda91664ce1700b...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Hemansh-Agnihotri/staging-greybus-Added-do-while-in-multi-statement-macro/20210211-175717
git checkout e0f87bc4986d8e909dfda91664ce1700b01acb85
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
165 | #define gb_loopback_stats_attrs(field) do { \
| ^~
drivers/staging/greybus/loopback.c:272:1: note: in expansion of macro 'gb_loopback_stats_attrs'
272 | gb_loopback_stats_attrs(latency);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
169 | } while (0)
| ^~~~~
drivers/staging/greybus/loopback.c:272:1: note: in expansion of macro 'gb_loopback_stats_attrs'
272 | gb_loopback_stats_attrs(latency);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
165 | #define gb_loopback_stats_attrs(field) do { \
| ^~
drivers/staging/greybus/loopback.c:274:1: note: in expansion of macro 'gb_loopback_stats_attrs'
274 | gb_loopback_stats_attrs(requests_per_second);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
169 | } while (0)
| ^~~~~
drivers/staging/greybus/loopback.c:274:1: note: in expansion of macro 'gb_loopback_stats_attrs'
274 | gb_loopback_stats_attrs(requests_per_second);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
165 | #define gb_loopback_stats_attrs(field) do { \
| ^~
drivers/staging/greybus/loopback.c:276:1: note: in expansion of macro 'gb_loopback_stats_attrs'
276 | gb_loopback_stats_attrs(throughput);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
169 | } while (0)
| ^~~~~
drivers/staging/greybus/loopback.c:276:1: note: in expansion of macro 'gb_loopback_stats_attrs'
276 | gb_loopback_stats_attrs(throughput);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
165 | #define gb_loopback_stats_attrs(field) do { \
| ^~
drivers/staging/greybus/loopback.c:278:1: note: in expansion of macro 'gb_loopback_stats_attrs'
278 | gb_loopback_stats_attrs(apbridge_unipro_latency);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
169 | } while (0)
| ^~~~~
drivers/staging/greybus/loopback.c:278:1: note: in expansion of macro 'gb_loopback_stats_attrs'
278 | gb_loopback_stats_attrs(apbridge_unipro_latency);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
165 | #define gb_loopback_stats_attrs(field) do { \
| ^~
drivers/staging/greybus/loopback.c:280:1: note: in expansion of macro 'gb_loopback_stats_attrs'
280 | gb_loopback_stats_attrs(gbphy_firmware_latency);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
169 | } while (0)
| ^~~~~
drivers/staging/greybus/loopback.c:280:1: note: in expansion of macro 'gb_loopback_stats_attrs'
280 | gb_loopback_stats_attrs(gbphy_firmware_latency);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:318:3: error: 'dev_attr_latency_min' undeclared here (not in a function); did you mean 'dev_attr_timeout_min'?
318 | &dev_attr_latency_min.attr,
| ^~~~~~~~~~~~~~~~~~~~
| dev_attr_timeout_min
>> drivers/staging/greybus/loopback.c:319:3: error: 'dev_attr_latency_max' undeclared here (not in a function); did you mean 'dev_attr_timeout_max'?
319 | &dev_attr_latency_max.attr,
| ^~~~~~~~~~~~~~~~~~~~
| dev_attr_timeout_max
>> drivers/staging/greybus/loopback.c:320:3: error: 'dev_attr_latency_avg' undeclared here (not in a function)
320 | &dev_attr_latency_avg.attr,
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:321:3: error: 'dev_attr_requests_per_second_min' undeclared here (not in a function)
321 | &dev_attr_requests_per_second_min.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:322:3: error: 'dev_attr_requests_per_second_max' undeclared here (not in a function)
322 | &dev_attr_requests_per_second_max.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:323:3: error: 'dev_attr_requests_per_second_avg' undeclared here (not in a function)
323 | &dev_attr_requests_per_second_avg.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:324:3: error: 'dev_attr_throughput_min' undeclared here (not in a function); did you mean 'dev_attr_timeout_min'?
324 | &dev_attr_throughput_min.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~
| dev_attr_timeout_min
>> drivers/staging/greybus/loopback.c:325:3: error: 'dev_attr_throughput_max' undeclared here (not in a function); did you mean 'dev_attr_timeout_max'?
325 | &dev_attr_throughput_max.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~
| dev_attr_timeout_max
>> drivers/staging/greybus/loopback.c:326:3: error: 'dev_attr_throughput_avg' undeclared here (not in a function)
326 | &dev_attr_throughput_avg.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:327:3: error: 'dev_attr_apbridge_unipro_latency_min' undeclared here (not in a function)
327 | &dev_attr_apbridge_unipro_latency_min.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/loopback.c:328:3: error: 'dev_attr_apbridge_unipro_latency_max' undeclared here (not in a function)
328 | &dev_attr_apbridge_unipro_latency_max.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/loopback.c:329:3: error: 'dev_attr_apbridge_unipro_latency_avg' undeclared here (not in a function)
329 | &dev_attr_apbridge_unipro_latency_avg.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/loopback.c:330:3: error: 'dev_attr_gbphy_firmware_latency_min' undeclared here (not in a function)
330 | &dev_attr_gbphy_firmware_latency_min.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/loopback.c:331:3: error: 'dev_attr_gbphy_firmware_latency_max' undeclared here (not in a function)
331 | &dev_attr_gbphy_firmware_latency_max.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/loopback.c:332:3: error: 'dev_attr_gbphy_firmware_latency_avg' undeclared here (not in a function)
332 | &dev_attr_gbphy_firmware_latency_avg.attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +165 drivers/staging/greybus/loopback.c
164
> 165 #define gb_loopback_stats_attrs(field) do { \
166 gb_loopback_ro_stats_attr(field, min, u); \
167 gb_loopback_ro_stats_attr(field, max, u); \
168 gb_loopback_ro_avg_attr(field); \
> 169 } while (0)
170
171 #define gb_loopback_attr(field, type) \
172 static ssize_t field##_show(struct device *dev, \
173 struct device_attribute *attr, \
174 char *buf) \
175 { \
176 struct gb_loopback *gb = dev_get_drvdata(dev); \
177 return sprintf(buf, "%" #type "\n", gb->field); \
178 } \
179 static ssize_t field##_store(struct device *dev, \
180 struct device_attribute *attr, \
181 const char *buf, \
182 size_t len) \
183 { \
184 int ret; \
185 struct gb_loopback *gb = dev_get_drvdata(dev); \
186 mutex_lock(&gb->mutex); \
187 ret = sscanf(buf, "%"#type, &gb->field); \
188 if (ret != 1) \
189 len = -EINVAL; \
190 else \
191 gb_loopback_check_attr(gb, bundle); \
192 mutex_unlock(&gb->mutex); \
193 return len; \
194 } \
195 static DEVICE_ATTR_RW(field)
196
197 #define gb_dev_loopback_ro_attr(field, conn) \
198 static ssize_t field##_show(struct device *dev, \
199 struct device_attribute *attr, \
200 char *buf) \
201 { \
202 struct gb_loopback *gb = dev_get_drvdata(dev); \
203 return sprintf(buf, "%u\n", gb->field); \
204 } \
205 static DEVICE_ATTR_RO(field)
206
207 #define gb_dev_loopback_rw_attr(field, type) \
208 static ssize_t field##_show(struct device *dev, \
209 struct device_attribute *attr, \
210 char *buf) \
211 { \
212 struct gb_loopback *gb = dev_get_drvdata(dev); \
213 return sprintf(buf, "%" #type "\n", gb->field); \
214 } \
215 static ssize_t field##_store(struct device *dev, \
216 struct device_attribute *attr, \
217 const char *buf, \
218 size_t len) \
219 { \
220 int ret; \
221 struct gb_loopback *gb = dev_get_drvdata(dev); \
222 mutex_lock(&gb->mutex); \
223 ret = sscanf(buf, "%"#type, &gb->field); \
224 if (ret != 1) \
225 len = -EINVAL; \
226 else \
227 gb_loopback_check_attr(gb); \
228 mutex_unlock(&gb->mutex); \
229 return len; \
230 } \
231 static DEVICE_ATTR_RW(field)
232
233 static void gb_loopback_reset_stats(struct gb_loopback *gb);
234 static void gb_loopback_check_attr(struct gb_loopback *gb)
235 {
236 if (gb->us_wait > GB_LOOPBACK_US_WAIT_MAX)
237 gb->us_wait = GB_LOOPBACK_US_WAIT_MAX;
238 if (gb->size > gb_dev.size_max)
239 gb->size = gb_dev.size_max;
240 gb->requests_timedout = 0;
241 gb->requests_completed = 0;
242 gb->iteration_count = 0;
243 gb->send_count = 0;
244 gb->error = 0;
245
246 if (kfifo_depth < gb->iteration_max) {
247 dev_warn(gb->dev,
248 "cannot log bytes %u kfifo_depth %u\n",
249 gb->iteration_max, kfifo_depth);
250 }
251 kfifo_reset_out(&gb->kfifo_lat);
252
253 switch (gb->type) {
254 case GB_LOOPBACK_TYPE_PING:
255 case GB_LOOPBACK_TYPE_TRANSFER:
256 case GB_LOOPBACK_TYPE_SINK:
257 gb->jiffy_timeout = usecs_to_jiffies(gb->timeout);
258 if (!gb->jiffy_timeout)
259 gb->jiffy_timeout = GB_LOOPBACK_TIMEOUT_MIN;
260 else if (gb->jiffy_timeout > GB_LOOPBACK_TIMEOUT_MAX)
261 gb->jiffy_timeout = GB_LOOPBACK_TIMEOUT_MAX;
262 gb_loopback_reset_stats(gb);
263 wake_up(&gb->wq);
264 break;
265 default:
266 gb->type = 0;
267 break;
268 }
269 }
270
271 /* Time to send and receive one message */
272 gb_loopback_stats_attrs(latency);
273 /* Number of requests sent per second on this cport */
274 gb_loopback_stats_attrs(requests_per_second);
275 /* Quantity of data sent and received on this cport */
276 gb_loopback_stats_attrs(throughput);
277 /* Latency across the UniPro link from APBridge's perspective */
278 gb_loopback_stats_attrs(apbridge_unipro_latency);
279 /* Firmware induced overhead in the GPBridge */
280 gb_loopback_stats_attrs(gbphy_firmware_latency);
281
282 /* Number of errors encountered during loop */
283 gb_loopback_ro_attr(error);
284 /* Number of requests successfully completed async */
285 gb_loopback_ro_attr(requests_completed);
286 /* Number of requests timed out async */
287 gb_loopback_ro_attr(requests_timedout);
288 /* Timeout minimum in useconds */
289 gb_loopback_ro_attr(timeout_min);
290 /* Timeout minimum in useconds */
291 gb_loopback_ro_attr(timeout_max);
292
293 /*
294 * Type of loopback message to send based on protocol type definitions
295 * 0 => Don't send message
296 * 2 => Send ping message continuously (message without payload)
297 * 3 => Send transfer message continuously (message with payload,
298 * payload returned in response)
299 * 4 => Send a sink message (message with payload, no payload in response)
300 */
301 gb_dev_loopback_rw_attr(type, d);
302 /* Size of transfer message payload: 0-4096 bytes */
303 gb_dev_loopback_rw_attr(size, u);
304 /* Time to wait between two messages: 0-1000 ms */
305 gb_dev_loopback_rw_attr(us_wait, d);
306 /* Maximum iterations for a given operation: 1-(2^32-1), 0 implies infinite */
307 gb_dev_loopback_rw_attr(iteration_max, u);
308 /* The current index of the for (i = 0; i < iteration_max; i++) loop */
309 gb_dev_loopback_ro_attr(iteration_count, false);
310 /* A flag to indicate synchronous or asynchronous operations */
311 gb_dev_loopback_rw_attr(async, u);
312 /* Timeout of an individual asynchronous request */
313 gb_dev_loopback_rw_attr(timeout, u);
314 /* Maximum number of in-flight operations before back-off */
315 gb_dev_loopback_rw_attr(outstanding_operations_max, u);
316
317 static struct attribute *loopback_attrs[] = {
> 318 &dev_attr_latency_min.attr,
> 319 &dev_attr_latency_max.attr,
> 320 &dev_attr_latency_avg.attr,
> 321 &dev_attr_requests_per_second_min.attr,
> 322 &dev_attr_requests_per_second_max.attr,
> 323 &dev_attr_requests_per_second_avg.attr,
> 324 &dev_attr_throughput_min.attr,
> 325 &dev_attr_throughput_max.attr,
> 326 &dev_attr_throughput_avg.attr,
> 327 &dev_attr_apbridge_unipro_latency_min.attr,
> 328 &dev_attr_apbridge_unipro_latency_max.attr,
> 329 &dev_attr_apbridge_unipro_latency_avg.attr,
> 330 &dev_attr_gbphy_firmware_latency_min.attr,
> 331 &dev_attr_gbphy_firmware_latency_max.attr,
> 332 &dev_attr_gbphy_firmware_latency_avg.attr,
333 &dev_attr_type.attr,
334 &dev_attr_size.attr,
335 &dev_attr_us_wait.attr,
336 &dev_attr_iteration_count.attr,
337 &dev_attr_iteration_max.attr,
338 &dev_attr_async.attr,
339 &dev_attr_error.attr,
340 &dev_attr_requests_completed.attr,
341 &dev_attr_requests_timedout.attr,
342 &dev_attr_timeout.attr,
343 &dev_attr_outstanding_operations_max.attr,
344 &dev_attr_timeout_min.attr,
345 &dev_attr_timeout_max.attr,
346 NULL,
347 };
348 ATTRIBUTE_GROUPS(loopback);
349
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months