All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH RFC 2/2] Bluetooth: hci_qca: use devm_clk_get_optional_enabled_with_rate()
Date: Sun, 4 Aug 2024 08:20:34 +0800	[thread overview]
Message-ID: <202408040825.VVKPcQKv-lkp@intel.com> (raw)
In-Reply-To: <20240801-clk-new-helper-v1-2-81e9338b7b17@linaro.org>

Hi Bartosz,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on 048d8cb65cde9fe7534eb4440bcfddcf406bb49c]

url:    https://github.com/intel-lab-lkp/linux/commits/Bartosz-Golaszewski/clk-provide-devm_clk_get_optional_enabled_with_rate/20240803-013509
base:   048d8cb65cde9fe7534eb4440bcfddcf406bb49c
patch link:    https://lore.kernel.org/r/20240801-clk-new-helper-v1-2-81e9338b7b17%40linaro.org
patch subject: [PATCH RFC 2/2] Bluetooth: hci_qca: use devm_clk_get_optional_enabled_with_rate()
config: i386-randconfig-013-20240804 (https://download.01.org/0day-ci/archive/20240804/202408040825.VVKPcQKv-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240804/202408040825.VVKPcQKv-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/202408040825.VVKPcQKv-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/bluetooth/hci_qca.c:2429:20: error: call to undeclared function 'devm_clk_get_optional_enabled_with_rate'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    2429 |                 qcadev->susclk = devm_clk_get_optional_enabled_with_rate(
         |                                  ^
   drivers/bluetooth/hci_qca.c:2429:20: note: did you mean 'devm_clk_get_optional_enabled'?
   include/linux/clk.h:1005:27: note: 'devm_clk_get_optional_enabled' declared here
    1005 | static inline struct clk *devm_clk_get_optional_enabled(struct device *dev,
         |                           ^
>> drivers/bluetooth/hci_qca.c:2429:18: error: incompatible integer to pointer conversion assigning to 'struct clk *' from 'int' [-Wint-conversion]
    2429 |                 qcadev->susclk = devm_clk_get_optional_enabled_with_rate(
         |                                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2430 |                                         &serdev->dev, NULL, SUSCLK_RATE_32KHZ);
         |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.


vim +/devm_clk_get_optional_enabled_with_rate +2429 drivers/bluetooth/hci_qca.c

  2299	
  2300	static int qca_serdev_probe(struct serdev_device *serdev)
  2301	{
  2302		struct qca_serdev *qcadev;
  2303		struct hci_dev *hdev;
  2304		const struct qca_device_data *data;
  2305		int err;
  2306		bool power_ctrl_enabled = true;
  2307	
  2308		qcadev = devm_kzalloc(&serdev->dev, sizeof(*qcadev), GFP_KERNEL);
  2309		if (!qcadev)
  2310			return -ENOMEM;
  2311	
  2312		qcadev->serdev_hu.serdev = serdev;
  2313		data = device_get_match_data(&serdev->dev);
  2314		serdev_device_set_drvdata(serdev, qcadev);
  2315		device_property_read_string(&serdev->dev, "firmware-name",
  2316						 &qcadev->firmware_name);
  2317		device_property_read_u32(&serdev->dev, "max-speed",
  2318					 &qcadev->oper_speed);
  2319		if (!qcadev->oper_speed)
  2320			BT_DBG("UART will pick default operating speed");
  2321	
  2322		qcadev->bdaddr_property_broken = device_property_read_bool(&serdev->dev,
  2323				"qcom,local-bd-address-broken");
  2324	
  2325		if (data)
  2326			qcadev->btsoc_type = data->soc_type;
  2327		else
  2328			qcadev->btsoc_type = QCA_ROME;
  2329	
  2330		switch (qcadev->btsoc_type) {
  2331		case QCA_WCN3988:
  2332		case QCA_WCN3990:
  2333		case QCA_WCN3991:
  2334		case QCA_WCN3998:
  2335		case QCA_WCN6750:
  2336		case QCA_WCN6855:
  2337		case QCA_WCN7850:
  2338		case QCA_QCA6390:
  2339			qcadev->bt_power = devm_kzalloc(&serdev->dev,
  2340							sizeof(struct qca_power),
  2341							GFP_KERNEL);
  2342			if (!qcadev->bt_power)
  2343				return -ENOMEM;
  2344			break;
  2345		default:
  2346			break;
  2347		}
  2348	
  2349		switch (qcadev->btsoc_type) {
  2350		case QCA_WCN6855:
  2351		case QCA_WCN7850:
  2352			if (!device_property_present(&serdev->dev, "enable-gpios")) {
  2353				/*
  2354				 * Backward compatibility with old DT sources. If the
  2355				 * node doesn't have the 'enable-gpios' property then
  2356				 * let's use the power sequencer. Otherwise, let's
  2357				 * drive everything outselves.
  2358				 */
  2359				qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
  2360									   "bluetooth");
  2361				if (IS_ERR(qcadev->bt_power->pwrseq))
  2362					return PTR_ERR(qcadev->bt_power->pwrseq);
  2363	
  2364				break;
  2365			}
  2366			fallthrough;
  2367		case QCA_WCN3988:
  2368		case QCA_WCN3990:
  2369		case QCA_WCN3991:
  2370		case QCA_WCN3998:
  2371		case QCA_WCN6750:
  2372			qcadev->bt_power->dev = &serdev->dev;
  2373			err = qca_init_regulators(qcadev->bt_power, data->vregs,
  2374						  data->num_vregs);
  2375			if (err) {
  2376				BT_ERR("Failed to init regulators:%d", err);
  2377				return err;
  2378			}
  2379	
  2380			qcadev->bt_power->vregs_on = false;
  2381	
  2382			qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
  2383						       GPIOD_OUT_LOW);
  2384			if (IS_ERR(qcadev->bt_en) &&
  2385			    (data->soc_type == QCA_WCN6750 ||
  2386			     data->soc_type == QCA_WCN6855)) {
  2387				dev_err(&serdev->dev, "failed to acquire BT_EN gpio\n");
  2388				return PTR_ERR(qcadev->bt_en);
  2389			}
  2390	
  2391			if (!qcadev->bt_en)
  2392				power_ctrl_enabled = false;
  2393	
  2394			qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
  2395						       GPIOD_IN);
  2396			if (IS_ERR(qcadev->sw_ctrl) &&
  2397			    (data->soc_type == QCA_WCN6750 ||
  2398			     data->soc_type == QCA_WCN6855 ||
  2399			     data->soc_type == QCA_WCN7850)) {
  2400				dev_err(&serdev->dev, "failed to acquire SW_CTRL gpio\n");
  2401				return PTR_ERR(qcadev->sw_ctrl);
  2402			}
  2403	
  2404			qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
  2405			if (IS_ERR(qcadev->susclk)) {
  2406				dev_err(&serdev->dev, "failed to acquire clk\n");
  2407				return PTR_ERR(qcadev->susclk);
  2408			}
  2409			break;
  2410	
  2411		case QCA_QCA6390:
  2412			qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
  2413								   "bluetooth");
  2414			if (IS_ERR(qcadev->bt_power->pwrseq))
  2415				return PTR_ERR(qcadev->bt_power->pwrseq);
  2416			break;
  2417	
  2418		default:
  2419			qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
  2420						       GPIOD_OUT_LOW);
  2421			if (IS_ERR(qcadev->bt_en)) {
  2422				dev_err(&serdev->dev, "failed to acquire enable gpio\n");
  2423				return PTR_ERR(qcadev->bt_en);
  2424			}
  2425	
  2426			if (!qcadev->bt_en)
  2427				power_ctrl_enabled = false;
  2428	
