Re: [PATCH 3/4] Bluetooth: btintel: Add helper functions to parse firmware name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kiran,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on next-20200611]
[cannot apply to bluetooth/master v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Kiran-K/Add-support-for-new-generation-Intel-controllers/20200611-194619
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: nds32-randconfig-r014-20200612 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

In file included from ./arch/nds32/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/nds32/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from drivers/bluetooth/btintel.c:9:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/nds32/include/asm/memory.h:82:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
82 | #define pfn_valid(pfn)  ((pfn) >= PHYS_PFN_OFFSET && (pfn) < (PHYS_PFN_OFFSET + max_mapnr))
|                                ^~
include/asm-generic/bug.h:139:27: note: in definition of macro 'WARN_ON_ONCE'
139 |  int __ret_warn_once = !!(condition);            |                           ^~~~~~~~~
include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid'
352 |  if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
|                   ^~~~~~~~~
drivers/bluetooth/btintel.c: At top level:
drivers/bluetooth/btintel.c:229:6: warning: no previous prototype for 'btintel_boot_info' [-Wmissing-prototypes]
229 | void btintel_boot_info(struct hci_dev *hdev,
|      ^~~~~~~~~~~~~~~~~
drivers/bluetooth/btintel.c:252:6: warning: no previous prototype for 'btintel_boot_info_tlv' [-Wmissing-prototypes]
252 | void btintel_boot_info_tlv(struct hci_dev *hdev,
|      ^~~~~~~~~~~~~~~~~~~~~
<<                  from drivers/bluetooth/btintel.c:9:
>> drivers/bluetooth/btintel.c:385:6: warning: no previous prototype for 'btintel_get_fw_name' [-Wmissing-prototypes]
385 | bool btintel_get_fw_name(struct intel_version *ver,
|      ^~~~~~~~~~~~~~~~~~~
<<                  from drivers/bluetooth/btintel.c:9:
>> drivers/bluetooth/btintel.c:439:6: warning: no previous prototype for 'btintel_get_fw_name_tlv' [-Wmissing-prototypes]
439 | void btintel_get_fw_name_tlv(struct intel_version_tlv *ver,
|      ^~~~~~~~~~~~~~~~~~~~~~~

vim +/btintel_get_fw_name +385 drivers/bluetooth/btintel.c

   384	
 > 385	bool btintel_get_fw_name(struct intel_version *ver,
   386				 struct intel_boot_params *params,
   387				 char *fw_name, size_t len,
   388				 const char *suffix)
   389	{
   390		/* This is for legacy HCI_Intel_Read_Version command.
   391		 *
   392		 * With this Intel bootloader only the hardware variant and device
   393		 * revision information are used to select the right firmware for SfP
   394		 * and WsP.
   395		 *
   396		 * The firmware filename is ibt-<hw_variant>-<dev_revid>.sfi.
   397		 *
   398		 * Currently the supported hardware variants are:
   399		 *   11 (0x0b) for iBT3.0 (LnP/SfP)
   400		 *   12 (0x0c) for iBT3.5 (WsP)
   401		 *
   402		 * For ThP/JfP and for future SKU's, the FW name varies based on HW
   403		 * variant, HW revision and FW revision, as these are dependent on CNVi
   404		 * and RF Combination.
   405		 *
   406		 *   17 (0x11) for iBT3.5 (JfP)
   407		 *   18 (0x12) for iBT3.5 (ThP)
   408		 *
   409		 * The firmware file name for these will be
   410		 * ibt-<hw_variant>-<hw_revision>-<fw_revision>.sfi.
   411		 *
   412		 */
   413	
   414		switch (ver->hw_variant) {
   415		case 0x0b:	/* SfP */
   416		case 0x0c:	/* WsP */
   417			snprintf(fw_name, len, "intel/ibt-%u-%u.%s",
   418				 le16_to_cpu(ver->hw_variant),
   419				 le16_to_cpu(params->dev_revid),
   420				 suffix);
   421			break;
   422		case 0x11:	/* JfP */
   423		case 0x12:	/* ThP */
   424		case 0x13:	/* HrP */
   425		case 0x14:	/* CcP */
   426			snprintf(fw_name, len, "intel/ibt-%u-%u-%u.%s",
   427				 le16_to_cpu(ver->hw_variant),
   428				 le16_to_cpu(ver->hw_revision),
   429				 le16_to_cpu(ver->fw_revision),
   430				 suffix);
   431			break;
   432		default:
   433			return false;
   434		}
   435		return true;
   436	}
   437	EXPORT_SYMBOL_GPL(btintel_get_fw_name);
   438	
 > 439	void btintel_get_fw_name_tlv(struct intel_version_tlv *ver,
   440				     char *fw_name, size_t len,
   441				     const char *suffix)
   442	{
   443		/* This is for legacy HCI_Intel_Read_Version command.
   444		 * The firmware file name for these will be
   445		 * ibt-<cnvi_top type+cnvi_top step>-<cnvr_top type+cnvr_top step>
   446		 *
   447		 * Currently the supported hardware variants are:
   448		 * iBT4.2 23 (0x17) for TyP
   449		 * iBT4.2 24 (0x18) for Solar
   450		 */
   451		snprintf(fw_name, len, "intel/ibt-%04x-%04x.%s",
   452			 INTEL_CNVX_TOP_PACK_SWAB(INTEL_CNVX_TOP_TYPE(ver->cnvi_top),
   453			 INTEL_CNVX_TOP_STEP(ver->cnvi_top)),
   454			 INTEL_CNVX_TOP_PACK_SWAB(INTEL_CNVX_TOP_TYPE(ver->cnvr_top),
   455			 INTEL_CNVX_TOP_STEP(ver->cnvr_top)),
   456			 suffix);
   457	}
   458	EXPORT_SYMBOL_GPL(btintel_get_fw_name_tlv);
   459	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux