From: kernel test robot <lkp@intel.com>
To: equu@openmail.cc, lpieralisi@kernel.org, toke@toke.dk, kvalo@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, linux-pci@vger.kernel.org,
robh@kernel.org, linux-wireless@vger.kernel.org,
ath10k@lists.infradead.org, equu@openmail.cc,
Bjorn Helgaas <helgaas@kernel.org>
Subject: Re: [PATCH v3 1/3] PCI: of: Match pci devices or drivers against OF DT nodes
Date: Fri, 3 Feb 2023 16:23:52 +0800 [thread overview]
Message-ID: <202302031611.JepssFdR-lkp@intel.com> (raw)
In-Reply-To: <20230202075524.2911058-2-equu@openmail.cc>
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on helgaas-pci/next]
[also build test ERROR on helgaas-pci/for-linus wireless-next/main wireless/main linus/master v6.2-rc6 next-20230203]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-165536
base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
patch link: https://lore.kernel.org/r/20230202075524.2911058-2-equu%40openmail.cc
patch subject: [PATCH v3 1/3] PCI: of: Match pci devices or drivers against OF DT nodes
config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20230203/202302031611.JepssFdR-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/1c1bc10b9cc6f7a71ba1fb7bdc505195a2c3e759
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-165536
git checkout 1c1bc10b9cc6f7a71ba1fb7bdc505195a2c3e759
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 olddefconfig
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/pci/of.c: In function 'of_pci_compat_to_device_id':
>> drivers/pci/of.c:296:25: error: expected ';' before '}' token
296 | return 0
| ^
| ;
297 | }
| ~
drivers/pci/of.c:319:25: error: expected ';' before '}' token
319 | return 0
| ^
| ;
320 | }
| ~
drivers/pci/of.c:330:25: error: expected ';' before '}' token
330 | return 0
| ^
| ;
331 | }
| ~
>> drivers/pci/of.c:346:25: error: expected ';' before 'compat'
346 | return 0
| ^
| ;
347 |
348 | compat++;
| ~~~~~~
vim +296 drivers/pci/of.c
255
256 /**
257 * of_pci_compat_to_device_id() - Decode an OF compatibility string into a
258 * pci_device_id structure.
259 * @compat: the compatibility string to decode, could be NULL
260 * @id: pointer to a struct pci_device_id, to store the result
261 * @rev: pointer to output revision info, PCI_ANY_ID if no revision in @compat
262 * @req_pcie: pointer to output whether @compat mandates PCIe compatibility
263 *
264 * returns 0 when success, -EINVAL when failed.
265 */
266 int of_pci_compat_to_device_id(const char *compat, struct pci_device_id *id,
267 u32 *rev, u32 *req_pcie)
268 {
269 union {
270 u8 u8;
271 u16 u16;
272 u32 u32;
273 } res = {0};
274 *req_pcie = 0;
275 *rev = PCI_ANY_ID;
276 if (!compat || strncasecmp(compat, "pci", 3) != 0)
277 return -EINVAL;
278 compat += 3;
279
280 if (strncasecmp(compat, "class,", 6) == 0) {
281 /* pciclass,CCSSPP */
282 compat += 6;
283 if ((strlen(compat) < 4)
284 || kstrtouint(compat, 16, &id->class))
285 return -EINVAL;
286 if (id->class < 0x10000) {
287 id->class <<= 8;
288 id->class_mask = 0xFFFF00;
289 } else {
290 id->class_mask = PCI_ANY_ID;
291 }
292 id->vendor = PCI_ANY_ID;
293 id->device = PCI_ANY_ID;
294 id->subvendor = PCI_ANY_ID;
295 id->subdevice = PCI_ANY_ID;
> 296 return 0
297 }
298
299 if (strncasecmp(compat, "ex", 2) == 0) {
300 /* pciex... */
301 *req_pcie = 1;
302 compat += 2;
303 }
304 if (kstrtou16(compat, 16, &res.u16))
305 return -EINVAL;
306 id->vendor = res.u16;
307 compat = strchr(compat, ',');
308 if (!compat)
309 return -EINVAL;
310 compat++;
311 if (kstrtou16(compat, 16, &res.u16))
312 return -EINVAL;
313 id->device = res.u16;
314 compat = strchr(compat, '.');
315 if (compat == NULL) {
316 /* pciVVVV,DDDD */
317 id->subvendor = PCI_ANY_ID;
318 id->subdevice = PCI_ANY_ID;
319 return 0
320 }
321
322 compat++;
323 if (strlen(compat) == 2) {
324 /* pciVVVV,DDDD.RR */
325 if (kstrtou8(compat, 16, &res.u8))
326 return -EINVAL;
327 *rev = res.u8;
328 id->subvendor = PCI_ANY_ID;
329 id->subdevice = PCI_ANY_ID;
330 return 0
331 }
332
333 if (kstrtou16(compat, 16, &res.u16))
334 return -EINVAL;
335 id->subvendor = res.u16;
336 compat = strchr(compat, '.');
337 if (!compat)
338 return -EINVAL;
339 compat++;
340 if (kstrtou16(compat, 16, &res.u16))
341 return -EINVAL;
342 id->subdevice = res.u16;
343 compat = strchr(compat, '.');
344 if (compat == NULL)
345 /* pciVVVV,DDDD.SSSS.ssss */
> 346 return 0
347
348 compat++;
349 if (strlen(compat) == 2) {
350 /* pciVVVV,DDDD.SSSS.ssss.RR */
351 if (kstrtou8(compat, 16, &res.u8))
352 return -EINVAL;
353 *rev = res.u8;
354 }
355 return 0;
356 }
357
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: equu@openmail.cc, lpieralisi@kernel.org, toke@toke.dk, kvalo@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, linux-pci@vger.kernel.org,
robh@kernel.org, linux-wireless@vger.kernel.org,
ath10k@lists.infradead.org, equu@openmail.cc,
Bjorn Helgaas <helgaas@kernel.org>
Subject: Re: [PATCH v3 1/3] PCI: of: Match pci devices or drivers against OF DT nodes
Date: Fri, 3 Feb 2023 16:23:52 +0800 [thread overview]
Message-ID: <202302031611.JepssFdR-lkp@intel.com> (raw)
In-Reply-To: <20230202075524.2911058-2-equu@openmail.cc>
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on helgaas-pci/next]
[also build test ERROR on helgaas-pci/for-linus wireless-next/main wireless/main linus/master v6.2-rc6 next-20230203]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-165536
base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
patch link: https://lore.kernel.org/r/20230202075524.2911058-2-equu%40openmail.cc
patch subject: [PATCH v3 1/3] PCI: of: Match pci devices or drivers against OF DT nodes
config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20230203/202302031611.JepssFdR-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/1c1bc10b9cc6f7a71ba1fb7bdc505195a2c3e759
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-165536
git checkout 1c1bc10b9cc6f7a71ba1fb7bdc505195a2c3e759
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 olddefconfig
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/pci/of.c: In function 'of_pci_compat_to_device_id':
>> drivers/pci/of.c:296:25: error: expected ';' before '}' token
296 | return 0
| ^
| ;
297 | }
| ~
drivers/pci/of.c:319:25: error: expected ';' before '}' token
319 | return 0
| ^
| ;
320 | }
| ~
drivers/pci/of.c:330:25: error: expected ';' before '}' token
330 | return 0
| ^
| ;
331 | }
| ~
>> drivers/pci/of.c:346:25: error: expected ';' before 'compat'
346 | return 0
| ^
| ;
347 |
348 | compat++;
| ~~~~~~
vim +296 drivers/pci/of.c
255
256 /**
257 * of_pci_compat_to_device_id() - Decode an OF compatibility string into a
258 * pci_device_id structure.
259 * @compat: the compatibility string to decode, could be NULL
260 * @id: pointer to a struct pci_device_id, to store the result
261 * @rev: pointer to output revision info, PCI_ANY_ID if no revision in @compat
262 * @req_pcie: pointer to output whether @compat mandates PCIe compatibility
263 *
264 * returns 0 when success, -EINVAL when failed.
265 */
266 int of_pci_compat_to_device_id(const char *compat, struct pci_device_id *id,
267 u32 *rev, u32 *req_pcie)
268 {
269 union {
270 u8 u8;
271 u16 u16;
272 u32 u32;
273 } res = {0};
274 *req_pcie = 0;
275 *rev = PCI_ANY_ID;
276 if (!compat || strncasecmp(compat, "pci", 3) != 0)
277 return -EINVAL;
278 compat += 3;
279
280 if (strncasecmp(compat, "class,", 6) == 0) {
281 /* pciclass,CCSSPP */
282 compat += 6;
283 if ((strlen(compat) < 4)
284 || kstrtouint(compat, 16, &id->class))
285 return -EINVAL;
286 if (id->class < 0x10000) {
287 id->class <<= 8;
288 id->class_mask = 0xFFFF00;
289 } else {
290 id->class_mask = PCI_ANY_ID;
291 }
292 id->vendor = PCI_ANY_ID;
293 id->device = PCI_ANY_ID;
294 id->subvendor = PCI_ANY_ID;
295 id->subdevice = PCI_ANY_ID;
> 296 return 0
297 }
298
299 if (strncasecmp(compat, "ex", 2) == 0) {
300 /* pciex... */
301 *req_pcie = 1;
302 compat += 2;
303 }
304 if (kstrtou16(compat, 16, &res.u16))
305 return -EINVAL;
306 id->vendor = res.u16;
307 compat = strchr(compat, ',');
308 if (!compat)
309 return -EINVAL;
310 compat++;
311 if (kstrtou16(compat, 16, &res.u16))
312 return -EINVAL;
313 id->device = res.u16;
314 compat = strchr(compat, '.');
315 if (compat == NULL) {
316 /* pciVVVV,DDDD */
317 id->subvendor = PCI_ANY_ID;
318 id->subdevice = PCI_ANY_ID;
319 return 0
320 }
321
322 compat++;
323 if (strlen(compat) == 2) {
324 /* pciVVVV,DDDD.RR */
325 if (kstrtou8(compat, 16, &res.u8))
326 return -EINVAL;
327 *rev = res.u8;
328 id->subvendor = PCI_ANY_ID;
329 id->subdevice = PCI_ANY_ID;
330 return 0
331 }
332
333 if (kstrtou16(compat, 16, &res.u16))
334 return -EINVAL;
335 id->subvendor = res.u16;
336 compat = strchr(compat, '.');
337 if (!compat)
338 return -EINVAL;
339 compat++;
340 if (kstrtou16(compat, 16, &res.u16))
341 return -EINVAL;
342 id->subdevice = res.u16;
343 compat = strchr(compat, '.');
344 if (compat == NULL)
345 /* pciVVVV,DDDD.SSSS.ssss */
> 346 return 0
347
348 compat++;
349 if (strlen(compat) == 2) {
350 /* pciVVVV,DDDD.SSSS.ssss.RR */
351 if (kstrtou8(compat, 16, &res.u8))
352 return -EINVAL;
353 *rev = res.u8;
354 }
355 return 0;
356 }
357
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-02-03 8:25 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-07 15:14 [PATCH] pci: Add functions to match pci dev or driver against OF DT node Mad Horse
2023-01-10 15:24 ` Bjorn Helgaas
2023-01-17 9:27 ` [PATCH 1/3] PCI: of: Match pci devices or drivers against OF DT nodes Edward Chow
2023-01-17 9:27 ` Edward Chow
2023-01-17 9:27 ` [PATCH 2/3] wifi: ath9k: stop loading incompatible DT cal data Edward Chow
2023-01-17 9:27 ` Edward Chow
2023-01-17 19:46 ` Bjorn Helgaas
2023-01-17 19:46 ` Bjorn Helgaas
2023-02-01 3:02 ` Mad Horse
2023-02-01 3:02 ` Mad Horse
2023-02-01 21:43 ` Bjorn Helgaas
2023-02-01 21:43 ` Bjorn Helgaas
2023-02-02 4:18 ` [PATCH v2 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-02 4:18 ` equu
2023-02-02 4:18 ` [PATCH v2 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-02 4:18 ` equu
2023-02-02 4:18 ` [PATCH v2 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-02 4:18 ` equu
2023-02-02 4:18 ` [PATCH v2 3/3] wifi: ath10k: only load compatible " equu
2023-02-02 4:18 ` equu
2023-02-02 7:26 ` kernel test robot
2023-02-02 7:26 ` kernel test robot
2023-02-02 7:55 ` [PATCH v3 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-02 7:55 ` equu
2023-02-02 7:55 ` [PATCH v3 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-02 7:55 ` equu
2023-02-03 8:23 ` kernel test robot [this message]
2023-02-03 8:23 ` kernel test robot
2023-02-02 7:55 ` [PATCH v3 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-02 7:55 ` equu
2023-02-03 9:56 ` kernel test robot
2023-02-03 9:56 ` kernel test robot
2023-02-02 7:55 ` [PATCH v3 3/3] wifi: ath10k: only load compatible " equu
2023-02-02 7:55 ` equu
2023-02-03 11:38 ` kernel test robot
2023-02-03 11:38 ` kernel test robot
2023-02-03 8:37 ` [PATCH v4 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-03 8:37 ` equu
2023-02-03 8:37 ` [PATCH v4 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-03 8:37 ` equu
2023-02-03 8:37 ` [PATCH v4 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-03 8:37 ` equu
2023-02-03 8:37 ` [PATCH v4 3/3] wifi: ath10k: only load compatible " equu
2023-02-03 8:37 ` equu
2023-02-03 10:48 ` [PATCH v5 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-03 10:48 ` equu
2023-02-03 10:48 ` [PATCH v5 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-03 10:48 ` equu
2023-02-03 10:48 ` [PATCH v5 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-03 10:48 ` equu
2023-02-03 10:48 ` [PATCH v5 3/3] wifi: ath10k: only load compatible " equu
2023-02-03 10:48 ` equu
2023-02-03 15:57 ` Rob Herring
2023-02-03 15:57 ` Rob Herring
2023-02-03 17:15 ` equu
2023-02-03 17:15 ` equu
2023-02-03 18:45 ` Rob Herring
2023-02-03 18:45 ` Rob Herring
2023-02-04 4:26 ` equu
2023-02-04 4:26 ` equu
2023-02-09 4:50 ` [PATCH v6 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-09 4:50 ` equu
2023-02-09 4:50 ` [PATCH v6 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-09 4:50 ` equu
2023-02-09 4:50 ` [PATCH v6 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-09 4:50 ` equu
2023-02-09 4:50 ` [PATCH v6 3/3] wifi: ath10k: only load compatible " equu
2023-02-09 4:50 ` equu
2023-02-09 16:09 ` Rob Herring
2023-02-09 16:09 ` Rob Herring
2023-01-17 9:28 ` [PATCH " Edward Chow
2023-01-17 9:28 ` Edward Chow
2023-01-17 10:01 ` [PATCH 1/3] PCI: of: Match pci devices or drivers against OF DT nodes Mad Horse
2023-01-17 10:01 ` Mad Horse
2023-01-17 10:02 ` [PATCH 2/3] wifi: ath9k: stop loading incompatible DT cal data Mad Horse
2023-01-17 10:02 ` Mad Horse
2023-01-17 10:02 ` [PATCH 3/3] wifi: ath10k: only load compatible " Mad Horse
2023-01-17 10:02 ` Mad Horse
2023-01-17 10:29 ` [PATCH 1/3] PCI: of: Match pci devices or drivers against OF DT nodes Mad Horse
2023-01-17 10:29 ` Mad Horse
2023-01-21 10:00 ` [PATCH 2/3] wifi: ath9k: stop loading incompatible DT cal data persmule
2023-01-21 10:00 ` persmule
2023-01-21 10:06 ` [PATCH 3/3] wifi: ath10k: only load compatible " persmule
2023-01-21 10:06 ` persmule
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=202302031611.JepssFdR-lkp@intel.com \
--to=lkp@intel.com \
--cc=ath10k@lists.infradead.org \
--cc=equu@openmail.cc \
--cc=helgaas@kernel.org \
--cc=kvalo@kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=robh@kernel.org \
--cc=toke@toke.dk \
/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.