Hi Noralf,

I love your patch! Perhaps something to improve:

[auto build test WARNING on next-20180627]
[cannot apply to drm/drm-next linus/master drm-exynos/exynos-drm/for-next 
v4.18-rc2 v4.18-rc1 v4.17 v4.18-rc2]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Noralf-Tr-nnes/drm-Add-generic-fbdev-emulation/20180627-222604
config: i386-randconfig-x018-201825 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls
   Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u32
   Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR
   Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR
   Cyclomatic Complexity 1 include/linux/err.h:IS_ERR
   Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
   Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index
   Cyclomatic Complexity 67 include/linux/slab.h:kmalloc_large
   Cyclomatic Complexity 5 include/linux/slab.h:kmalloc
   Cyclomatic Complexity 1 include/linux/slab.h:kzalloc
   Cyclomatic Complexity 2 drivers/gpu/drm/drm_fb_cma_helper.c:to_fbdev_cma
   Cyclomatic Complexity 3 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fb_cma_get_gem_obj
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fb_cma_get_gem_addr
   Cyclomatic Complexity 4 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fbdev_cma_init
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fb_cma_fbdev_init
   Cyclomatic Complexity 1 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fb_cma_fbdev_init_with_funcs
   Cyclomatic Complexity 1 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fbdev_cma_fini
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fb_cma_fbdev_fini
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fbdev_cma_restore_mode
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fbdev_cma_hotplug_event
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fbdev_cma_set_suspend
   Cyclomatic Complexity 2 
drivers/gpu/drm/drm_fb_cma_helper.c:drm_fbdev_cma_set_suspend_unlocked
   drivers/gpu/drm/drm_fb_cma_helper.c: In function 'drm_fbdev_cma_init':
>> drivers/gpu/drm/drm_fb_cma_helper.c:197:2: warning: 'client' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
     drm_client_release(client);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/client +197 drivers/gpu/drm/drm_fb_cma_helper.c

   162  
   163  /**
   164   * drm_fbdev_cma_init() - Allocate and initializes a drm_fbdev_cma 
struct
   165   * @dev: DRM device
   166   * @preferred_bpp: Preferred bits per pixel for the device
   167   * @max_conn_count: Maximum number of connectors
   168   *
   169   * Returns a newly allocated drm_fbdev_cma struct or a ERR_PTR.
   170   */
   171  struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
   172          unsigned int preferred_bpp, unsigned int max_conn_count)
   173  {
   174          struct drm_fbdev_cma *fbdev_cma;
   175          struct drm_fb_helper *fb_helper;
   176          struct drm_client_dev *client;
   177          int ret;
   178  
   179          fbdev_cma = kzalloc(sizeof(*fbdev_cma), GFP_KERNEL);
   180          if (!fbdev_cma)
   181                  return ERR_PTR(-ENOMEM);
   182  
   183          fb_helper = &fbdev_cma->fb_helper;
   184  
   185          ret = drm_client_new(dev, &fb_helper->client, "fbdev");
   186          if (ret)
   187                  goto err_free;
   188  
   189          ret = drm_fb_helper_fbdev_setup(dev, fb_helper, 
&drm_fb_cma_helper_funcs,
   190                                          preferred_bpp, max_conn_count);
   191          if (ret)
   192                  goto err_client_put;
   193  
   194          return fbdev_cma;
   195  
   196  err_client_put:
 > 197          drm_client_release(client);
   198  err_free:
   199          kfree(fbdev_cma);
   200  
   201          return ERR_PTR(ret);
   202  }
   203  EXPORT_SYMBOL_GPL(drm_fbdev_cma_init);
   204  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to