All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 5322/8646] drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c:718:4: warning: Value stored to 'res' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-02-25 19:36 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-02-25 19:36 UTC (permalink / raw)
  To: kbuild

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

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Luben Tuikov <luben.tuikov@amd.com>
CC: Alex Deucher <alexander.deucher@amd.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   44948bd49d878dad6c9707e34f4a06df73c3a800
commit: a6c40b178092f41b9d6cc8615697c14b1e5a1c3a [5322/8646] drm/amdgpu: Show IP discovery in sysfs
:::::: branch date: 17 hours ago
:::::: commit date: 11 days ago
config: riscv-randconfig-c006-20220225 (https://download.01.org/0day-ci/archive/20220226/202202260350.9eL7S2AV-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout a6c40b178092f41b9d6cc8615697c14b1e5a1c3a
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer 

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


clang-analyzer warnings: (new ones prefixed by >>)
   5 warnings generated.
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:492:19: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
                   harm->wndw.mask &= ~BIT(wndw->id);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:444:25: note: 'harm' initialized to a null pointer value
           struct nv50_head_atom *harm = NULL, *asyh = NULL;
                                  ^~~~
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:448:2: note: Taking false branch
           NV_ATOMIC(drm, "%s atomic_check\n", plane->name);
           ^
   drivers/gpu/drm/nouveau/nouveau_drv.h:272:2: note: expanded from macro 'NV_ATOMIC'
           if (drm_debug_enabled(DRM_UT_ATOMIC))                                  \
           ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:448:2: note: Loop condition is false.  Exiting loop
           NV_ATOMIC(drm, "%s atomic_check\n", plane->name);
           ^
   drivers/gpu/drm/nouveau/nouveau_drv.h:271:31: note: expanded from macro 'NV_ATOMIC'
   #define NV_ATOMIC(drm,f,a...) do {                                             \
                                 ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:453:6: note: Assuming field 'crtc' is null
           if (asyw->state.crtc) {
               ^~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:453:2: note: Taking false branch
           if (asyw->state.crtc) {
           ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:464:6: note: Assuming field 'crtc' is null
           if (armw->state.crtc) {
               ^~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:464:2: note: Taking false branch
           if (armw->state.crtc) {
           ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:471:12: note: Field 'visible' is false
           if (asyw->visible && wndw->func->xlut_set &&
                     ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:471:20: note: Left side of '&&' is false
           if (asyw->visible && wndw->func->xlut_set &&
                             ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:482:12: note: Field 'visible' is false
           if (asyw->visible) {
                     ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:482:2: note: Taking false branch
           if (asyw->visible) {
           ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:490:6: note: Assuming field 'visible' is true
           if (armw->visible) {
               ^~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:490:2: note: Taking true branch
           if (armw->visible) {
           ^
   drivers/gpu/drm/nouveau/dispnv50/wndw.c:492:19: note: Dereference of null pointer
                   harm->wndw.mask &= ~BIT(wndw->id);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:435:7: warning: Value stored to 'is_hi_req' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           bool is_hi_req = pstate == AMDGPU_XGMI_PSTATE_MAX_VEGA20;
                ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:435:7: note: Value stored to 'is_hi_req' during its initialization is never read
           bool is_hi_req = pstate == AMDGPU_XGMI_PSTATE_MAX_VEGA20;
                ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:442:2: warning: Value stored to 'request_adev' is never read [clang-analyzer-deadcode.DeadStores]
           request_adev = hive->hi_req_gpu ? hive->hi_req_gpu : adev;
           ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:442:2: note: Value stored to 'request_adev' is never read
           request_adev = hive->hi_req_gpu ? hive->hi_req_gpu : adev;
           ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:443:2: warning: Value stored to 'init_low' is never read [clang-analyzer-deadcode.DeadStores]
           init_low = hive->pstate == AMDGPU_XGMI_PSTATE_UNKNOWN;
           ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:443:2: note: Value stored to 'init_low' is never read
           init_low = hive->pstate == AMDGPU_XGMI_PSTATE_UNKNOWN;
           ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
>> drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c:718:4: warning: Value stored to 'res' is never read [clang-analyzer-deadcode.DeadStores]
                           res = kobject_add(&ip_hw_instance->kobj, NULL,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c:718:4: note: Value stored to 'res' is never read
                           res = kobject_add(&ip_hw_instance->kobj, NULL,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   fs/xfs/libxfs/xfs_rmap.c:244:2: warning: 4th function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           xfs_warn(mp,
           ^
   fs/xfs/libxfs/xfs_rmap.c:2677:9: note: Assuming the condition is false
           ASSERT(XFS_RMAP_NON_INODE_OWNER(owner) ||
                  ^
   fs/xfs/libxfs/xfs_format.h:1433:43: note: expanded from macro 'XFS_RMAP_NON_INODE_OWNER'
   #define XFS_RMAP_NON_INODE_OWNER(owner) (!!((owner) & (1ULL << 63)))
                                             ^
   fs/xfs/xfs_linux.h:215:10: note: expanded from macro 'ASSERT'
           (likely(expr) ? (void)0 : asswarn(NULL, #expr, __FILE__, __LINE__))
            ~~~~~~~^~~~~
   include/linux/compiler.h:77:40: note: expanded from macro 'likely'
   # define likely(x)      __builtin_expect(!!(x), 1)
                                               ^
   fs/xfs/libxfs/xfs_rmap.c:2677:41: note: Left side of '||' is true
           ASSERT(XFS_RMAP_NON_INODE_OWNER(owner) ||
                                                  ^
   fs/xfs/libxfs/xfs_rmap.c:2677:2: note: '?' condition is true
           ASSERT(XFS_RMAP_NON_INODE_OWNER(owner) ||
           ^
   fs/xfs/xfs_linux.h:215:3: note: expanded from macro 'ASSERT'
           (likely(expr) ? (void)0 : asswarn(NULL, #expr, __FILE__, __LINE__))
            ^
   include/linux/compiler.h:77:20: note: expanded from macro 'likely'
   # define likely(x)      __builtin_expect(!!(x), 1)
                           ^
   fs/xfs/libxfs/xfs_rmap.c:2682:6: note: Assuming 'error' is 0
           if (error)
               ^~~~~
   fs/xfs/libxfs/xfs_rmap.c:2682:2: note: Taking false branch
           if (error)
           ^
   fs/xfs/libxfs/xfs_rmap.c:2684:6: note: Assuming 'has_record' is not equal to 0
           if (!has_record) {
               ^~~~~~~~~~~
   fs/xfs/libxfs/xfs_rmap.c:2684:2: note: Taking false branch
           if (!has_record) {
           ^
   fs/xfs/libxfs/xfs_rmap.c:2689:10: note: Calling 'xfs_rmap_get_rec'
           error = xfs_rmap_get_rec(cur, &irec, &has_record);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_rmap.c:209:6: note: Assuming 'error' is 0
           if (error || !*stat)
               ^~~~~
   fs/xfs/libxfs/xfs_rmap.c:209:6: note: Left side of '||' is false
   fs/xfs/libxfs/xfs_rmap.c:209:15: note: Assuming the condition is false
           if (error || !*stat)
                        ^~~~~~
   fs/xfs/libxfs/xfs_rmap.c:209:2: note: Taking false branch
           if (error || !*stat)
           ^
   fs/xfs/libxfs/xfs_rmap.c:212:6: note: Calling 'xfs_rmap_btrec_to_irec'
           if (xfs_rmap_btrec_to_irec(rec, irec))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_rmap.c:187:24: note: '?' condition is false
           irec->rm_startblock = be32_to_cpu(rec->rmap.rm_startblock);
                                 ^
   include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
   #define be32_to_cpu __be32_to_cpu
                       ^
   include/uapi/linux/byteorder/little_endian.h:41:26: note: expanded from macro '__be32_to_cpu'
   #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                            ^
   include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
           (__builtin_constant_p((__u32)(x)) ?     \
            ^
   fs/xfs/libxfs/xfs_rmap.c:188:24: note: '?' condition is false
           irec->rm_blockcount = be32_to_cpu(rec->rmap.rm_blockcount);
                                 ^
   include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
   #define be32_to_cpu __be32_to_cpu
                       ^
   include/uapi/linux/byteorder/little_endian.h:41:26: note: expanded from macro '__be32_to_cpu'
   #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                            ^
   include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
           (__builtin_constant_p((__u32)(x)) ?     \
            ^
   fs/xfs/libxfs/xfs_rmap.c:189:19: note: '?' condition is false
           irec->rm_owner = be64_to_cpu(rec->rmap.rm_owner);
                            ^
   include/linux/byteorder/generic.h:93:21: note: expanded from macro 'be64_to_cpu'

vim +/res +718 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c

a6c40b178092f4 Luben Tuikov 2022-02-03  639  
a6c40b178092f4 Luben Tuikov 2022-02-03  640  static int amdgpu_discovery_sysfs_ips(struct amdgpu_device *adev,
a6c40b178092f4 Luben Tuikov 2022-02-03  641  				      struct ip_die_entry *ip_die_entry,
a6c40b178092f4 Luben Tuikov 2022-02-03  642  				      const size_t _ip_offset, const int num_ips)
a6c40b178092f4 Luben Tuikov 2022-02-03  643  {
a6c40b178092f4 Luben Tuikov 2022-02-03  644  	int ii, jj, kk, res;
a6c40b178092f4 Luben Tuikov 2022-02-03  645  
a6c40b178092f4 Luben Tuikov 2022-02-03  646  	DRM_DEBUG("num_ips:%d", num_ips);
a6c40b178092f4 Luben Tuikov 2022-02-03  647  
a6c40b178092f4 Luben Tuikov 2022-02-03  648  	/* Find all IPs of a given HW ID, and add their instance to
a6c40b178092f4 Luben Tuikov 2022-02-03  649  	 * #die/#hw_id/#instance/<attributes>
a6c40b178092f4 Luben Tuikov 2022-02-03  650  	 */
a6c40b178092f4 Luben Tuikov 2022-02-03  651  	for (ii = 0; ii < HW_ID_MAX; ii++) {
a6c40b178092f4 Luben Tuikov 2022-02-03  652  		struct ip_hw_id *ip_hw_id = NULL;
a6c40b178092f4 Luben Tuikov 2022-02-03  653  		size_t ip_offset = _ip_offset;
a6c40b178092f4 Luben Tuikov 2022-02-03  654  
a6c40b178092f4 Luben Tuikov 2022-02-03  655  		for (jj = 0; jj < num_ips; jj++) {
a6c40b178092f4 Luben Tuikov 2022-02-03  656  			struct ip *ip;
a6c40b178092f4 Luben Tuikov 2022-02-03  657  			struct ip_hw_instance *ip_hw_instance;
a6c40b178092f4 Luben Tuikov 2022-02-03  658  
a6c40b178092f4 Luben Tuikov 2022-02-03  659  			ip = (struct ip *)(adev->mman.discovery_bin + ip_offset);
a6c40b178092f4 Luben Tuikov 2022-02-03  660  			if (amdgpu_discovery_validate_ip(ip) ||
a6c40b178092f4 Luben Tuikov 2022-02-03  661  			    le16_to_cpu(ip->hw_id) != ii)
a6c40b178092f4 Luben Tuikov 2022-02-03  662  				goto next_ip;
a6c40b178092f4 Luben Tuikov 2022-02-03  663  
a6c40b178092f4 Luben Tuikov 2022-02-03  664  			DRM_DEBUG("match:%d @ ip_offset:%ld", ii, ip_offset);
a6c40b178092f4 Luben Tuikov 2022-02-03  665  
a6c40b178092f4 Luben Tuikov 2022-02-03  666  			/* We have a hw_id match; register the hw
a6c40b178092f4 Luben Tuikov 2022-02-03  667  			 * block if not yet registered.
a6c40b178092f4 Luben Tuikov 2022-02-03  668  			 */
a6c40b178092f4 Luben Tuikov 2022-02-03  669  			if (!ip_hw_id) {
a6c40b178092f4 Luben Tuikov 2022-02-03  670  				ip_hw_id = kzalloc(sizeof(*ip_hw_id), GFP_KERNEL);
a6c40b178092f4 Luben Tuikov 2022-02-03  671  				if (!ip_hw_id)
a6c40b178092f4 Luben Tuikov 2022-02-03  672  					return -ENOMEM;
a6c40b178092f4 Luben Tuikov 2022-02-03  673  				ip_hw_id->hw_id = ii;
a6c40b178092f4 Luben Tuikov 2022-02-03  674  
a6c40b178092f4 Luben Tuikov 2022-02-03  675  				kobject_set_name(&ip_hw_id->hw_id_kset.kobj, "%d", ii);
a6c40b178092f4 Luben Tuikov 2022-02-03  676  				ip_hw_id->hw_id_kset.kobj.kset = &ip_die_entry->ip_kset;
a6c40b178092f4 Luben Tuikov 2022-02-03  677  				ip_hw_id->hw_id_kset.kobj.ktype = &ip_hw_id_ktype;
a6c40b178092f4 Luben Tuikov 2022-02-03  678  				res = kset_register(&ip_hw_id->hw_id_kset);
a6c40b178092f4 Luben Tuikov 2022-02-03  679  				if (res) {
a6c40b178092f4 Luben Tuikov 2022-02-03  680  					DRM_ERROR("Couldn't register ip_hw_id kset");
a6c40b178092f4 Luben Tuikov 2022-02-03  681  					kfree(ip_hw_id);
a6c40b178092f4 Luben Tuikov 2022-02-03  682  					return res;
a6c40b178092f4 Luben Tuikov 2022-02-03  683  				}
a6c40b178092f4 Luben Tuikov 2022-02-03  684  				if (hw_id_names[ii]) {
a6c40b178092f4 Luben Tuikov 2022-02-03  685  					res = sysfs_create_link(&ip_die_entry->ip_kset.kobj,
a6c40b178092f4 Luben Tuikov 2022-02-03  686  								&ip_hw_id->hw_id_kset.kobj,
a6c40b178092f4 Luben Tuikov 2022-02-03  687  								hw_id_names[ii]);
a6c40b178092f4 Luben Tuikov 2022-02-03  688  					if (res) {
a6c40b178092f4 Luben Tuikov 2022-02-03  689  						DRM_ERROR("Couldn't create IP link %s in IP Die:%s\n",
a6c40b178092f4 Luben Tuikov 2022-02-03  690  							  hw_id_names[ii],
a6c40b178092f4 Luben Tuikov 2022-02-03  691  							  kobject_name(&ip_die_entry->ip_kset.kobj));
a6c40b178092f4 Luben Tuikov 2022-02-03  692  					}
a6c40b178092f4 Luben Tuikov 2022-02-03  693  				}
a6c40b178092f4 Luben Tuikov 2022-02-03  694  			}
a6c40b178092f4 Luben Tuikov 2022-02-03  695  
a6c40b178092f4 Luben Tuikov 2022-02-03  696  			/* Now register its instance.
a6c40b178092f4 Luben Tuikov 2022-02-03  697  			 */
a6c40b178092f4 Luben Tuikov 2022-02-03  698  			ip_hw_instance = kzalloc(struct_size(ip_hw_instance,
a6c40b178092f4 Luben Tuikov 2022-02-03  699  							     base_addr,
a6c40b178092f4 Luben Tuikov 2022-02-03  700  							     ip->num_base_address),
a6c40b178092f4 Luben Tuikov 2022-02-03  701  						 GFP_KERNEL);
a6c40b178092f4 Luben Tuikov 2022-02-03  702  			if (!ip_hw_instance) {
a6c40b178092f4 Luben Tuikov 2022-02-03  703  				DRM_ERROR("no memory for ip_hw_instance");
a6c40b178092f4 Luben Tuikov 2022-02-03  704  				return -ENOMEM;
a6c40b178092f4 Luben Tuikov 2022-02-03  705  			}
a6c40b178092f4 Luben Tuikov 2022-02-03  706  			ip_hw_instance->hw_id = le16_to_cpu(ip->hw_id); /* == ii */
a6c40b178092f4 Luben Tuikov 2022-02-03  707  			ip_hw_instance->num_instance = ip->number_instance;
a6c40b178092f4 Luben Tuikov 2022-02-03  708  			ip_hw_instance->major = ip->major;
a6c40b178092f4 Luben Tuikov 2022-02-03  709  			ip_hw_instance->minor = ip->minor;
a6c40b178092f4 Luben Tuikov 2022-02-03  710  			ip_hw_instance->revision = ip->revision;
a6c40b178092f4 Luben Tuikov 2022-02-03  711  			ip_hw_instance->num_base_addresses = ip->num_base_address;
a6c40b178092f4 Luben Tuikov 2022-02-03  712  
a6c40b178092f4 Luben Tuikov 2022-02-03  713  			for (kk = 0; kk < ip_hw_instance->num_base_addresses; kk++)
a6c40b178092f4 Luben Tuikov 2022-02-03  714  				ip_hw_instance->base_addr[kk] = ip->base_address[kk];
a6c40b178092f4 Luben Tuikov 2022-02-03  715  
a6c40b178092f4 Luben Tuikov 2022-02-03  716  			kobject_init(&ip_hw_instance->kobj, &ip_hw_instance_ktype);
a6c40b178092f4 Luben Tuikov 2022-02-03  717  			ip_hw_instance->kobj.kset = &ip_hw_id->hw_id_kset;
a6c40b178092f4 Luben Tuikov 2022-02-03 @718  			res = kobject_add(&ip_hw_instance->kobj, NULL,
a6c40b178092f4 Luben Tuikov 2022-02-03  719  					  "%d", ip_hw_instance->num_instance);
a6c40b178092f4 Luben Tuikov 2022-02-03  720  next_ip:
a6c40b178092f4 Luben Tuikov 2022-02-03  721  			ip_offset += sizeof(*ip) + 4 * (ip->num_base_address - 1);
a6c40b178092f4 Luben Tuikov 2022-02-03  722  		}
a6c40b178092f4 Luben Tuikov 2022-02-03  723  	}
a6c40b178092f4 Luben Tuikov 2022-02-03  724  
a6c40b178092f4 Luben Tuikov 2022-02-03  725  	return 0;
a6c40b178092f4 Luben Tuikov 2022-02-03  726  }
a6c40b178092f4 Luben Tuikov 2022-02-03  727  

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-25 19:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-25 19:36 [linux-next:master 5322/8646] drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c:718:4: warning: Value stored to 'res' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

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.