Hi Srinivas,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc5 next-20180517]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Srinivas-Kandagatla/slimbus-ngd-dt-bindings-Add-slim-ngd-dt-bindings/20180518-193916
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All error/warnings (new ones prefixed by >>):

   drivers/slimbus/qcom-ngd-ctrl.c: In function 'qcom_slim_ngd_get_laddr':
>> drivers/slimbus/qcom-ngd-ctrl.c:862:8: error: implicit declaration of 
>> function 'slim_prepare_txn'; did you mean 'slab_prepare_cpu'? 
>> [-Werror=implicit-function-declaration]
     ret = slim_prepare_txn(sctrl, &txn, &done, true);
           ^~~~~~~~~~~~~~~~
           slab_prepare_cpu
   drivers/slimbus/qcom-ngd-ctrl.c: In function 'qcom_slim_ngd_notify_slaves':
>> drivers/slimbus/qcom-ngd-ctrl.c:969:11: error: implicit declaration of 
>> function 'of_slim_get_device'; did you mean 'slim_get_device'? 
>> [-Werror=implicit-function-declaration]
      sbdev = of_slim_get_device(&ctrl->ctrl, node);
              ^~~~~~~~~~~~~~~~~~
              slim_get_device
>> drivers/slimbus/qcom-ngd-ctrl.c:969:9: warning: assignment makes pointer 
>> from integer without a cast [-Wint-conversion]
      sbdev = of_slim_get_device(&ctrl->ctrl, node);
            ^
   cc1: some warnings being treated as errors

