lkml.org 
[lkml]   [2020]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectdrivers/interconnect/qcom/icc-rpmh.c:132:28: sparse: sparse: incorrect type in assignment (different base types)
    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 <lkp@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-all@lists.01.org
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2020-07-06 14:44    [W:2.383 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site