All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Balakrishna Godavarthi <bgodavar@codeaurora.org>
Cc: kbuild-all@01.org, marcel@holtmann.org, johan.hedberg@gmail.com,
	linux-bluetooth@vger.kernel.org, rtatiya@codeaurora.org,
	hemantg@codeaurora.org, linux-arm-msm@vger.kernel.org,
	Balakrishna Godavarthi <bgodavar@codeaurora.org>
Subject: Re: [PATCH v4 2/3] Bluetooth: hci_qca: Add support for Qualcomm Bluetooth chip wcn3990.
Date: Sun, 6 May 2018 03:21:51 +0800	[thread overview]
Message-ID: <201805060147.kINUg1XC%fengguang.wu@intel.com> (raw)
In-Reply-To: <1525448106-18616-3-git-send-email-bgodavar@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 10191 bytes --]

Hi Balakrishna,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on bluetooth-next/master]
[also build test ERROR on next-20180504]
[cannot apply to bluetooth/master v4.17-rc3]
[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/Balakrishna-Godavarthi/dt-bindings-net-bluetooth-Add-device-tree-bindings-for-QTI-chip-wcn3990/20180506-004430
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: x86_64-randconfig-x014-201818 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the linux-review/Balakrishna-Godavarthi/dt-bindings-net-bluetooth-Add-device-tree-bindings-for-QTI-chip-wcn3990/20180506-004430 HEAD 8ea35b4e8656709a14f0170188ef9004ac96b4ac builds fine.
      It only hurts bisectibility.

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

   drivers//bluetooth/hci_qca.c: In function 'qca_open':
>> drivers//bluetooth/hci_qca.c:512:4: error: implicit declaration of function 'btqca_power_setup'; did you mean 'ether_setup'? [-Werror=implicit-function-declaration]
       btqca_power_setup(true);
       ^~~~~~~~~~~~~~~~~
       ether_setup
   drivers//bluetooth/hci_qca.c: In function 'qca_close':
>> drivers//bluetooth/hci_qca.c:604:4: error: implicit declaration of function 'qca_btsoc_cleanup'; did you mean 'hci_sock_cleanup'? [-Werror=implicit-function-declaration]
       qca_btsoc_cleanup(hu->hdev);
       ^~~~~~~~~~~~~~~~~
       hci_sock_cleanup
   drivers//bluetooth/hci_qca.c: In function 'qca_send_poweron_cmd':
>> drivers//bluetooth/hci_qca.c:988:8: error: 'CHEROKEE_POWERON_PULSE' undeclared (first use in this function)
     cmd = CHEROKEE_POWERON_PULSE;
           ^~~~~~~~~~~~~~~~~~~~~~
   drivers//bluetooth/hci_qca.c:988:8: note: each undeclared identifier is reported only once for each function it appears in
   drivers//bluetooth/hci_qca.c: In function 'qca_send_poweroff_cmd':
>> drivers//bluetooth/hci_qca.c:1018:8: error: 'CHEROKEE_POWEROFF_PULSE' undeclared (first use in this function)
     cmd = CHEROKEE_POWEROFF_PULSE;
           ^~~~~~~~~~~~~~~~~~~~~~~
   drivers//bluetooth/hci_qca.c: In function 'qca_setup':
>> drivers//bluetooth/hci_qca.c:1144:9: error: implicit declaration of function 'rome_patch_ver_req'; did you mean 'blk_path_error'? [-Werror=implicit-function-declaration]
      ret = rome_patch_ver_req(hdev, &soc_ver);
            ^~~~~~~~~~~~~~~~~~
            blk_path_error
>> drivers//bluetooth/hci_qca.c:1182:9: error: implicit declaration of function 'qca_uart_setup_cherokee'; did you mean 'qca_uart_setup_rome'? [-Werror=implicit-function-declaration]
      ret = qca_uart_setup_cherokee(hdev, qca_baudrate, &soc_ver);
            ^~~~~~~~~~~~~~~~~~~~~~~
            qca_uart_setup_rome
   drivers//bluetooth/hci_qca.c: At top level:
>> drivers//bluetooth/hci_qca.c:1308:5: error: conflicting types for 'btqca_power_setup'
    int btqca_power_setup(bool on)
        ^~~~~~~~~~~~~~~~~
   drivers//bluetooth/hci_qca.c:1309:1: note: an argument type that has a default promotion can't match an empty parameter name list declaration
    {
    ^
   drivers//bluetooth/hci_qca.c:512:4: note: previous implicit declaration of 'btqca_power_setup' was here
       btqca_power_setup(true);
       ^~~~~~~~~~~~~~~~~
   drivers//bluetooth/hci_qca.c: In function 'btqca_power_setup':
>> drivers//bluetooth/hci_qca.c:1346:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
      if (vregs[i].load_ua)
      ^~
   drivers//bluetooth/hci_qca.c:1349:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
       btqca_disable_regulators(i+1, vregs);
       ^~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +512 drivers//bluetooth/hci_qca.c

   442	
   443	/* Initialize protocol */
   444	static int qca_open(struct hci_uart *hu)
   445	{
   446		struct qca_serdev *qcadev;
   447		struct qca_data *qca;
   448	
   449		BT_DBG("hu %p qca_open", hu);
   450	
   451		qca = kzalloc(sizeof(struct qca_data), GFP_ATOMIC);
   452		if (!qca)
   453			return -ENOMEM;
   454	
   455		skb_queue_head_init(&qca->txq);
   456		skb_queue_head_init(&qca->tx_wait_q);
   457		spin_lock_init(&qca->hci_ibs_lock);
   458		qca->workqueue = alloc_ordered_workqueue("qca_wq", 0);
   459		if (!qca->workqueue) {
   460			BT_ERR("QCA Workqueue not initialized properly");
   461			kfree(qca);
   462			return -ENOMEM;
   463		}
   464	
   465		INIT_WORK(&qca->ws_awake_rx, qca_wq_awake_rx);
   466		INIT_WORK(&qca->ws_awake_device, qca_wq_awake_device);
   467		INIT_WORK(&qca->ws_rx_vote_off, qca_wq_serial_rx_clock_vote_off);
   468		INIT_WORK(&qca->ws_tx_vote_off, qca_wq_serial_tx_clock_vote_off);
   469	
   470		qca->hu = hu;
   471	
   472		/* Assume we start with both sides asleep -- extra wakes OK */
   473		qca->tx_ibs_state = HCI_IBS_TX_ASLEEP;
   474		qca->rx_ibs_state = HCI_IBS_RX_ASLEEP;
   475	
   476		/* clocks actually on, but we start votes off */
   477		qca->tx_vote = false;
   478		qca->rx_vote = false;
   479		qca->flags = 0;
   480	
   481		qca->ibs_sent_wacks = 0;
   482		qca->ibs_sent_slps = 0;
   483		qca->ibs_sent_wakes = 0;
   484		qca->ibs_recv_wacks = 0;
   485		qca->ibs_recv_slps = 0;
   486		qca->ibs_recv_wakes = 0;
   487		qca->vote_last_jif = jiffies;
   488		qca->vote_on_ms = 0;
   489		qca->vote_off_ms = 0;
   490		qca->votes_on = 0;
   491		qca->votes_off = 0;
   492		qca->tx_votes_on = 0;
   493		qca->tx_votes_off = 0;
   494		qca->rx_votes_on = 0;
   495		qca->rx_votes_off = 0;
   496	
   497		hu->priv = qca;
   498	
   499		timer_setup(&qca->wake_retrans_timer, hci_ibs_wake_retrans_timeout, 0);
   500		qca->wake_retrans = IBS_WAKE_RETRANS_TIMEOUT_MS;
   501	
   502		timer_setup(&qca->tx_idle_timer, hci_ibs_tx_idle_timeout, 0);
   503		qca->tx_idle_delay = IBS_TX_IDLE_TIMEOUT_MS;
   504	
   505		if (hu->serdev) {
   506			serdev_device_open(hu->serdev);
   507	
   508			qcadev = serdev_device_get_drvdata(hu->serdev);
   509			if (qcadev->btsoc_type == BTQCA_CHEROKEE) {
   510				hu->init_speed = qcadev->init_speed;
   511				hu->oper_speed = qcadev->oper_speed;
 > 512				btqca_power_setup(true);
   513			} else
   514				gpiod_set_value_cansleep(qcadev->bt_en, 1);
   515		}
   516	
   517		BT_DBG("HCI_UART_QCA open, tx_idle_delay=%u, wake_retrans=%u",
   518		       qca->tx_idle_delay, qca->wake_retrans);
   519	
   520		return 0;
   521	}
   522	
   523	static void qca_debugfs_init(struct hci_dev *hdev)
   524	{
   525		struct hci_uart *hu = hci_get_drvdata(hdev);
   526		struct qca_data *qca = hu->priv;
   527		struct dentry *ibs_dir;
   528		umode_t mode;
   529	
   530		if (!hdev->debugfs)
   531			return;
   532	
   533		ibs_dir = debugfs_create_dir("ibs", hdev->debugfs);
   534	
   535		/* read only */
   536		mode = S_IRUGO;
   537		debugfs_create_u8("tx_ibs_state", mode, ibs_dir, &qca->tx_ibs_state);
   538		debugfs_create_u8("rx_ibs_state", mode, ibs_dir, &qca->rx_ibs_state);
   539		debugfs_create_u64("ibs_sent_sleeps", mode, ibs_dir,
   540				   &qca->ibs_sent_slps);
   541		debugfs_create_u64("ibs_sent_wakes", mode, ibs_dir,
   542				   &qca->ibs_sent_wakes);
   543		debugfs_create_u64("ibs_sent_wake_acks", mode, ibs_dir,
   544				   &qca->ibs_sent_wacks);
   545		debugfs_create_u64("ibs_recv_sleeps", mode, ibs_dir,
   546				   &qca->ibs_recv_slps);
   547		debugfs_create_u64("ibs_recv_wakes", mode, ibs_dir,
   548				   &qca->ibs_recv_wakes);
   549		debugfs_create_u64("ibs_recv_wake_acks", mode, ibs_dir,
   550				   &qca->ibs_recv_wacks);
   551		debugfs_create_bool("tx_vote", mode, ibs_dir, &qca->tx_vote);
   552		debugfs_create_u64("tx_votes_on", mode, ibs_dir, &qca->tx_votes_on);
   553		debugfs_create_u64("tx_votes_off", mode, ibs_dir, &qca->tx_votes_off);
   554		debugfs_create_bool("rx_vote", mode, ibs_dir, &qca->rx_vote);
   555		debugfs_create_u64("rx_votes_on", mode, ibs_dir, &qca->rx_votes_on);
   556		debugfs_create_u64("rx_votes_off", mode, ibs_dir, &qca->rx_votes_off);
   557		debugfs_create_u64("votes_on", mode, ibs_dir, &qca->votes_on);
   558		debugfs_create_u64("votes_off", mode, ibs_dir, &qca->votes_off);
   559		debugfs_create_u32("vote_on_ms", mode, ibs_dir, &qca->vote_on_ms);
   560		debugfs_create_u32("vote_off_ms", mode, ibs_dir, &qca->vote_off_ms);
   561	
   562		/* read/write */
   563		mode = S_IRUGO | S_IWUSR;
   564		debugfs_create_u32("wake_retrans", mode, ibs_dir, &qca->wake_retrans);
   565		debugfs_create_u32("tx_idle_delay", mode, ibs_dir,
   566				   &qca->tx_idle_delay);
   567	}
   568	
   569	/* Flush protocol data */
   570	static int qca_flush(struct hci_uart *hu)
   571	{
   572		struct qca_data *qca = hu->priv;
   573	
   574		BT_DBG("hu %p qca flush", hu);
   575	
   576		skb_queue_purge(&qca->tx_wait_q);
   577		skb_queue_purge(&qca->txq);
   578	
   579		return 0;
   580	}
   581	
   582	/* Close protocol */
   583	static int qca_close(struct hci_uart *hu)
   584	{
   585		struct qca_serdev *qcadev;
   586		struct qca_data *qca = hu->priv;
   587	
   588		BT_DBG("hu %p qca close", hu);
   589	
   590		serial_clock_vote(HCI_IBS_VOTE_STATS_UPDATE, hu);
   591	
   592		skb_queue_purge(&qca->tx_wait_q);
   593		skb_queue_purge(&qca->txq);
   594		del_timer(&qca->tx_idle_timer);
   595		del_timer(&qca->wake_retrans_timer);
   596		destroy_workqueue(qca->workqueue);
   597		qca->hu = NULL;
   598	
   599		if (hu->serdev) {
   600			serdev_device_close(hu->serdev);
   601	
   602			qcadev = serdev_device_get_drvdata(hu->serdev);
   603			if (qcadev->btsoc_type == BTQCA_CHEROKEE)
 > 604				qca_btsoc_cleanup(hu->hdev);
   605			else
   606				gpiod_set_value_cansleep(qcadev->bt_en, 0);
   607		}
   608	
   609		kfree_skb(qca->rx_skb);
   610	
   611		hu->priv = NULL;
   612	
   613		kfree(qca);
   614	
   615		return 0;
   616	}
   617	

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26941 bytes --]

  parent reply	other threads:[~2018-05-05 19:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-04 15:35 [PATCH v4 0/3] Enable Bluetooth functionality for WCN3990 Balakrishna Godavarthi
2018-05-04 15:35 ` [PATCH v4 1/3] dt-bindings: net: bluetooth: Add device tree bindings for QTI chip wcn3990 Balakrishna Godavarthi
2018-05-04 15:35 ` [PATCH v4 2/3] Bluetooth: hci_qca: Add support for Qualcomm Bluetooth " Balakrishna Godavarthi
2018-05-05  1:17   ` Matthias Kaehlcke
2018-05-09  8:56     ` Balakrishna Godavarthi
2018-05-09  9:27     ` Balakrishna Godavarthi
2018-05-09 10:07     ` Balakrishna Godavarthi
2018-05-09 17:24       ` Matthias Kaehlcke
2018-05-10 16:01         ` Balakrishna Godavarthi
2018-05-05 19:21   ` kbuild test robot [this message]
2018-05-05 19:45   ` kbuild test robot
2018-05-05 20:11   ` [RFC PATCH] Bluetooth: hci_qca: btqca_disable_regulators() can be static kbuild test robot
2018-05-04 15:35 ` [PATCH v4 3/3] Bluetooth: btqca: Add wcn3990 firmware download support Balakrishna Godavarthi
2018-05-05 19:11   ` kbuild test robot
2018-05-05 19:14   ` kbuild test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201805060147.kINUg1XC%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=bgodavar@codeaurora.org \
    --cc=hemantg@codeaurora.org \
    --cc=johan.hedberg@gmail.com \
    --cc=kbuild-all@01.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=rtatiya@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.