All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH] thunderbolt: thunderbolt: add vendor's NVM formats
Date: Sat, 06 Aug 2022 08:06:00 +0800	[thread overview]
Message-ID: <202208060712.imnSSzbl-lkp@intel.com> (raw)

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

:::::: 
:::::: Manual check reason: "low confidence static check warning: drivers/thunderbolt/nvm.c:75:17: sparse: sparse: typename in expression"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20220805092224.2536-1-Chloe_Chen@asmedia.com.tw>
References: <20220805092224.2536-1-Chloe_Chen@asmedia.com.tw>
TO: Szuying Chen <chensiying21@gmail.com>
TO: andreas.noever(a)gmail.com
TO: michael.jamet(a)intel.com
TO: mika.westerberg(a)linux.intel.com
TO: YehezkelShB(a)gmail.com
TO: linux-usb(a)vger.kernel.org
TO: linux-kernel(a)vger.kernel.org
CC: Yd_Tseng(a)asmedia.com.tw
CC: Richard_Hsu(a)asmedia.com.tw
CC: Chloe_Chen(a)asmedia.com.tw

Hi Szuying,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.19 next-20220805]
[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/Szuying-Chen/thunderbolt-thunderbolt-add-vendor-s-NVM-formats/20220805-172732
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b2a88c212e652e94f1e4b635910972ac57ba4e97
:::::: branch date: 15 hours ago
:::::: commit date: 15 hours ago
config: i386-randconfig-s001 (https://download.01.org/0day-ci/archive/20220806/202208060712.imnSSzbl-lkp(a)intel.com/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/intel-lab-lkp/linux/commit/cc64350d27db3b30e5ceef2b5d6a3c48b9a4d989
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Szuying-Chen/thunderbolt-thunderbolt-add-vendor-s-NVM-formats/20220805-172732
        git checkout cc64350d27db3b30e5ceef2b5d6a3c48b9a4d989
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/thunderbolt/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

sparse warnings: (new ones prefixed by >>)
>> drivers/thunderbolt/nvm.c:75:17: sparse: sparse: typename in expression
   drivers/thunderbolt/nvm.c:75:24: sparse: sparse: Expected ; at end of statement
   drivers/thunderbolt/nvm.c:75:24: sparse: sparse: got tb_nvm
   drivers/thunderbolt/nvm.c:109:17: sparse: sparse: typename in expression
   drivers/thunderbolt/nvm.c:109:26: sparse: sparse: Expected ; at end of statement
   drivers/thunderbolt/nvm.c:109:26: sparse: sparse: got int
   drivers/thunderbolt/nvm.c:75:17: sparse: sparse: undefined identifier 'struct'
   drivers/thunderbolt/nvm.c:79:17: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:80:28: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:81:39: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:89:17: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:94:17: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:95:17: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:97:41: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:101:45: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:105:27: sparse: sparse: undefined identifier 'nvm'
   drivers/thunderbolt/nvm.c:109:17: sparse: sparse: undefined identifier 'unsigned'
   drivers/thunderbolt/nvm.c:116:17: sparse: sparse: undefined identifier 'image_size'
   drivers/thunderbolt/nvm.c:117:21: sparse: sparse: undefined identifier 'image_size'
   drivers/thunderbolt/nvm.c:121:57: sparse: sparse: undefined identifier 'image_size'

vim +75 drivers/thunderbolt/nvm.c

cc64350d27db3b Szuying Chen 2022-08-05   62  
cc64350d27db3b Szuying Chen 2022-08-05   63  static int tb_nvm_vendor_apply(struct tb_switch *sw, unsigned int handle)
cc64350d27db3b Szuying Chen 2022-08-05   64  {
cc64350d27db3b Szuying Chen 2022-08-05   65  	int ret = 0;
cc64350d27db3b Szuying Chen 2022-08-05   66  
cc64350d27db3b Szuying Chen 2022-08-05   67  	switch (handle) {
cc64350d27db3b Szuying Chen 2022-08-05   68  	case 0:
cc64350d27db3b Szuying Chen 2022-08-05   69  		if (sw->no_nvm_upgrade)
cc64350d27db3b Szuying Chen 2022-08-05   70  			sw->no_nvm_upgrade = false;
cc64350d27db3b Szuying Chen 2022-08-05   71  
cc64350d27db3b Szuying Chen 2022-08-05   72  		break;
cc64350d27db3b Szuying Chen 2022-08-05   73  
cc64350d27db3b Szuying Chen 2022-08-05   74  	case 1:
cc64350d27db3b Szuying Chen 2022-08-05  @75  		struct tb_nvm *nvm;
cc64350d27db3b Szuying Chen 2022-08-05   76  		u32 val;
cc64350d27db3b Szuying Chen 2022-08-05   77  		u32 nvm_size;
cc64350d27db3b Szuying Chen 2022-08-05   78  
cc64350d27db3b Szuying Chen 2022-08-05   79  		nvm = tb_nvm_alloc(&sw->dev);
cc64350d27db3b Szuying Chen 2022-08-05   80  		if (IS_ERR(nvm)) {
cc64350d27db3b Szuying Chen 2022-08-05   81  			ret = PTR_ERR(nvm);
cc64350d27db3b Szuying Chen 2022-08-05   82  			break;
cc64350d27db3b Szuying Chen 2022-08-05   83  		}
cc64350d27db3b Szuying Chen 2022-08-05   84  
cc64350d27db3b Szuying Chen 2022-08-05   85  		ret = usb4_switch_nvm_read(sw, NVM_Date, &val, sizeof(val));
cc64350d27db3b Szuying Chen 2022-08-05   86  		if (ret)
cc64350d27db3b Szuying Chen 2022-08-05   87  			break;
cc64350d27db3b Szuying Chen 2022-08-05   88  
cc64350d27db3b Szuying Chen 2022-08-05   89  		nvm->vendor.date = (((u8)val) << 0x10 | ((u8)(val >> 0x8)) << 0x8 | (u8)(val >> 0x10));
cc64350d27db3b Szuying Chen 2022-08-05   90  		ret = usb4_switch_nvm_read(sw, NVM_CUSTOMER_ID, &val, sizeof(val));
cc64350d27db3b Szuying Chen 2022-08-05   91  		if (ret)
cc64350d27db3b Szuying Chen 2022-08-05   92  			break;
cc64350d27db3b Szuying Chen 2022-08-05   93  
cc64350d27db3b Szuying Chen 2022-08-05   94  		nvm->vendor.customerID = (((u8)val) << 0x8 | ((u8)(val >> 0x8)));
cc64350d27db3b Szuying Chen 2022-08-05   95  		nvm->vendor.version = (u8)(val >> 0x10);
cc64350d27db3b Szuying Chen 2022-08-05   96  		nvm_size = SZ_512K;
cc64350d27db3b Szuying Chen 2022-08-05   97  		ret = tb_nvm_add_active(nvm, nvm_size, tb_switch_nvm_read);
cc64350d27db3b Szuying Chen 2022-08-05   98  		if (ret)
cc64350d27db3b Szuying Chen 2022-08-05   99  			break;
cc64350d27db3b Szuying Chen 2022-08-05  100  
cc64350d27db3b Szuying Chen 2022-08-05  101  		ret = tb_nvm_add_non_active(nvm, NVM_MAX_SIZE, tb_switch_nvm_write);
cc64350d27db3b Szuying Chen 2022-08-05  102  		if (ret)
cc64350d27db3b Szuying Chen 2022-08-05  103  			break;
cc64350d27db3b Szuying Chen 2022-08-05  104  
cc64350d27db3b Szuying Chen 2022-08-05  105  		sw->nvm = nvm;
cc64350d27db3b Szuying Chen 2022-08-05  106  		break;
cc64350d27db3b Szuying Chen 2022-08-05  107  
cc64350d27db3b Szuying Chen 2022-08-05  108  	case 2:
cc64350d27db3b Szuying Chen 2022-08-05  109  		unsigned int image_size;
cc64350d27db3b Szuying Chen 2022-08-05  110  		const u8 *buf = sw->nvm->buf;
cc64350d27db3b Szuying Chen 2022-08-05  111  
cc64350d27db3b Szuying Chen 2022-08-05  112  		if (!buf) {
cc64350d27db3b Szuying Chen 2022-08-05  113  			ret = -EINVAL;
cc64350d27db3b Szuying Chen 2022-08-05  114  			break;
cc64350d27db3b Szuying Chen 2022-08-05  115  		}
cc64350d27db3b Szuying Chen 2022-08-05  116  		image_size = sw->nvm->buf_data_size;
cc64350d27db3b Szuying Chen 2022-08-05  117  		if (image_size < NVM_MIN_SIZE || image_size > NVM_MAX_SIZE) {
cc64350d27db3b Szuying Chen 2022-08-05  118  			ret = -EINVAL;
cc64350d27db3b Szuying Chen 2022-08-05  119  			break;
cc64350d27db3b Szuying Chen 2022-08-05  120  		}
cc64350d27db3b Szuying Chen 2022-08-05  121  		ret = usb4_switch_nvm_write(sw, 0, buf, image_size);
cc64350d27db3b Szuying Chen 2022-08-05  122  		if (!ret)
cc64350d27db3b Szuying Chen 2022-08-05  123  			sw->nvm->flushed = true;
cc64350d27db3b Szuying Chen 2022-08-05  124  
cc64350d27db3b Szuying Chen 2022-08-05  125  		break;
cc64350d27db3b Szuying Chen 2022-08-05  126  
cc64350d27db3b Szuying Chen 2022-08-05  127  	default:
cc64350d27db3b Szuying Chen 2022-08-05  128  		break;
cc64350d27db3b Szuying Chen 2022-08-05  129  	}
cc64350d27db3b Szuying Chen 2022-08-05  130  
cc64350d27db3b Szuying Chen 2022-08-05  131  	if ((handle == 1) && (ret != 0))
cc64350d27db3b Szuying Chen 2022-08-05  132  		tb_nvm_free(sw->nvm);
cc64350d27db3b Szuying Chen 2022-08-05  133  
cc64350d27db3b Szuying Chen 2022-08-05  134  	return ret;
cc64350d27db3b Szuying Chen 2022-08-05  135  }
cc64350d27db3b Szuying Chen 2022-08-05  136  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-08-06  0:06 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-06  0:06 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-08-15  4:11 [PATCH] thunderbolt: thunderbolt: add vendor's NVM formats Szuying Chen
2022-08-15  6:38 ` Greg KH
2022-08-15  6:40 ` Greg KH
2022-08-15 13:12 ` kernel test robot
2022-08-15 17:28 ` Limonciello, Mario
2022-08-15 19:20   ` Limonciello, Mario
2022-08-16  4:50 ` kernel test robot
2022-08-10 10:17 Szuying Chen
2022-08-10 10:41 ` Greg KH
2022-08-10 10:41 ` Greg KH
2022-08-10 10:56 ` Mika Westerberg
2022-08-05  9:22 Szuying Chen
2022-08-05  9:31 ` Greg KH
2022-08-05 10:20 ` Mika Westerberg
2022-08-07  9:40 ` kernel test robot
2022-08-07 10:33 ` kernel 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=202208060712.imnSSzbl-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.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.