[hare-scsi-devel:scsi-private.v2 5/21] drivers/scsi/scsi_lib.c:1622:17: error: implicit declaration of function 'scsi_device_queue_ready'; did you mean 'scsi_dev_queue_ready'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git scsi-private.v2
head: 915b986531e666d840f72752c597fb6b4ea69d35
commit: 24f76588c2ef9b23dea2ead5dca53992e15d083b [5/21] scsi: check for NULL queuedata
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.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/hare/scsi-devel.git/commi...
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel scsi-private.v2
git checkout 24f76588c2ef9b23dea2ead5dca53992e15d083b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64
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/scsi/scsi_lib.c: In function 'scsi_mq_get_budget':
>> drivers/scsi/scsi_lib.c:1622:17: error: implicit declaration of function 'scsi_device_queue_ready'; did you mean 'scsi_dev_queue_ready'? [-Werror=implicit-function-declaration]
1622 | token = scsi_device_queue_ready(q, sdev);
| ^~~~~~~~~~~~~~~~~~~~~~~
| scsi_dev_queue_ready
drivers/scsi/scsi_lib.c: In function 'scsi_get_internal_cmd':
drivers/scsi/scsi_lib.c:1997:27: error: 'REQ_INTERNAL' undeclared (first use in this function); did you mean 'MNT_INTERNAL'?
1997 | unsigned int op = REQ_INTERNAL | op_flags;
| ^~~~~~~~~~~~
| MNT_INTERNAL
drivers/scsi/scsi_lib.c:1997:27: note: each undeclared identifier is reported only once for each function it appears in
drivers/scsi/scsi_lib.c:2005:13: error: 'struct scsi_cmnd' has no member named 'request'
2005 | scmd->request = rq;
| ^~
drivers/scsi/scsi_lib.c: In function 'scsi_put_internal_cmd':
drivers/scsi/scsi_lib.c:2019:13: error: implicit declaration of function 'blk_rq_is_internal'; did you mean 'blk_qc_t_is_internal'? [-Werror=implicit-function-declaration]
2019 | if (blk_rq_is_internal(rq))
| ^~~~~~~~~~~~~~~~~~
| blk_qc_t_is_internal
cc1: some warnings being treated as errors
vim +1622 drivers/scsi/scsi_lib.c
1614
1615 static int scsi_mq_get_budget(struct request_queue *q)
1616 {
1617 struct scsi_device *sdev = q->queuedata;
1618 int token = scsi_dev_queue_ready(q, sdev);
1619
1620 if (!sdev)
1621 return -1;
> 1622 token = scsi_device_queue_ready(q, sdev);
1623 if (token >= 0)
1624 return token;
1625
1626 atomic_inc(&sdev->restarts);
1627
1628 /*
1629 * Orders atomic_inc(&sdev->restarts) and atomic_read(&sdev->device_busy).
1630 * .restarts must be incremented before .device_busy is read because the
1631 * code in scsi_run_queue_async() depends on the order of these operations.
1632 */
1633 smp_mb__after_atomic();
1634
1635 /*
1636 * If all in-flight requests originated from this LUN are completed
1637 * before reading .device_busy, sdev->device_busy will be observed as
1638 * zero, then blk_mq_delay_run_hw_queues() will dispatch this request
1639 * soon. Otherwise, completion of one of these requests will observe
1640 * the .restarts flag, and the request queue will be run for handling
1641 * this request, see scsi_end_request().
1642 */
1643 if (unlikely(scsi_device_busy(sdev) == 0 &&
1644 !scsi_device_blocked(sdev)))
1645 blk_mq_delay_run_hw_queues(sdev->request_queue, SCSI_QUEUE_DELAY);
1646 return -1;
1647 }
1648
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:38:9: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 881007522c8fcc3785c75432dbb149ca1b78e106
commit: 8ef23b6f6a79e6fa2a169081d2d76011fffa0482 drm/nouveau/disp/ga10[24]: initial support
date: 10 months ago
config: sparc-randconfig-s032-20211109 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 11.2.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.4-dirty
# 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 8ef23b6f6a79e6fa2a169081d2d76011fffa0482
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc SHELL=/bin/bash arch/sparc/vdso/ drivers/gpu/drm/ drivers/net/wireguard/ fs/
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 >>)
>> drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:38:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:38:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:43:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:43:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:43:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:43:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:43:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:60:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:60:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:60:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:61:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:61:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:63:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:63:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:71:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c:71:9: sparse: sparse: cast removes address space '__iomem' of expression
vim +/__iomem +38 drivers/gpu/drm/nouveau/dispnv50/wndwc67e.c
28
29 static int
30 wndwc67e_image_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw)
31 {
32 struct nvif_push *push = wndw->wndw.push;
33 int ret;
34
35 if ((ret = PUSH_WAIT(push, 17)))
36 return ret;
37
> 38 PUSH_MTHD(push, NVC57E, SET_PRESENT_CONTROL,
39 NVVAL(NVC57E, SET_PRESENT_CONTROL, MIN_PRESENT_INTERVAL, asyw->image.interval) |
40 NVVAL(NVC57E, SET_PRESENT_CONTROL, BEGIN_MODE, asyw->image.mode) |
41 NVDEF(NVC57E, SET_PRESENT_CONTROL, TIMESTAMP_MODE, DISABLE));
42
43 PUSH_MTHD(push, NVC57E, SET_SIZE,
44 NVVAL(NVC57E, SET_SIZE, WIDTH, asyw->image.w) |
45 NVVAL(NVC57E, SET_SIZE, HEIGHT, asyw->image.h),
46
47 SET_STORAGE,
48 NVVAL(NVC57E, SET_STORAGE, BLOCK_HEIGHT, asyw->image.blockh),
49
50 SET_PARAMS,
51 NVVAL(NVC57E, SET_PARAMS, FORMAT, asyw->image.format) |
52 NVDEF(NVC57E, SET_PARAMS, CLAMP_BEFORE_BLEND, DISABLE) |
53 NVDEF(NVC57E, SET_PARAMS, SWAP_UV, DISABLE) |
54 NVDEF(NVC57E, SET_PARAMS, FMT_ROUNDING_MODE, ROUND_TO_NEAREST),
55
56 SET_PLANAR_STORAGE(0),
57 NVVAL(NVC57E, SET_PLANAR_STORAGE, PITCH, asyw->image.blocks[0]) |
58 NVVAL(NVC57E, SET_PLANAR_STORAGE, PITCH, asyw->image.pitch[0] >> 6));
59
60 PUSH_MTHD(push, NVC57E, SET_CONTEXT_DMA_ISO(0), asyw->image.handle, 1);
61 PUSH_MTHD(push, NVC57E, SET_OFFSET(0), asyw->image.offset[0] >> 8);
62
63 PUSH_MTHD(push, NVC57E, SET_POINT_IN(0),
64 NVVAL(NVC57E, SET_POINT_IN, X, asyw->state.src_x >> 16) |
65 NVVAL(NVC57E, SET_POINT_IN, Y, asyw->state.src_y >> 16));
66
67 PUSH_MTHD(push, NVC57E, SET_SIZE_IN,
68 NVVAL(NVC57E, SET_SIZE_IN, WIDTH, asyw->state.src_w >> 16) |
69 NVVAL(NVC57E, SET_SIZE_IN, HEIGHT, asyw->state.src_h >> 16));
70
71 PUSH_MTHD(push, NVC57E, SET_SIZE_OUT,
72 NVVAL(NVC57E, SET_SIZE_OUT, WIDTH, asyw->state.crtc_w) |
73 NVVAL(NVC57E, SET_SIZE_OUT, HEIGHT, asyw->state.crtc_h));
74 return 0;
75 }
76
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[android-common:android-4.19-stable 15288/24059] drivers/tty/serial/msm_geni_serial_console.c:479:6: warning: variable 'rx_stale' set but not used
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-4.19-stable
head: 45c480b553c90178bf1cc30fd9054c75a31bf599
commit: 3b328707cf5e600683b13c9b19de3a3f22ea81e0 [15288/24059] ANDROID: serial: msm_geni_serial_console : Add Earlycon support
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-4.19-stable
git checkout 3b328707cf5e600683b13c9b19de3a3f22ea81e0
# 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 >>):
drivers/tty/serial/msm_geni_serial_console.c: In function 'msm_geni_serial_earlycon_setup':
>> drivers/tty/serial/msm_geni_serial_console.c:479:6: warning: variable 'rx_stale' set but not used [-Wunused-but-set-variable]
479 | u32 rx_stale = 0;
| ^~~~~~~~
>> drivers/tty/serial/msm_geni_serial_console.c:477:6: warning: variable 'rx_parity_cfg' set but not used [-Wunused-but-set-variable]
477 | u32 rx_parity_cfg = 0;
| ^~~~~~~~~~~~~
>> drivers/tty/serial/msm_geni_serial_console.c:476:6: warning: variable 'rx_trans_cfg' set but not used [-Wunused-but-set-variable]
476 | u32 rx_trans_cfg = 0;
| ^~~~~~~~~~~~
vim +/rx_stale +479 drivers/tty/serial/msm_geni_serial_console.c
467
468 static int __init
469 msm_geni_serial_earlycon_setup(struct earlycon_device *dev,
470 const char *opt)
471 {
472 struct uart_port *uport = &dev->port;
473 int ret = 0;
474 u32 tx_trans_cfg = 0;
475 u32 tx_parity_cfg = 0;
> 476 u32 rx_trans_cfg = 0;
> 477 u32 rx_parity_cfg = 0;
478 u32 stop_bit = 0;
> 479 u32 rx_stale = 0;
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
Re: [PATCHv3 1/3] tracing: Add register read/write tracing support
by kernel test robot
Hi Sai,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on rostedt-trace/for-next]
[also build test ERROR on arm64/for-next/core linus/master v5.15 next-20211110]
[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/Sai-Prakash-Ranjan/tracing-rwmmi...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git for-next
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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/d030401ce80c246ff0575c11e156122d8...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sai-Prakash-Ranjan/tracing-rwmmio-arm64-Add-support-to-trace-register-reads-writes/20211109-201049
git checkout d030401ce80c246ff0575c11e156122d869d10c2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.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 errors (new ones prefixed by >>):
In file included from include/trace/define_trace.h:102,
from include/trace/events/rwmmio.h:61,
from kernel/trace/trace_readwrite.c:12:
include/trace/events/rwmmio.h: In function 'trace_raw_output_rwmmio_write':
>> include/trace/events/rwmmio.h:34:17: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
34 | (void *)__entry->fn, __get_str(width), __entry->addr, __entry->val)
| ^
include/trace/trace_events.h:399:34: note: in definition of macro 'DECLARE_EVENT_CLASS'
399 | trace_event_printf(iter, print); \
| ^~~~~
include/trace/trace_events.h:80:30: note: in expansion of macro 'PARAMS'
80 | PARAMS(print)); \
| ^~~~~~
include/trace/events/rwmmio.h:13:1: note: in expansion of macro 'TRACE_EVENT'
13 | TRACE_EVENT(rwmmio_write,
| ^~~~~~~~~~~
include/trace/events/rwmmio.h:33:9: note: in expansion of macro 'TP_printk'
33 | TP_printk("%pS %s addr=%#llx val=%#llx",
| ^~~~~~~~~
include/trace/events/rwmmio.h: In function 'trace_raw_output_rwmmio_read':
include/trace/events/rwmmio.h:56:18: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
56 | (void *)__entry->fn, __get_str(width), __entry->addr)
| ^
include/trace/trace_events.h:399:34: note: in definition of macro 'DECLARE_EVENT_CLASS'
399 | trace_event_printf(iter, print); \
| ^~~~~
include/trace/trace_events.h:80:30: note: in expansion of macro 'PARAMS'
80 | PARAMS(print)); \
| ^~~~~~
include/trace/events/rwmmio.h:37:1: note: in expansion of macro 'TRACE_EVENT'
37 | TRACE_EVENT(rwmmio_read,
| ^~~~~~~~~~~
include/trace/events/rwmmio.h:55:9: note: in expansion of macro 'TP_printk'
55 | TP_printk("%pS %s addr=%#llx",
| ^~~~~~~~~
In file included from include/trace/define_trace.h:102,
from include/trace/events/rwmmio.h:61,
from kernel/trace/trace_readwrite.c:12:
include/trace/events/rwmmio.h: In function 'trace_event_raw_event_rwmmio_write':
>> include/trace/events/rwmmio.h:30:33: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
30 | __entry->addr = (u64)addr;
| ^
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/events/rwmmio.h:13:1: note: in expansion of macro 'TRACE_EVENT'
13 | TRACE_EVENT(rwmmio_write,
| ^~~~~~~~~~~
include/trace/events/rwmmio.h:26:9: note: in expansion of macro 'TP_fast_assign'
26 | TP_fast_assign(
| ^~~~~~~~~~~~~~
include/trace/events/rwmmio.h: In function 'trace_event_raw_event_rwmmio_read':
include/trace/events/rwmmio.h:52:33: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
52 | __entry->addr = (u64)addr;
| ^
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/events/rwmmio.h:37:1: note: in expansion of macro 'TRACE_EVENT'
37 | TRACE_EVENT(rwmmio_read,
| ^~~~~~~~~~~
include/trace/events/rwmmio.h:49:9: note: in expansion of macro 'TP_fast_assign'
49 | TP_fast_assign(
| ^~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:103,
from include/trace/events/rwmmio.h:61,
from kernel/trace/trace_readwrite.c:12:
include/trace/events/rwmmio.h: In function 'perf_trace_rwmmio_write':
>> include/trace/events/rwmmio.h:30:33: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
30 | __entry->addr = (u64)addr;
| ^
include/trace/perf.h:66:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
66 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/events/rwmmio.h:13:1: note: in expansion of macro 'TRACE_EVENT'
13 | TRACE_EVENT(rwmmio_write,
| ^~~~~~~~~~~
include/trace/events/rwmmio.h:26:9: note: in expansion of macro 'TP_fast_assign'
26 | TP_fast_assign(
| ^~~~~~~~~~~~~~
include/trace/events/rwmmio.h: In function 'perf_trace_rwmmio_read':
include/trace/events/rwmmio.h:52:33: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
52 | __entry->addr = (u64)addr;
| ^
include/trace/perf.h:66:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
66 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/events/rwmmio.h:37:1: note: in expansion of macro 'TRACE_EVENT'
37 | TRACE_EVENT(rwmmio_read,
| ^~~~~~~~~~~
include/trace/events/rwmmio.h:49:9: note: in expansion of macro 'TP_fast_assign'
49 | TP_fast_assign(
| ^~~~~~~~~~~~~~
kernel/trace/trace_readwrite.c: At top level:
>> kernel/trace/trace_readwrite.c:15:6: error: no previous prototype for 'log_write_mmio' [-Werror=missing-prototypes]
15 | void log_write_mmio(const char *width, u64 val, volatile void __iomem *addr)
| ^~~~~~~~~~~~~~
>> kernel/trace/trace_readwrite.c:22:6: error: no previous prototype for 'log_read_mmio' [-Werror=missing-prototypes]
22 | void log_read_mmio(const char *width, const volatile void __iomem *addr)
| ^~~~~~~~~~~~~
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from include/trace/events/rwmmio.h:61,
from kernel/trace/trace_readwrite.c:12:
arch/arc/include/asm/perf_event.h:126:27: error: 'arc_pmu_cache_map' defined but not used [-Werror=unused-const-variable=]
126 | static const unsigned int arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/perf_event.h:91:27: error: 'arc_pmu_ev_hw_map' defined but not used [-Werror=unused-const-variable=]
91 | static const char * const arc_pmu_ev_hw_map[] = {
| ^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +34 include/trace/events/rwmmio.h
14
15 TP_PROTO(unsigned long fn, const char *width, u64 val, volatile void __iomem *addr),
16
17 TP_ARGS(fn, width, val, addr),
18
19 TP_STRUCT__entry(
20 __field(u64, fn)
21 __string(width, width)
22 __field(u64, val)
23 __field(u64, addr)
24 ),
25
26 TP_fast_assign(
27 __entry->fn = fn;
28 __assign_str(width, width);
29 __entry->val = val;
> 30 __entry->addr = (u64)addr;
31 ),
32
33 TP_printk("%pS %s addr=%#llx val=%#llx",
> 34 (void *)__entry->fn, __get_str(width), __entry->addr, __entry->val)
35 );
36
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
Hi Oliver,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 881007522c8fcc3785c75432dbb149ca1b78e106
commit: 3b70464aa78917e88c1d4bfc2100c344c0eda8e0 powerpc/powernv: Staticify functions without prototypes
date: 1 year, 3 months ago
config: powerpc64-randconfig-s031-20211015 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.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.4-dirty
# 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 3b70464aa78917e88c1d4bfc2100c344c0eda8e0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64
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 >>)
>> arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *map @@ got void [noderef] __iomem * @@
arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse: expected void *map
arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse: got void [noderef] __iomem *
arch/powerpc/platforms/powernv/vas-window.c:116:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *map @@ got void [noderef] __iomem * @@
arch/powerpc/platforms/powernv/vas-window.c:116:13: sparse: expected void *map
arch/powerpc/platforms/powernv/vas-window.c:116:13: sparse: got void [noderef] __iomem *
>> arch/powerpc/platforms/powernv/vas-window.c:128:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *addr @@
arch/powerpc/platforms/powernv/vas-window.c:128:17: sparse: expected void volatile [noderef] __iomem *addr
arch/powerpc/platforms/powernv/vas-window.c:128:17: sparse: got void *addr
arch/powerpc/platforms/powernv/vas-window.c: note: in included file:
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@ got void * @@
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: got void *
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@ got void * @@
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: got void *
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@ got void * @@
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: got void *
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@ got void * @@
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: got void *
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@ got void * @@
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: got void *
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@ got void * @@
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:482:37: sparse: got void *
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@ got void *[assigned] regptr @@
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: expected unsigned long long volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/powernv/vas.h:476:18: sparse: got void *[assigned] regptr
vim +91 arch/powerpc/platforms/powernv/vas-window.c
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 64
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 65 /*
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 66 * Map the paste bus address of the given send window into kernel address
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 67 * space. Unlike MMIO regions (map_mmio_region() below), paste region must
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 68 * be mapped cache-able and is only applicable to send windows.
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 69 */
5239af679a0742 Sukadev Bhattiprolu 2017-08-28 70 static void *map_paste_region(struct vas_window *txwin)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 71 {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 72 int len;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 73 void *map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 74 char *name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 75 u64 start;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 76
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 77 name = kasprintf(GFP_KERNEL, "window-v%d-w%d", txwin->vinst->vas_id,
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 78 txwin->winid);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 79 if (!name)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 80 goto free_name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 81
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 82 txwin->paste_addr_name = name;
dda44eb29c2357 Haren Myneni 2020-04-17 83 vas_win_paste_addr(txwin, &start, &len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 84
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 85 if (!request_mem_region(start, len, name)) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 86 pr_devel("%s(): request_mem_region(0x%llx, %d) failed\n",
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 87 __func__, start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 88 goto free_name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 89 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 90
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 @91 map = ioremap_cache(start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 92 if (!map) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 93 pr_devel("%s(): ioremap_cache(0x%llx, %d) failed\n", __func__,
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 94 start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 95 goto free_name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 96 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 97
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 98 pr_devel("Mapped paste addr 0x%llx to kaddr 0x%p\n", start, map);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 99 return map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 100
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 101 free_name:
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 102 kfree(name);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 103 return ERR_PTR(-ENOMEM);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 104 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 105
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 106 static void *map_mmio_region(char *name, u64 start, int len)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 107 {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 108 void *map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 109
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 110 if (!request_mem_region(start, len, name)) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 111 pr_devel("%s(): request_mem_region(0x%llx, %d) failed\n",
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 112 __func__, start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 113 return NULL;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 114 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 115
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 116 map = ioremap(start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 117 if (!map) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 118 pr_devel("%s(): ioremap(0x%llx, %d) failed\n", __func__, start,
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 119 len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 120 return NULL;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 121 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 122
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 123 return map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 124 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 125
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 126 static void unmap_region(void *addr, u64 start, int len)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 127 {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 @128 iounmap(addr);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 129 release_mem_region((phys_addr_t)start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 130 }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 131
:::::: The code at line 91 was first introduced by commit
:::::: 180fe15a8299c14f77347c5835c98c2446226ee6 powerpc/powernv/vas: Define helpers to access MMIO regions
:::::: TO: Sukadev Bhattiprolu <sukadev(a)linux.vnet.ibm.com>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[android-common:android12-5.10 12973/13751] drivers/mmc/core/mmc.c:975:6: warning: no previous prototype for 'mmc_set_bus_speed'
by kernel test robot
Hi Ram,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android12-5.10
head: 06d074249fa373865805136b3d34aeb7c20ee5d2
commit: 072eded7ca22f1dff8f7e151c46274352a8bbf57 [12973/13751] FROMLIST: mmc: core: Export core functions required for clk scaling
config: arm-randconfig-r026-20211014 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.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 android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.10
git checkout 072eded7ca22f1dff8f7e151c46274352a8bbf57
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm
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/mmc/core/mmc.c:975:6: warning: no previous prototype for 'mmc_set_bus_speed' [-Wmissing-prototypes]
975 | void mmc_set_bus_speed(struct mmc_card *card)
| ^~~~~~~~~~~~~~~~~
vim +/mmc_set_bus_speed +975 drivers/mmc/core/mmc.c
971
972 /*
973 * Set the bus speed for the selected speed mode.
974 */
> 975 void mmc_set_bus_speed(struct mmc_card *card)
976 {
977 unsigned int max_dtr = (unsigned int)-1;
978
979 if ((mmc_card_hs200(card) || mmc_card_hs400(card)) &&
980 max_dtr > card->ext_csd.hs200_max_dtr)
981 max_dtr = card->ext_csd.hs200_max_dtr;
982 else if (mmc_card_hs(card) && max_dtr > card->ext_csd.hs_max_dtr)
983 max_dtr = card->ext_csd.hs_max_dtr;
984 else if (max_dtr > card->csd.max_dtr)
985 max_dtr = card->csd.max_dtr;
986
987 mmc_set_clock(card->host, max_dtr);
988 }
989
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[hare-scsi-devel:scsi-private.v2 2/21] drivers/scsi/scsi_lib.c:1969:27: error: 'REQ_INTERNAL' undeclared; did you mean 'MNT_INTERNAL'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git scsi-private.v2
head: 915b986531e666d840f72752c597fb6b4ea69d35
commit: ab62e1bf357cb49bc1202b317666790b4eb1fc12 [2/21] scsi: add scsi_{get,put}_internal_cmd() helper
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.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/hare/scsi-devel.git/commi...
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel scsi-private.v2
git checkout ab62e1bf357cb49bc1202b317666790b4eb1fc12
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/
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/scsi/scsi_lib.c: In function 'scsi_get_internal_cmd':
>> drivers/scsi/scsi_lib.c:1969:27: error: 'REQ_INTERNAL' undeclared (first use in this function); did you mean 'MNT_INTERNAL'?
1969 | unsigned int op = REQ_INTERNAL | op_flags;
| ^~~~~~~~~~~~
| MNT_INTERNAL
drivers/scsi/scsi_lib.c:1969:27: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/scsi/scsi_lib.c:1977:13: error: 'struct scsi_cmnd' has no member named 'request'
1977 | scmd->request = rq;
| ^~
drivers/scsi/scsi_lib.c: In function 'scsi_put_internal_cmd':
>> drivers/scsi/scsi_lib.c:1991:13: error: implicit declaration of function 'blk_rq_is_internal'; did you mean 'blk_qc_t_is_internal'? [-Werror=implicit-function-declaration]
1991 | if (blk_rq_is_internal(rq))
| ^~~~~~~~~~~~~~~~~~
| blk_qc_t_is_internal
cc1: some warnings being treated as errors
vim +1969 drivers/scsi/scsi_lib.c
1954
1955 /**
1956 * scsi_get_internal_cmd - allocate an intenral SCSI command
1957 * @sdev: SCSI device from which to allocate the command
1958 * @data_direction: Data direction for the allocated command
1959 * @op_flags: request allocation flags
1960 *
1961 * Allocates a SCSI command for internal LLDD use.
1962 */
1963 struct scsi_cmnd *scsi_get_internal_cmd(struct scsi_device *sdev,
1964 int data_direction, int op_flags)
1965 {
1966 struct request *rq;
1967 struct scsi_cmnd *scmd;
1968 blk_mq_req_flags_t flags = 0;
> 1969 unsigned int op = REQ_INTERNAL | op_flags;
1970
1971 op |= (data_direction == DMA_TO_DEVICE) ?
1972 REQ_OP_DRV_OUT : REQ_OP_DRV_IN;
1973 rq = blk_mq_alloc_request(sdev->request_queue, op, flags);
1974 if (IS_ERR(rq))
1975 return NULL;
1976 scmd = blk_mq_rq_to_pdu(rq);
> 1977 scmd->request = rq;
1978 scmd->device = sdev;
1979 return scmd;
1980 }
1981 EXPORT_SYMBOL_GPL(scsi_get_internal_cmd);
1982
1983 /**
1984 * scsi_put_internal_cmd - free an internal SCSI command
1985 * @scmd: SCSI command to be freed
1986 */
1987 void scsi_put_internal_cmd(struct scsi_cmnd *scmd)
1988 {
1989 struct request *rq = blk_mq_rq_from_pdu(scmd);
1990
> 1991 if (blk_rq_is_internal(rq))
1992 blk_mq_free_request(rq);
1993 }
1994 EXPORT_SYMBOL_GPL(scsi_put_internal_cmd);
1995
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week