vim +862 drivers/slimbus/qcom-ngd-ctrl.c

   839  
   840  static int qcom_slim_ngd_get_laddr(struct slim_controller *sctrl,
   841                                     struct slim_eaddr *ea, u8 *laddr)
   842  {
   843          DECLARE_COMPLETION_ONSTACK(done);
   844          struct slim_val_inf msg =  {0};
   845          struct slim_msg_txn txn;
   846          u8 wbuf[10] = {0};
   847          u8 rbuf[10] = {0};
   848          int ret;
   849  
   850          txn.mt = SLIM_MSG_MT_DEST_REFERRED_USER;
   851          txn.dt = SLIM_MSG_DEST_LOGICALADDR;
   852          txn.la = SLIM_LA_MGR;
   853          txn.ec = 0;
   854  
   855          txn.mc = SLIM_USR_MC_ADDR_QUERY;
   856          txn.rl = 11;
   857          txn.msg = &msg;
   858          txn.msg->num_bytes = 7;
   859          txn.msg->wbuf = wbuf;
   860          txn.msg->rbuf = rbuf;
   861  
 > 862          ret = slim_prepare_txn(sctrl, &txn, &done, true);
   863          if (ret)
   864                  return ret;
   865  
   866          wbuf[0] = (u8)txn.tid;
   867          memcpy(&wbuf[1], ea, sizeof(*ea));
   868          ret = slim_do_transfer(sctrl, &txn);
   869  
   870          *laddr = rbuf[6];
   871  
   872          return ret;
   873  }
   874  
   875  static int qcom_slim_ngd_exit_dma(struct qcom_slim_ngd_ctrl *ctrl)
   876  {
   877          if (ctrl->dma_rx_channel)
   878                  dma_release_channel(ctrl->dma_rx_channel);
   879  
   880          if (ctrl->dma_tx_channel)
   881                  dma_release_channel(ctrl->dma_tx_channel);
   882  
   883          ctrl->dma_tx_channel = ctrl->dma_rx_channel = NULL;
   884  
   885          return 0;
   886  }
   887  
   888  static void qcom_slim_ngd_setup(struct qcom_slim_ngd_ctrl *ctrl)
   889  {
   890          u32 cfg = readl_relaxed(ctrl->base +
   891                                   NGD_BASE(ctrl->id, ctrl->ver));
   892  
   893          if (ctrl->state == QCOM_SLIM_NGD_CTRL_DOWN)
   894                  qcom_slim_ngd_init_dma(ctrl);
   895  
   896          /* By default enable message queues */
   897          cfg |= NGD_CFG_RX_MSGQ_EN;
   898          cfg |= NGD_CFG_TX_MSGQ_EN;
   899  
   900          /* Enable NGD if it's not already enabled*/
   901          if (!(cfg & NGD_CFG_ENABLE))
   902                  cfg |= NGD_CFG_ENABLE;
   903  
   904          writel_relaxed(cfg, ctrl->base + NGD_BASE(ctrl->id, ctrl->ver));
   905  }
   906  
   907  static int qcom_slim_ngd_power_up(struct qcom_slim_ngd_ctrl *ctrl)
   908  {
   909          enum qcom_slim_ngd_state cur_state = ctrl->state;
   910          void __iomem *ngd;
   911          u32 laddr, rx_msgq;
   912          int timeout, ret = 0;
   913  
   914          if (ctrl->state == QCOM_SLIM_NGD_CTRL_DOWN) {
   915                  timeout = 
wait_for_completion_timeout(&ctrl->qmi.qmi_comp, HZ);
   916                  if (!timeout)
   917                          return -EREMOTEIO;
   918          }
   919  
   920          if (ctrl->state == QCOM_SLIM_NGD_CTRL_ASLEEP ||
   921                  ctrl->state == QCOM_SLIM_NGD_CTRL_DOWN) {
   922                  ret = qcom_slim_qmi_power_request(ctrl, true);
   923                  if (ret) {
   924                          dev_err(ctrl->dev, "SLIM QMI power request 
failed:%d\n",
   925                                          ret);
   926                          return ret;
   927                  }
   928          }
   929  
   930          ctrl->ver = readl_relaxed(ctrl->base);
   931          /* Version info in 16 MSbits */
   932          ctrl->ver >>= 16;
   933          ngd = ctrl->base + NGD_BASE(ctrl->id, ctrl->ver);
   934          laddr = readl_relaxed(ngd + NGD_STATUS);
   935          if (laddr & NGD_LADDR) {
   936                  /*
   937                   * external MDM restart case where ADSP itself was 
active framer
   938                   * For example, modem restarted when playback was active
   939                   */
   940                  if (cur_state == QCOM_SLIM_NGD_CTRL_AWAKE) {
   941                          dev_info(ctrl->dev, "Subsys restart: ADSP 
active framer\n");
   942                          return 0;
   943                  }
   944                  return 0;
   945          }
   946  
   947          writel_relaxed(DEF_NGD_INT_MASK, ctrl->base + NGD_INT_EN +
   948                                  NGD_BASE(ctrl->id, ctrl->ver));
   949          rx_msgq = readl_relaxed(ngd + NGD_RX_MSGQ_CFG);
   950  
   951          writel_relaxed(rx_msgq|SLIM_RX_MSGQ_TIMEOUT_VAL, ngd + 
NGD_RX_MSGQ_CFG);
   952          qcom_slim_ngd_setup(ctrl);
   953  
   954          timeout = wait_for_completion_timeout(&ctrl->reconf, HZ);
   955          if (!timeout) {
   956                  dev_err(ctrl->dev, "capability exchange timed-out\n");
   957                  return -ETIMEDOUT;
   958          }
   959  
   960          return 0;
   961  }
   962  
   963  static void qcom_slim_ngd_notify_slaves(struct qcom_slim_ngd_ctrl *ctrl)
   964  {
   965          struct slim_device *sbdev;
   966          struct device_node *node;
   967  
   968          for_each_child_of_node(ctrl->dev->of_node, node) {
 > 969                  sbdev = of_slim_get_device(&ctrl->ctrl, node);
   970                  if (!sbdev)
   971                          continue;
   972  
   973                  if (slim_get_logical_addr(sbdev))
   974                          dev_err(ctrl->dev, "Failed to get logical 
address\n");
   975          }
   976  }
   977  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to