tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   dcb7fd82c75ee2d6e6f9d8cc71c52519ed52e258
commit: 976daac4a1c581e5d5fd64047519fd6fcde39738 interconnect: qcom: 
Consolidate interconnect RPMh support
date:   4 months ago
config: arm64-randconfig-s032-20200706 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-14-g8fce3d7a-dirty
        git checkout 976daac4a1c581e5d5fd64047519fd6fcde39738
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)

>> drivers/interconnect/qcom/icc-rpmh.c:132:28: sparse: sparse: incorrect type 
>> in assignment (different base types) @@     expected restricted __le32 
>> [usertype] unit @@     got unsigned int [usertype] @@
>> drivers/interconnect/qcom/icc-rpmh.c:132:28: sparse:     expected restricted 
>> __le32 [usertype] unit
>> drivers/interconnect/qcom/icc-rpmh.c:132:28: sparse:     got unsigned int 
>> [usertype]
>> drivers/interconnect/qcom/icc-rpmh.c:133:29: sparse: sparse: incorrect type 
>> in assignment (different base types) @@     expected restricted __le16 
>> [usertype] width @@     got unsigned short [usertype] @@
>> drivers/interconnect/qcom/icc-rpmh.c:133:29: sparse:     expected restricted 
>> __le16 [usertype] width
>> drivers/interconnect/qcom/icc-rpmh.c:133:29: sparse:     got unsigned short 
>> [usertype]
--
>> drivers/interconnect/qcom/bcm-voter.c:64:78: sparse: sparse: restricted 
>> __le16 degrades to integer
   drivers/interconnect/qcom/bcm-voter.c:68:79: sparse: sparse: restricted 
__le16 degrades to integer
>> drivers/interconnect/qcom/bcm-voter.c:74:17: sparse: sparse: incorrect type 
>> in initializer (different base types) @@     expected unsigned int 
>> [usertype] __base @@     got restricted __le32 [usertype] unit @@
>> drivers/interconnect/qcom/bcm-voter.c:74:17: sparse:     expected unsigned 
>> int [usertype] __base
>> drivers/interconnect/qcom/bcm-voter.c:74:17: sparse:     got restricted 
>> __le32 [usertype] unit
   drivers/interconnect/qcom/bcm-voter.c:78:17: sparse: sparse: incorrect type 
in initializer (different base types) @@     expected unsigned int [usertype] 
__base @@     got restricted __le32 [usertype] unit @@
   drivers/interconnect/qcom/bcm-voter.c:78:17: sparse:     expected unsigned 
int [usertype] __base
   drivers/interconnect/qcom/bcm-voter.c:78:17: sparse:     got restricted 
__le32 [usertype] unit
>> drivers/interconnect/qcom/bcm-voter.c:109:21: sparse: sparse: restricted 
>> __le32 degrades to integer
>> drivers/interconnect/qcom/bcm-voter.c:109:21: sparse: sparse: restricted 
>> __le32 degrades to integer

vim +132 drivers/interconnect/qcom/icc-rpmh.c

    94  
    95  /**
    96   * qcom_icc_bcm_init - populates bcm aux data and connect qnodes
    97   * @bcm: bcm to be initialized
    98   * @dev: associated provider device
    99   *
   100   * Return: 0 on success, or an error code otherwise
   101   */
   102  int qcom_icc_bcm_init(struct qcom_icc_bcm *bcm, struct device *dev)
   103  {
   104          struct qcom_icc_node *qn;
   105          const struct bcm_db *data;
   106          size_t data_count;
   107          int i;
   108  
   109          /* BCM is already initialised*/
   110          if (bcm->addr)
   111                  return 0;
   112  
   113          bcm->addr = cmd_db_read_addr(bcm->name);
   114          if (!bcm->addr) {
   115                  dev_err(dev, "%s could not find RPMh address\n",
   116                          bcm->name);
   117                  return -EINVAL;
   118          }
   119  
   120          data = cmd_db_read_aux_data(bcm->name, &data_count);
   121          if (IS_ERR(data)) {
   122                  dev_err(dev, "%s command db read error (%ld)\n",
   123                          bcm->name, PTR_ERR(data));
   124                  return PTR_ERR(data);
   125          }
   126          if (!data_count) {
   127                  dev_err(dev, "%s command db missing or partial aux 
data\n",
   128                          bcm->name);
   129                  return -EINVAL;
   130          }
   131  
 > 132          bcm->aux_data.unit = le32_to_cpu(data->unit);
 > 133          bcm->aux_data.width = le16_to_cpu(data->width);
   134          bcm->aux_data.vcd = data->vcd;
   135          bcm->aux_data.reserved = data->reserved;
   136          INIT_LIST_HEAD(&bcm->list);
   137          INIT_LIST_HEAD(&bcm->ws_list);
   138  
   139          /* Link Qnodes to their respective BCMs */
   140          for (i = 0; i < bcm->num_nodes; i++) {
   141                  qn = bcm->nodes[i];
   142                  qn->bcms[qn->num_bcms] = bcm;
   143                  qn->num_bcms++;
   144          }
   145  
   146          return 0;
   147  }
   148  EXPORT_SYMBOL_GPL(qcom_icc_bcm_init);
   149  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to