> 2429			qcadev->susclk = devm_clk_get_optional_enabled_with_rate(
  2430						&serdev->dev, NULL, SUSCLK_RATE_32KHZ);
  2431			if (IS_ERR(qcadev->susclk)) {
  2432				dev_warn(&serdev->dev, "failed to acquire clk\n");
  2433				return PTR_ERR(qcadev->susclk);
  2434			}
  2435		}
  2436		
  2437		err = hci_uart_register_device(&qcadev->serdev_hu, &qca_proto);
  2438		if (err) {
  2439			BT_ERR("serdev registration failed");
  2440			return err;
  2441		}
  2442	
  2443		hdev = qcadev->serdev_hu.hdev;
  2444	
  2445		if (power_ctrl_enabled) {
  2446			set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
  2447			hdev->shutdown = qca_power_off;
  2448		}
  2449	
  2450		if (data) {
  2451			/* Wideband speech support must be set per driver since it can't
  2452			 * be queried via hci. Same with the valid le states quirk.
  2453			 */
  2454			if (data->capabilities & QCA_CAP_WIDEBAND_SPEECH)
  2455				set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED,
  2456					&hdev->quirks);
  2457	
  2458			if (data->capabilities & QCA_CAP_VALID_LE_STATES)
  2459				set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
  2460		}
  2461	
  2462		return 0;
  2463	}
  2464	

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

      reply	other threads:[~2024-08-04  0:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-01 15:58 [PATCH RFC 0/2] clk: implement a new managed helper and add first user Bartosz Golaszewski
2024-08-01 15:58 ` [PATCH RFC 1/2] clk: provide devm_clk_get_optional_enabled_with_rate() Bartosz Golaszewski
2024-08-01 16:37   ` clk: implement a new managed helper and add first user bluez.test.bot
2024-08-03  1:04   ` [PATCH RFC 1/2] clk: provide devm_clk_get_optional_enabled_with_rate() Stephen Boyd
2024-08-01 15:58 ` [PATCH RFC 2/2] Bluetooth: hci_qca: use devm_clk_get_optional_enabled_with_rate() Bartosz Golaszewski
2024-08-04  0:20   ` kernel test robot [this message]

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=202408040825.VVKPcQKv-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=brgl@bgdev.pl \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.