[cel:nfsd-courteous-server 32/34] fs/nfsd/nfs4state.c:5893:2: error: implicit declaration of function 'nfsd4_get_client_reaplist'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux nfsd-courteous-server
head: 4b14f83e0bc79cb49f28fdc63a370c19637e2bfc
commit: 2fb4c8cd9a292bbee4428e9c6d33be28ca5775c6 [32/34] NFSD: Refactor nfsd4_laundromat()
config: hexagon-randconfig-r036-20220214 (https://download.01.org/0day-ci/archive/20220215/202202151415.pbD8co6c-lk...)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 37f422f4ac31c8b8041c6b62065263314282dab6)
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/cel/linux.git/commit/?id=...
git remote add cel git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
git fetch --no-tags cel nfsd-courteous-server
git checkout 2fb4c8cd9a292bbee4428e9c6d33be28ca5775c6
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash fs/nfsd/
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 >>):
>> fs/nfsd/nfs4state.c:5893:2: error: implicit declaration of function 'nfsd4_get_client_reaplist' [-Werror,-Wimplicit-function-declaration]
nfsd4_get_client_reaplist(nn, &reaplist, <);
^
fs/nfsd/nfs4state.c:5893:2: note: did you mean 'nfs4_get_client_reaplist'?
fs/nfsd/nfs4state.c:5841:1: note: 'nfs4_get_client_reaplist' declared here
nfs4_get_client_reaplist(struct nfsd_net *nn, struct list_head *reaplist,
^
1 error generated.
vim +/nfsd4_get_client_reaplist +5893 fs/nfsd/nfs4state.c
5860
5861 static time64_t
5862 nfs4_laundromat(struct nfsd_net *nn)
5863 {
5864 struct nfs4_client *clp;
5865 struct nfs4_openowner *oo;
5866 struct nfs4_delegation *dp;
5867 struct nfs4_ol_stateid *stp;
5868 struct nfsd4_blocked_lock *nbl;
5869 struct list_head *pos, *next, reaplist;
5870 struct laundry_time lt = {
5871 .cutoff = ktime_get_boottime_seconds() - nn->nfsd4_lease,
5872 .new_timeo = nn->nfsd4_lease
5873 };
5874 struct nfs4_cpntf_state *cps;
5875 copy_stateid_t *cps_t;
5876 int i;
5877
5878 if (clients_still_reclaiming(nn)) {
5879 lt.new_timeo = 0;
5880 goto out;
5881 }
5882 nfsd4_end_grace(nn);
5883
5884 spin_lock(&nn->s2s_cp_lock);
5885 idr_for_each_entry(&nn->s2s_cp_stateids, cps_t, i) {
5886 cps = container_of(cps_t, struct nfs4_cpntf_state, cp_stateid);
5887 if (cps->cp_stateid.sc_type == NFS4_COPYNOTIFY_STID &&
5888 state_expired(<, cps->cpntf_time))
5889 _free_cpntf_state_locked(nn, cps);
5890 }
5891 spin_unlock(&nn->s2s_cp_lock);
5892
> 5893 nfsd4_get_client_reaplist(nn, &reaplist, <);
5894 list_for_each_safe(pos, next, &reaplist) {
5895 clp = list_entry(pos, struct nfs4_client, cl_lru);
5896 trace_nfsd_clid_purged(&clp->cl_clientid);
5897 list_del_init(&clp->cl_lru);
5898 expire_client(clp);
5899 }
5900 spin_lock(&state_lock);
5901 list_for_each_safe(pos, next, &nn->del_recall_lru) {
5902 dp = list_entry (pos, struct nfs4_delegation, dl_recall_lru);
5903 if (!state_expired(<, dp->dl_time))
5904 break;
5905 WARN_ON(!unhash_delegation_locked(dp));
5906 list_add(&dp->dl_recall_lru, &reaplist);
5907 }
5908 spin_unlock(&state_lock);
5909 while (!list_empty(&reaplist)) {
5910 dp = list_first_entry(&reaplist, struct nfs4_delegation,
5911 dl_recall_lru);
5912 list_del_init(&dp->dl_recall_lru);
5913 revoke_delegation(dp);
5914 }
5915
5916 spin_lock(&nn->client_lock);
5917 while (!list_empty(&nn->close_lru)) {
5918 oo = list_first_entry(&nn->close_lru, struct nfs4_openowner,
5919 oo_close_lru);
5920 if (!state_expired(<, oo->oo_time))
5921 break;
5922 list_del_init(&oo->oo_close_lru);
5923 stp = oo->oo_last_closed_stid;
5924 oo->oo_last_closed_stid = NULL;
5925 spin_unlock(&nn->client_lock);
5926 nfs4_put_stid(&stp->st_stid);
5927 spin_lock(&nn->client_lock);
5928 }
5929 spin_unlock(&nn->client_lock);
5930
5931 /*
5932 * It's possible for a client to try and acquire an already held lock
5933 * that is being held for a long time, and then lose interest in it.
5934 * So, we clean out any un-revisited request after a lease period
5935 * under the assumption that the client is no longer interested.
5936 *
5937 * RFC5661, sec. 9.6 states that the client must not rely on getting
5938 * notifications and must continue to poll for locks, even when the
5939 * server supports them. Thus this shouldn't lead to clients blocking
5940 * indefinitely once the lock does become free.
5941 */
5942 BUG_ON(!list_empty(&reaplist));
5943 spin_lock(&nn->blocked_locks_lock);
5944 while (!list_empty(&nn->blocked_locks_lru)) {
5945 nbl = list_first_entry(&nn->blocked_locks_lru,
5946 struct nfsd4_blocked_lock, nbl_lru);
5947 if (!state_expired(<, nbl->nbl_time))
5948 break;
5949 list_move(&nbl->nbl_lru, &reaplist);
5950 list_del_init(&nbl->nbl_list);
5951 }
5952 spin_unlock(&nn->blocked_locks_lock);
5953
5954 while (!list_empty(&reaplist)) {
5955 nbl = list_first_entry(&reaplist,
5956 struct nfsd4_blocked_lock, nbl_lru);
5957 list_del_init(&nbl->nbl_lru);
5958 free_blocked_lock(nbl);
5959 }
5960 #ifdef CONFIG_NFSD_V4_2_INTER_SSC
5961 /* service the server-to-server copy delayed unmount list */
5962 nfsd4_ssc_expire_umount(nn);
5963 #endif
5964 out:
5965 return max_t(time64_t, lt.new_timeo, NFSD_LAUNDROMAT_MINTIMEOUT);
5966 }
5967
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
[mchinth:sep_socwatch_linux_5_16 1/1] drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces))
by kernel test robot
tree: https://github.com/mchinth/linux sep_socwatch_linux_5_16
head: 4cbfca15a262729ae8557758b49226fe4769f582
commit: 4cbfca15a262729ae8557758b49226fe4769f582 [1/1] Platform/x86 Updated SEP/SOCPERF drivers to latest version
config: i386-randconfig-s002-20220214 (https://download.01.org/0day-ci/archive/20220215/202202151426.RB8miR3A-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/mchinth/linux/commit/4cbfca15a262729ae8557758b49226fe4...
git remote add mchinth https://github.com/mchinth/linux
git fetch --no-tags mchinth sep_socwatch_linux_5_16
git checkout 4cbfca15a262729ae8557758b49226fe4769f582
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/platform/x86/socperf/
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/platform/x86/socperf/socperfdrv.c:208:13: sparse: sparse: function 'SOCPERF_Read_Data3' with external linkage has definition
drivers/platform/x86/socperf/socperfdrv.c:1175:13: sparse: sparse: function 'lwpmudrv_Stop_Mem' with external linkage has definition
drivers/platform/x86/socperf/socperfdrv.c:1392:22: sparse: sparse: function 'socperf_Service_IOCTL' with external linkage has definition
drivers/platform/x86/socperf/socperfdrv.c:1516:13: sparse: sparse: function 'socperf_Device_Control' with external linkage has definition
drivers/platform/x86/socperf/socperfdrv.c:1602:12: sparse: sparse: function 'SOCPERF_Abnormal_Terminate' with external linkage has definition
drivers/platform/x86/socperf/socperfdrv.c:104:22: sparse: sparse: symbol 'socperf_drv_version' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:105:5: sparse: sparse: symbol 'read_unc_ctr_info' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:106:10: sparse: sparse: symbol 'dispatch_uncore' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:108:14: sparse: sparse: symbol 'socperf_global_ec' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:109:14: sparse: sparse: symbol 'socperf_abnormal_terminate' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:110:11: sparse: sparse: symbol 'socperf_control' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:114:8: sparse: sparse: symbol 'socperf_pcb_size' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: expected void const volatile [noderef] __user *ptr
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *__ptr_pu @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: expected void [noderef] __user *__ptr_pu
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/socperfdrv.c:328:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:328:37: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:328:37: sparse: got void *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:407:62: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:407:62: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:407:62: sparse: got void *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:559:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:559:63: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:559:63: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:641:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:641:39: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:641:39: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:742:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:742:64: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:742:64: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:1043:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:1043:43: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1043:43: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/socperfdrv.c:1066:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1066:29: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1066:29: sparse: got char *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:1089:28: sparse: sparse: Using plain integer as NULL pointer
drivers/platform/x86/socperf/socperfdrv.c:1100:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1100:29: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1100:29: sparse: got char *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:1135:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got unsigned long long [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:1135:45: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1135:45: sparse: got unsigned long long [usertype] *
drivers/platform/x86/socperf/socperfdrv.c:1154:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1154:29: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1154:29: sparse: got char *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:1175:13: sparse: sparse: symbol 'lwpmudrv_Stop_Mem' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:1286:54: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:1286:54: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1286:54: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:1310:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1310:30: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1310:30: sparse: got char *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:1348:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *buf @@
drivers/platform/x86/socperf/socperfdrv.c:1348:26: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1348:26: sparse: got char *buf
drivers/platform/x86/socperf/socperfdrv.c:1368:76: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/platform/x86/socperf/socperfdrv.c:1368:76: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1368:76: sparse: got char const *
drivers/platform/x86/socperf/socperfdrv.c:1392:22: sparse: sparse: symbol 'socperf_Service_IOCTL' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:1537:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct IOCTL_ARGS_NODE_S [usertype] *[usertype] @@
drivers/platform/x86/socperf/socperfdrv.c:1537:55: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1537:55: sparse: got struct IOCTL_ARGS_NODE_S [usertype] *[usertype]
drivers/platform/x86/socperf/socperfdrv.c:1516:13: sparse: sparse: symbol 'socperf_Device_Control' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:1602:12: sparse: sparse: symbol 'SOCPERF_Abnormal_Terminate' was not declared. Should it be static?
>> drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected int ( *read )( ... ) @@ got int ( * )( ... ) @@
drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: expected int ( *read )( ... )
drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: got int ( * )( ... )
>> drivers/platform/x86/socperf/socperfdrv.c:1638:18: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected int ( *write )( ... ) @@ got int ( * )( ... ) @@
drivers/platform/x86/socperf/socperfdrv.c:1638:18: sparse: expected int ( *write )( ... )
drivers/platform/x86/socperf/socperfdrv.c:1638:18: sparse: got int ( * )( ... )
vim +1637 drivers/platform/x86/socperf/socperfdrv.c
f57492d07625dd Manisha Chinthapally 2019-05-01 1619
f57492d07625dd Manisha Chinthapally 2019-05-01 1620 /*****************************************************************************************
f57492d07625dd Manisha Chinthapally 2019-05-01 1621 *
f57492d07625dd Manisha Chinthapally 2019-05-01 1622 * Driver Entry / Exit functions that will be called on when the driver is loaded and
f57492d07625dd Manisha Chinthapally 2019-05-01 1623 * unloaded
f57492d07625dd Manisha Chinthapally 2019-05-01 1624 *
f57492d07625dd Manisha Chinthapally 2019-05-01 1625 ****************************************************************************************/
f57492d07625dd Manisha Chinthapally 2019-05-01 1626
f57492d07625dd Manisha Chinthapally 2019-05-01 1627 /*
f57492d07625dd Manisha Chinthapally 2019-05-01 1628 * Structure that declares the usual file access functions
f57492d07625dd Manisha Chinthapally 2019-05-01 1629 * First one is for lwpmu_c, the control functions
f57492d07625dd Manisha Chinthapally 2019-05-01 1630 */
f57492d07625dd Manisha Chinthapally 2019-05-01 1631 static struct file_operations socperf_Fops = {
f57492d07625dd Manisha Chinthapally 2019-05-01 1632 .owner = THIS_MODULE,
f57492d07625dd Manisha Chinthapally 2019-05-01 1633 IOCTL_OP = socperf_Device_Control,
f57492d07625dd Manisha Chinthapally 2019-05-01 1634 #if defined(CONFIG_COMPAT) && defined(DRV_EM64T)
f57492d07625dd Manisha Chinthapally 2019-05-01 1635 .compat_ioctl = socperf_Device_Control_Compat,
f57492d07625dd Manisha Chinthapally 2019-05-01 1636 #endif
f57492d07625dd Manisha Chinthapally 2019-05-01 @1637 .read = socperf_Read,
f57492d07625dd Manisha Chinthapally 2019-05-01 @1638 .write = socperf_Write,
f57492d07625dd Manisha Chinthapally 2019-05-01 1639 .open = socperf_Open,
f57492d07625dd Manisha Chinthapally 2019-05-01 1640 .release = NULL,
f57492d07625dd Manisha Chinthapally 2019-05-01 1641 .llseek = NULL,
f57492d07625dd Manisha Chinthapally 2019-05-01 1642 };
f57492d07625dd Manisha Chinthapally 2019-05-01 1643
:::::: The code at line 1637 was first introduced by commit
:::::: f57492d07625dddac7920eccdb5be08c55ee16fa platform/x86: SOCPERF3 support for sep & socwatch
:::::: TO: Manisha Chinthapally <manisha.chinthapally(a)intel.com>
:::::: CC: Faycal Benmlih <faycal.benmlih(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
[mchinth:sep_socwatch_linux_5_16 1/1] drivers/platform/x86/socperf/pci.c:76:12: sparse: sparse: function 'SOCPERF_PCI_Read_From_Memory_Address' with external linkage has definition
by kernel test robot
tree: https://github.com/mchinth/linux sep_socwatch_linux_5_16
head: 4cbfca15a262729ae8557758b49226fe4769f582
commit: 4cbfca15a262729ae8557758b49226fe4769f582 [1/1] Platform/x86 Updated SEP/SOCPERF drivers to latest version
config: x86_64-randconfig-s022-20220214 (https://download.01.org/0day-ci/archive/20220215/202202151326.QuBRo6mL-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/mchinth/linux/commit/4cbfca15a262729ae8557758b49226fe4...
git remote add mchinth https://github.com/mchinth/linux
git fetch --no-tags mchinth sep_socwatch_linux_5_16
git checkout 4cbfca15a262729ae8557758b49226fe4769f582
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/iommu/intel/ drivers/platform/x86/socperf/
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/platform/x86/socperf/pci.c:76:12: sparse: sparse: function 'SOCPERF_PCI_Read_From_Memory_Address' with external linkage has definition
>> drivers/platform/x86/socperf/pci.c:122:12: sparse: sparse: function 'SOCPERF_PCI_Write_To_Memory_Address' with external linkage has definition
>> drivers/platform/x86/socperf/pci.c:163:12: sparse: sparse: function 'SOCPERF_PCI_Read_Ulong' with external linkage has definition
>> drivers/platform/x86/socperf/pci.c:185:13: sparse: sparse: function 'SOCPERF_PCI_Write_Ulong' with external linkage has definition
>> drivers/platform/x86/socperf/pci.c:94:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[usertype] base @@ got void [noderef] __iomem * @@
drivers/platform/x86/socperf/pci.c:94:14: sparse: expected void *[usertype] base
drivers/platform/x86/socperf/pci.c:94:14: sparse: got void [noderef] __iomem *
>> drivers/platform/x86/socperf/pci.c:99:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/platform/x86/socperf/pci.c:99:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/pci.c:99:28: sparse: got void *
>> drivers/platform/x86/socperf/pci.c:105:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[usertype] base @@
drivers/platform/x86/socperf/pci.c:105:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/pci.c:105:17: sparse: got void *[usertype] base
drivers/platform/x86/socperf/pci.c:140:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[usertype] base @@ got void [noderef] __iomem * @@
drivers/platform/x86/socperf/pci.c:140:14: sparse: expected void *[usertype] base
drivers/platform/x86/socperf/pci.c:140:14: sparse: got void [noderef] __iomem *
>> drivers/platform/x86/socperf/pci.c:145:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/platform/x86/socperf/pci.c:145:26: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/pci.c:145:26: sparse: got void *
drivers/platform/x86/socperf/pci.c:147:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[usertype] base @@
drivers/platform/x86/socperf/pci.c:147:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/pci.c:147:17: sparse: got void *[usertype] base
--
>> drivers/platform/x86/socperf/npk_uncore.c:92:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/npk_uncore.c:92:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/npk_uncore.c:92:36: sparse: got unsigned int [usertype] *
>> drivers/platform/x86/socperf/npk_uncore.c:119:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/npk_uncore.c:119:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/npk_uncore.c:119:17: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/npk_uncore.c:297:39: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/platform/x86/socperf/npk_uncore.c:340:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/platform/x86/socperf/npk_uncore.c:340:34: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/npk_uncore.c:340:34: sparse: got void *
drivers/platform/x86/socperf/npk_uncore.c:345:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/platform/x86/socperf/npk_uncore.c:345:34: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/npk_uncore.c:345:34: sparse: got void *
--
>> drivers/platform/x86/socperf/utility.c:75:13: sparse: sparse: function 'SOCPERF_UTILITY_Read_TSC' with external linkage has definition
>> drivers/platform/x86/socperf/utility.c:104:13: sparse: sparse: function 'SOCPERF_UTILITY_Read_Cpuid' with external linkage has definition
>> drivers/platform/x86/socperf/utility.c:136:17: sparse: sparse: function 'SOCPERF_UTILITY_Configure_CPU' with external linkage has definition
--
>> drivers/platform/x86/socperf/control.c:99:13: sparse: sparse: function 'SOCPERF_Invoke_Cpu' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:127:13: sparse: sparse: function 'SOCPERF_Invoke_Parallel_Service' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:356:13: sparse: sparse: function 'SOCPERF_Memory_Tracker_Init' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:382:13: sparse: sparse: function 'SOCPERF_Memory_Tracker_Free' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:443:13: sparse: sparse: function 'SOCPERF_Memory_Tracker_Compaction' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:582:14: sparse: sparse: function 'SOCPERF_Allocate_Memory' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:646:14: sparse: sparse: function 'SOCPERF_Allocate_KMemory' with external linkage has definition
>> drivers/platform/x86/socperf/control.c:704:14: sparse: sparse: function 'SOCPERF_Free_Memory' with external linkage has definition
--
>> drivers/platform/x86/socperf/pmu_list.c:246:17: sparse: sparse: function 'PMU_LIST_Check_MMIO' with external linkage has definition
>> drivers/platform/x86/socperf/pmu_list.c:303:18: sparse: sparse: function 'PMU_LIST_Initialize' with external linkage has definition
>> drivers/platform/x86/socperf/pmu_list.c:327:18: sparse: sparse: function 'PMU_LIST_Build_MMIO_List' with external linkage has definition
>> drivers/platform/x86/socperf/pmu_list.c:380:18: sparse: sparse: function 'PMU_LIST_Clean_Up' with external linkage has definition
--
>> drivers/platform/x86/socperf/haswellunc_sa.c:127:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:127:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:127:33: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/haswellunc_sa.c:160:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:160:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:160:33: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/haswellunc_sa.c:203:39: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/platform/x86/socperf/haswellunc_sa.c:209:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:209:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:209:42: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/haswellunc_sa.c:212:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:212:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:212:42: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/haswellunc_sa.c:220:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:220:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:220:33: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/haswellunc_sa.c:257:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:257:41: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:257:41: sparse: got unsigned int [usertype] *
>> drivers/platform/x86/socperf/haswellunc_sa.c:271:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/platform/x86/socperf/haswellunc_sa.c:271:42: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:271:42: sparse: got void *
drivers/platform/x86/socperf/haswellunc_sa.c:363:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:363:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:363:33: sparse: got unsigned int [usertype] *
drivers/platform/x86/socperf/haswellunc_sa.c:367:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/haswellunc_sa.c:367:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/haswellunc_sa.c:367:33: sparse: got unsigned int [usertype] *
--
>> drivers/platform/x86/socperf/soc_uncore.c:422:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/soc_uncore.c:422:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/soc_uncore.c:422:33: sparse: got unsigned int [usertype] *
>> drivers/platform/x86/socperf/soc_uncore.c:593:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/platform/x86/socperf/soc_uncore.c:593:26: sparse: expected void volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/soc_uncore.c:593:26: sparse: got void *
drivers/platform/x86/socperf/soc_uncore.c:779:25: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/platform/x86/socperf/soc_uncore.c:890:79: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/platform/x86/socperf/soc_uncore.c:890:79: sparse: expected void const volatile [noderef] __iomem *addr
drivers/platform/x86/socperf/soc_uncore.c:890:79: sparse: got unsigned long long [usertype] *
--
drivers/platform/x86/socperf/socperfdrv.c:208:13: sparse: sparse: function 'SOCPERF_Read_Data3' with external linkage has definition
>> drivers/platform/x86/socperf/socperfdrv.c:1175:13: sparse: sparse: function 'lwpmudrv_Stop_Mem' with external linkage has definition
>> drivers/platform/x86/socperf/socperfdrv.c:1392:22: sparse: sparse: function 'socperf_Service_IOCTL' with external linkage has definition
>> drivers/platform/x86/socperf/socperfdrv.c:1516:13: sparse: sparse: function 'socperf_Device_Control' with external linkage has definition
>> drivers/platform/x86/socperf/socperfdrv.c:1551:13: sparse: sparse: function 'socperf_Device_Control_Compat' with external linkage has definition
>> drivers/platform/x86/socperf/socperfdrv.c:1602:12: sparse: sparse: function 'SOCPERF_Abnormal_Terminate' with external linkage has definition
drivers/platform/x86/socperf/socperfdrv.c:104:22: sparse: sparse: symbol 'socperf_drv_version' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:105:5: sparse: sparse: symbol 'read_unc_ctr_info' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:106:10: sparse: sparse: symbol 'dispatch_uncore' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:108:14: sparse: sparse: symbol 'socperf_global_ec' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:109:14: sparse: sparse: symbol 'socperf_abnormal_terminate' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:110:11: sparse: sparse: symbol 'socperf_control' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:114:8: sparse: sparse: symbol 'socperf_pcb_size' was not declared. Should it be static?
>> drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: expected void const volatile [noderef] __user *ptr
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: got unsigned int [usertype] *
>> drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *__ptr_pu @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: expected void [noderef] __user *__ptr_pu
drivers/platform/x86/socperf/socperfdrv.c:246:18: sparse: got unsigned int [usertype] *
>> drivers/platform/x86/socperf/socperfdrv.c:328:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:328:37: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:328:37: sparse: got void *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:407:62: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:407:62: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:407:62: sparse: got void *[usertype] buf_drv_to_usr
>> drivers/platform/x86/socperf/socperfdrv.c:559:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:559:63: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:559:63: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:641:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:641:39: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:641:39: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:742:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:742:64: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:742:64: sparse: got char *[usertype] buf_usr_to_drv
>> drivers/platform/x86/socperf/socperfdrv.c:1043:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got unsigned int [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:1043:43: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1043:43: sparse: got unsigned int [usertype] *
>> drivers/platform/x86/socperf/socperfdrv.c:1066:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1066:29: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1066:29: sparse: got char *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:1089:28: sparse: sparse: Using plain integer as NULL pointer
drivers/platform/x86/socperf/socperfdrv.c:1100:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1100:29: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1100:29: sparse: got char *[usertype] buf_drv_to_usr
>> drivers/platform/x86/socperf/socperfdrv.c:1135:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got unsigned long long [usertype] * @@
drivers/platform/x86/socperf/socperfdrv.c:1135:45: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1135:45: sparse: got unsigned long long [usertype] *
drivers/platform/x86/socperf/socperfdrv.c:1154:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1154:29: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1154:29: sparse: got char *[usertype] buf_drv_to_usr
drivers/platform/x86/socperf/socperfdrv.c:1175:13: sparse: sparse: symbol 'lwpmudrv_Stop_Mem' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:1286:54: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char *[usertype] buf_usr_to_drv @@
drivers/platform/x86/socperf/socperfdrv.c:1286:54: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1286:54: sparse: got char *[usertype] buf_usr_to_drv
drivers/platform/x86/socperf/socperfdrv.c:1310:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *[usertype] buf_drv_to_usr @@
drivers/platform/x86/socperf/socperfdrv.c:1310:30: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1310:30: sparse: got char *[usertype] buf_drv_to_usr
>> drivers/platform/x86/socperf/socperfdrv.c:1348:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got char *buf @@
drivers/platform/x86/socperf/socperfdrv.c:1348:26: sparse: expected void [noderef] __user *to
drivers/platform/x86/socperf/socperfdrv.c:1348:26: sparse: got char *buf
>> drivers/platform/x86/socperf/socperfdrv.c:1368:76: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got char const * @@
drivers/platform/x86/socperf/socperfdrv.c:1368:76: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1368:76: sparse: got char const *
drivers/platform/x86/socperf/socperfdrv.c:1392:22: sparse: sparse: symbol 'socperf_Service_IOCTL' was not declared. Should it be static?
>> drivers/platform/x86/socperf/socperfdrv.c:1537:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct IOCTL_ARGS_NODE_S [usertype] *[usertype] @@
drivers/platform/x86/socperf/socperfdrv.c:1537:55: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1537:55: sparse: got struct IOCTL_ARGS_NODE_S [usertype] *[usertype]
drivers/platform/x86/socperf/socperfdrv.c:1516:13: sparse: sparse: symbol 'socperf_Device_Control' was not declared. Should it be static?
>> drivers/platform/x86/socperf/socperfdrv.c:1570:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct IOCTL_COMPAT_ARGS_NODE_S [usertype] *[usertype] @@
drivers/platform/x86/socperf/socperfdrv.c:1570:42: sparse: expected void const [noderef] __user *from
drivers/platform/x86/socperf/socperfdrv.c:1570:42: sparse: got struct IOCTL_COMPAT_ARGS_NODE_S [usertype] *[usertype]
drivers/platform/x86/socperf/socperfdrv.c:1576:18: sparse: sparse: cast removes address space '__user' of expression
drivers/platform/x86/socperf/socperfdrv.c:1578:18: sparse: sparse: cast removes address space '__user' of expression
drivers/platform/x86/socperf/socperfdrv.c:1551:13: sparse: sparse: symbol 'socperf_Device_Control_Compat' was not declared. Should it be static?
drivers/platform/x86/socperf/socperfdrv.c:1602:12: sparse: sparse: symbol 'SOCPERF_Abnormal_Terminate' was not declared. Should it be static?
>> drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *read )( ... ) @@ got long ( * )( ... ) @@
drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: expected long ( *read )( ... )
drivers/platform/x86/socperf/socperfdrv.c:1637:17: sparse: got long ( * )( ... )
>> drivers/platform/x86/socperf/socperfdrv.c:1638:18: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@ expected long ( *write )( ... ) @@ got long ( * )( ... ) @@
drivers/platform/x86/socperf/socperfdrv.c:1638:18: sparse: expected long ( *write )( ... )
drivers/platform/x86/socperf/socperfdrv.c:1638:18: sparse: got long ( * )( ... )
vim +/SOCPERF_PCI_Read_From_Memory_Address +76 drivers/platform/x86/socperf/pci.c
63
64 /* ------------------------------------------------------------------------- */
65 /*!
66 * @fn extern int SOCPERF_PCI_Read_From_Memory_Address(addr, val)
67 *
68 * @param addr - physical address in mmio
69 * @param *value - value at this address
70 *
71 * @return status
72 *
73 * @brief Read memory mapped i/o physical location
74 *
75 */
> 76 extern int SOCPERF_PCI_Read_From_Memory_Address(U32 addr, U32 *val)
77 {
78 U32 aligned_addr, offset, value;
79 PVOID base;
80
81 if (addr <= 0) {
82 return OS_INVALID;
83 }
84
85 SOCPERF_PRINT_DEBUG(
86 "SOCPERF_PCI_Read_From_Memory_Address: reading physical address:%x\n",
87 addr);
88 offset = addr & ~PAGE_MASK;
89 aligned_addr = addr & PAGE_MASK;
90 SOCPERF_PRINT_DEBUG(
91 "SOCPERF_PCI_Read_From_Memory_Address: aligned physical address:%x,offset:%x\n",
92 aligned_addr, offset);
93
> 94 base = ioremap(aligned_addr, PAGE_SIZE);
95 if (base == NULL) {
96 return OS_INVALID;
97 }
98
> 99 value = readl(base + offset);
100 *val = value;
101 SOCPERF_PRINT_DEBUG(
102 "SOCPERF_PCI_Read_From_Memory_Address: value at this physical address:%x\n",
103 value);
104
> 105 iounmap(base);
106
107 return OS_SUCCESS;
108 }
109
110 /* ------------------------------------------------------------------------- */
111 /*!
112 * @fn extern int SOCPERF_PCI_Write_To_Memory_Address(addr, val)
113 *
114 * @param addr - physical address in mmio
115 * @param value - value to be written
116 *
117 * @return status
118 *
119 * @brief Write to memory mapped i/o physical location
120 *
121 */
> 122 extern int SOCPERF_PCI_Write_To_Memory_Address(U32 addr, U32 val)
123 {
124 U32 aligned_addr, offset;
125 PVOID base;
126
127 if (addr <= 0) {
128 return OS_INVALID;
129 }
130
131 SOCPERF_PRINT_DEBUG(
132 "SOCPERF_PCI_Write_To_Memory_Address: writing physical address:%x with value:%x\n",
133 addr, val);
134 offset = addr & ~PAGE_MASK;
135 aligned_addr = addr & PAGE_MASK;
136 SOCPERF_PRINT_DEBUG(
137 "SOCPERF_PCI_Write_To_Memory_Address: aligned physical address:%x,offset:%x\n",
138 aligned_addr, offset);
139
140 base = ioremap(aligned_addr, PAGE_SIZE);
141 if (base == NULL) {
142 return OS_INVALID;
143 }
144
> 145 writel(val, base + offset);
146
147 iounmap(base);
148
149 return OS_SUCCESS;
150 }
151
152 /* ------------------------------------------------------------------------- */
153 /*!
154 * @fn extern int SOCPERF_PCI_Read_Ulong(pci_address)
155 *
156 * @param pci_address - PCI configuration address
157 *
158 * @return value at this location
159 *
160 * @brief Reads a ULONG from PCI configuration space
161 *
162 */
> 163 extern int SOCPERF_PCI_Read_Ulong(U32 pci_address)
164 {
165 U32 temp_ulong = 0;
166
167 outl(pci_address, PCI_ADDR_IO);
168 temp_ulong = inl(PCI_DATA_IO);
169
170 return temp_ulong;
171 }
172
173 /* ------------------------------------------------------------------------- */
174 /*!
175 * @fn extern int SOCPERF_PCI_Write_Ulong(addr, val)
176 *
177 * @param pci_address - PCI configuration address
178 * @param value - Value to be written
179 *
180 * @return status
181 *
182 * @brief Writes a ULONG to PCI configuration space
183 *
184 */
> 185 extern void SOCPERF_PCI_Write_Ulong(U32 pci_address, U32 value)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week
Re: [PATCH] ata: add/use ata_taskfile::{error|status} fields
by kernel test robot
Hi Sergey,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.17-rc4 next-20220214]
[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/Sergey-Shtylyov/ata-add-use-ata_...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d567f5db412ed52de0b3b3efca4a451263de6108
config: i386-buildonly-randconfig-r006-20220214 (https://download.01.org/0day-ci/archive/20220215/202202151209.hSVAcH7A-lk...)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 37f422f4ac31c8b8041c6b62065263314282dab6)
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/5d89e7cd8ab42fd2cb6f59a7922784b0c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sergey-Shtylyov/ata-add-use-ata_taskfile-error-status-fields/20220215-044836
git checkout 5d89e7cd8ab42fd2cb6f59a7922784b0cce835bf
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/ata/
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/ata/sata_vsc.c:203:21: error: use of undeclared identifier 'feature'; did you mean 'return'?
tf->hob_feature = feature >> 8;
^~~~~~~
return
>> drivers/ata/sata_vsc.c:203:21: error: expected expression
2 errors generated.
vim +203 drivers/ata/sata_vsc.c
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 181
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 182
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 183 static void vsc_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 184 {
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 185 struct ata_ioports *ioaddr = &ap->ioaddr;
5d89e7cd8ab42f drivers/ata/sata_vsc.c Sergey Shtylyov 2022-02-14 186 u16 nsect, lbal, lbam, lbah, error;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 187
5d89e7cd8ab42f drivers/ata/sata_vsc.c Sergey Shtylyov 2022-02-14 188 tf->status = ata_sff_check_status(ap);
0d5ff566779f89 drivers/ata/sata_vsc.c Tejun Heo 2007-02-01 189 tf->device = readw(ioaddr->device_addr);
5d89e7cd8ab42f drivers/ata/sata_vsc.c Sergey Shtylyov 2022-02-14 190 error = readw(ioaddr->error_addr);
0d5ff566779f89 drivers/ata/sata_vsc.c Tejun Heo 2007-02-01 191 nsect = readw(ioaddr->nsect_addr);
0d5ff566779f89 drivers/ata/sata_vsc.c Tejun Heo 2007-02-01 192 lbal = readw(ioaddr->lbal_addr);
0d5ff566779f89 drivers/ata/sata_vsc.c Tejun Heo 2007-02-01 193 lbam = readw(ioaddr->lbam_addr);
0d5ff566779f89 drivers/ata/sata_vsc.c Tejun Heo 2007-02-01 194 lbah = readw(ioaddr->lbah_addr);
ac19bff25b6834 drivers/scsi/sata_vsc.c Jeff Garzik 2005-10-29 195
5d89e7cd8ab42f drivers/ata/sata_vsc.c Sergey Shtylyov 2022-02-14 196 tf->error = error;
ac19bff25b6834 drivers/scsi/sata_vsc.c Jeff Garzik 2005-10-29 197 tf->nsect = nsect;
ac19bff25b6834 drivers/scsi/sata_vsc.c Jeff Garzik 2005-10-29 198 tf->lbal = lbal;
ac19bff25b6834 drivers/scsi/sata_vsc.c Jeff Garzik 2005-10-29 199 tf->lbam = lbam;
ac19bff25b6834 drivers/scsi/sata_vsc.c Jeff Garzik 2005-10-29 200 tf->lbah = lbah;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 201
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 202 if (tf->flags & ATA_TFLAG_LBA48) {
ac19bff25b6834 drivers/scsi/sata_vsc.c Jeff Garzik 2005-10-29 @203 tf->hob_feature = feature >> 8;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 204 tf->hob_nsect = nsect >> 8;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 205 tf->hob_lbal = lbal >> 8;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 206 tf->hob_lbam = lbam >> 8;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 207 tf->hob_lbah = lbah >> 8;
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 208 }
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 209 }
^1da177e4c3f41 drivers/scsi/sata_vsc.c Linus Torvalds 2005-04-16 210
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week