All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: oe-kbuild-all@lists.linux.dev, linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: [rafael-pm:bleeding-edge 84/106] drivers/bluetooth/btintel.c:2725:7: error: implicit declaration of function 'acpi_has_method'; did you mean 'acpi_has_watchdog'?
Date: Thu, 17 Sep 2026 22:43:08 +0800	[thread overview]
Message-ID: <202609172243.uPgiesDR-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head:   7d81fd7f1644e8172350caa5b32aa00e57050ec0
commit: b732fbc37b8eaacdb07b9463a45728b5152e1028 [84/106] ACPI: bus: Use acpi/acpi_bus.h without CONFIG_ACPI
config: sparc-randconfig-1000-20260917 (https://download.01.org/0day-ci/archive/20260917/202609172243.uPgiesDR-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260917/202609172243.uPgiesDR-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609172243.uPgiesDR-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/bluetooth/btintel.c: In function 'btintel_set_dsm_reset_method':
>> drivers/bluetooth/btintel.c:2725:7: error: implicit declaration of function 'acpi_has_method'; did you mean 'acpi_has_watchdog'? [-Werror=implicit-function-declaration]
     if (!acpi_has_method(handle, "_PRR")) {
          ^~~~~~~~~~~~~~~
          acpi_has_watchdog
   cc1: some warnings being treated as errors


vim +2725 drivers/bluetooth/btintel.c

8f0a3786f56d9fa Kiran K 2023-06-11  2705  
8f0a3786f56d9fa Kiran K 2023-06-11  2706  static void btintel_set_dsm_reset_method(struct hci_dev *hdev,
8f0a3786f56d9fa Kiran K 2023-06-11  2707  					 struct intel_version_tlv *ver_tlv)
8f0a3786f56d9fa Kiran K 2023-06-11  2708  {
8f0a3786f56d9fa Kiran K 2023-06-11  2709  	struct btintel_data *data = hci_get_priv(hdev);
8f0a3786f56d9fa Kiran K 2023-06-11  2710  	acpi_handle handle = ACPI_HANDLE(GET_HCIDEV_DEV(hdev));
8f0a3786f56d9fa Kiran K 2023-06-11  2711  	u8 reset_payload[4] = {0x01, 0x00, 0x01, 0x00};
8f0a3786f56d9fa Kiran K 2023-06-11  2712  	union acpi_object *obj, argv4;
8f0a3786f56d9fa Kiran K 2023-06-11  2713  	enum {
8f0a3786f56d9fa Kiran K 2023-06-11  2714  		RESET_TYPE_WDISABLE2,
8f0a3786f56d9fa Kiran K 2023-06-11  2715  		RESET_TYPE_VSEC
8f0a3786f56d9fa Kiran K 2023-06-11  2716  	};
8f0a3786f56d9fa Kiran K 2023-06-11  2717  
8f0a3786f56d9fa Kiran K 2023-06-11  2718  	handle = ACPI_HANDLE(GET_HCIDEV_DEV(hdev));
8f0a3786f56d9fa Kiran K 2023-06-11  2719  
8f0a3786f56d9fa Kiran K 2023-06-11  2720  	if (!handle) {
8f0a3786f56d9fa Kiran K 2023-06-11  2721  		bt_dev_dbg(hdev, "No support for bluetooth device in ACPI firmware");
8f0a3786f56d9fa Kiran K 2023-06-11  2722  		return;
8f0a3786f56d9fa Kiran K 2023-06-11  2723  	}
8f0a3786f56d9fa Kiran K 2023-06-11  2724  
8f0a3786f56d9fa Kiran K 2023-06-11 @2725  	if (!acpi_has_method(handle, "_PRR")) {
8f0a3786f56d9fa Kiran K 2023-06-11  2726  		bt_dev_err(hdev, "No support for _PRR ACPI method");
8f0a3786f56d9fa Kiran K 2023-06-11  2727  		return;
8f0a3786f56d9fa Kiran K 2023-06-11  2728  	}
8f0a3786f56d9fa Kiran K 2023-06-11  2729  
8f0a3786f56d9fa Kiran K 2023-06-11  2730  	switch (ver_tlv->cnvi_top & 0xfff) {
8f0a3786f56d9fa Kiran K 2023-06-11  2731  	case 0x910: /* GalePeak2 */
8f0a3786f56d9fa Kiran K 2023-06-11  2732  		reset_payload[2] = RESET_TYPE_VSEC;
8f0a3786f56d9fa Kiran K 2023-06-11  2733  		break;
8f0a3786f56d9fa Kiran K 2023-06-11  2734  	default:
8f0a3786f56d9fa Kiran K 2023-06-11  2735  		/* WDISABLE2 is the default reset method */
8f0a3786f56d9fa Kiran K 2023-06-11  2736  		reset_payload[2] = RESET_TYPE_WDISABLE2;
8f0a3786f56d9fa Kiran K 2023-06-11  2737  
8f0a3786f56d9fa Kiran K 2023-06-11  2738  		if (!acpi_check_dsm(handle, &btintel_guid_dsm, 0,
8f0a3786f56d9fa Kiran K 2023-06-11  2739  				    BIT(DSM_SET_WDISABLE2_DELAY))) {
8f0a3786f56d9fa Kiran K 2023-06-11  2740  			bt_dev_err(hdev, "No dsm support to set reset delay");
8f0a3786f56d9fa Kiran K 2023-06-11  2741  			return;
8f0a3786f56d9fa Kiran K 2023-06-11  2742  		}
8f0a3786f56d9fa Kiran K 2023-06-11  2743  		argv4.integer.type = ACPI_TYPE_INTEGER;
8f0a3786f56d9fa Kiran K 2023-06-11  2744  		/* delay required to toggle BT power */
8f0a3786f56d9fa Kiran K 2023-06-11  2745  		argv4.integer.value = 160;
8f0a3786f56d9fa Kiran K 2023-06-11  2746  		obj = acpi_evaluate_dsm(handle, &btintel_guid_dsm, 0,
8f0a3786f56d9fa Kiran K 2023-06-11  2747  					DSM_SET_WDISABLE2_DELAY, &argv4);
8f0a3786f56d9fa Kiran K 2023-06-11  2748  		if (!obj) {
8f0a3786f56d9fa Kiran K 2023-06-11  2749  			bt_dev_err(hdev, "Failed to call dsm to set reset delay");
8f0a3786f56d9fa Kiran K 2023-06-11  2750  			return;
8f0a3786f56d9fa Kiran K 2023-06-11  2751  		}
8f0a3786f56d9fa Kiran K 2023-06-11  2752  		ACPI_FREE(obj);
8f0a3786f56d9fa Kiran K 2023-06-11  2753  	}
8f0a3786f56d9fa Kiran K 2023-06-11  2754  
8f0a3786f56d9fa Kiran K 2023-06-11  2755  	bt_dev_info(hdev, "DSM reset method type: 0x%02x", reset_payload[2]);
8f0a3786f56d9fa Kiran K 2023-06-11  2756  
8f0a3786f56d9fa Kiran K 2023-06-11  2757  	if (!acpi_check_dsm(handle, &btintel_guid_dsm, 0,
8f0a3786f56d9fa Kiran K 2023-06-11  2758  			    DSM_SET_RESET_METHOD)) {
8f0a3786f56d9fa Kiran K 2023-06-11  2759  		bt_dev_warn(hdev, "No support for dsm to set reset method");
8f0a3786f56d9fa Kiran K 2023-06-11  2760  		return;
8f0a3786f56d9fa Kiran K 2023-06-11  2761  	}
8f0a3786f56d9fa Kiran K 2023-06-11  2762  	argv4.buffer.type = ACPI_TYPE_BUFFER;
8f0a3786f56d9fa Kiran K 2023-06-11  2763  	argv4.buffer.length = sizeof(reset_payload);
8f0a3786f56d9fa Kiran K 2023-06-11  2764  	argv4.buffer.pointer = reset_payload;
8f0a3786f56d9fa Kiran K 2023-06-11  2765  
8f0a3786f56d9fa Kiran K 2023-06-11  2766  	obj = acpi_evaluate_dsm(handle, &btintel_guid_dsm, 0,
8f0a3786f56d9fa Kiran K 2023-06-11  2767  				DSM_SET_RESET_METHOD, &argv4);
8f0a3786f56d9fa Kiran K 2023-06-11  2768  	if (!obj) {
8f0a3786f56d9fa Kiran K 2023-06-11  2769  		bt_dev_err(hdev, "Failed to call dsm to set reset method");
8f0a3786f56d9fa Kiran K 2023-06-11  2770  		return;
8f0a3786f56d9fa Kiran K 2023-06-11  2771  	}
8f0a3786f56d9fa Kiran K 2023-06-11  2772  	ACPI_FREE(obj);
8f0a3786f56d9fa Kiran K 2023-06-11  2773  	data->acpi_reset_method = btintel_acpi_reset_method;
8f0a3786f56d9fa Kiran K 2023-06-11  2774  }
8f0a3786f56d9fa Kiran K 2023-06-11  2775  

:::::: The code at line 2725 was first introduced by commit
:::::: 8f0a3786f56d9fa4b308bdbd54757a51145dbb7a Bluetooth: btintel: Add support to reset bluetooth via ACPI DSM

:::::: TO: Kiran K <kiran.k@intel.com>
:::::: CC: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-09-17 14:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202609172243.uPgiesDR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=rjw@rjwysocki.net \
    /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.