tree:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
head:   d4794b009ccd1ef8816e15c833f07ab696911a8d
commit: bd6ee5d2d2032416ba36ec6c24bf513f4ff0d338 [2/8] Merge remote-tracking 
branch 'drm-misc/drm-misc-next' into drm-tip
config: i386-randconfig-h0-02082357 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        git checkout bd6ee5d2d2032416ba36ec6c24bf513f4ff0d338
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu/drm//arm/display/komeda/komeda_dev.c: In function 
'komeda_parse_pipe_dt':
   drivers/gpu/drm//arm/display/komeda/komeda_dev.c:27:3: error: implicit 
declaration of function 'DRM_ERROR' [-Werror=implicit-function-declaration]
      DRM_ERROR("get aclk for pipeline %d failed!\n", pipe_id);
      ^
   drivers/gpu/drm//arm/display/komeda/komeda_dev.c: In function 
'komeda_dev_create':
   drivers/gpu/drm//arm/display/komeda/komeda_dev.c:127:2: error: implicit 
declaration of function 'DRM_INFO' [-Werror=implicit-function-declaration]
     DRM_INFO("Found ARM Mali-D%x version r%dp%d\n",
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_dev.c: In function 
'komeda_dev_destroy':
>> drivers/gpu/drm//arm/display/komeda/komeda_dev.c:170:3: error: implicit 
>> declaration of function 'devm_iounmap' 
>> [-Werror=implicit-function-declaration]
      devm_iounmap(dev, mdev->reg_base);
      ^
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm//arm/display/komeda/komeda_framebuffer.c: In function 
'komeda_fb_create':
>> drivers/gpu/drm//arm/display/komeda/komeda_framebuffer.c:99:31: error: 
>> dereferencing pointer to incomplete type
     struct komeda_dev *mdev = dev->dev_private;
                                  ^
--
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:32:15: error: variable 
'komeda_kms_driver' has initializer but incomplete type
    static struct drm_driver komeda_kms_driver = {
                  ^
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:33:2: error: unknown field 
>> 'driver_features' specified in initializer
     .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC |
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:33:21: error: 'DRIVER_GEM' 
undeclared here (not in a function)
     .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC |
                        ^
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:33:34: error: 
>> 'DRIVER_MODESET' undeclared here (not in a function)
     .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC |
                                     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:33:51: error: 
'DRIVER_ATOMIC' undeclared here (not in a function)
     .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC |
                                                      ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:34:7: error: 'DRIVER_PRIME' 
undeclared here (not in a function)
          DRIVER_PRIME,
          ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:34:7: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:34:7: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:35:2: error: unknown field 
>> 'lastclose' specified in initializer
     .lastclose   = drm_fb_helper_lastclose,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:35:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:35:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:36:2: error: unknown field 
>> 'gem_free_object_unlocked' specified in initializer
     .gem_free_object_unlocked = drm_gem_cma_free_object,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:36:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:36:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:37:2: error: unknown field 
>> 'gem_vm_ops' specified in initializer
     .gem_vm_ops   = &drm_gem_cma_vm_ops,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:37:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:37:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:38:2: error: unknown field 
>> 'dumb_create' specified in initializer
     .dumb_create   = komeda_gem_cma_dumb_create,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:38:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:38:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:39:2: error: unknown field 
>> 'prime_handle_to_fd' specified in initializer
     .prime_handle_to_fd  = drm_gem_prime_handle_to_fd,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:39:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:39:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:40:2: error: unknown field 
>> 'prime_fd_to_handle' specified in initializer
     .prime_fd_to_handle  = drm_gem_prime_fd_to_handle,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:40:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:40:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:41:2: error: unknown field 
>> 'gem_prime_export' specified in initializer
     .gem_prime_export  = drm_gem_prime_export,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:41:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:41:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:42:2: error: unknown field 
>> 'gem_prime_import' specified in initializer
     .gem_prime_import  = drm_gem_prime_import,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:42:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:42:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:43:2: error: unknown field 
>> 'gem_prime_get_sg_table' specified in initializer
     .gem_prime_get_sg_table  = drm_gem_cma_prime_get_sg_table,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:43:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:43:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:44:2: error: unknown field 
>> 'gem_prime_import_sg_table' specified in initializer
     .gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:44:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:44:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:45:2: error: unknown field 
>> 'gem_prime_vmap' specified in initializer
     .gem_prime_vmap   = drm_gem_cma_prime_vmap,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:45:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:45:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:46:2: error: unknown field 
>> 'gem_prime_vunmap' specified in initializer
     .gem_prime_vunmap  = drm_gem_cma_prime_vunmap,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:46:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:46:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:47:2: error: unknown field 
>> 'gem_prime_mmap' specified in initializer
     .gem_prime_mmap   = drm_gem_cma_prime_mmap,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:47:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:47:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:48:2: error: unknown field 
>> 'fops' specified in initializer
     .fops = &komeda_cma_fops,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:48:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:48:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:49:2: error: unknown field 
>> 'name' specified in initializer
     .name = "komeda",
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:49:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:49:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:50:2: error: unknown field 
>> 'desc' specified in initializer
     .desc = "Arm Komeda Display Processor driver",
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:50:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:50:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:51:2: error: unknown field 
>> 'date' specified in initializer
     .date = "20181101",
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:51:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:51:2: warning: (near 
initialization for 'komeda_kms_driver')
>> drivers/gpu/drm//arm/display/komeda/komeda_kms.c:52:2: error: unknown field 
>> 'major' specified in initializer
     .major = 0,
     ^
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:52:2: warning: excess 
elements in struct initializer
   drivers/gpu/drm//arm/display/komeda/komeda_kms.c:52:2: warning: (near 
initialization for 'komeda_kms_driver')
--
   In file included from drivers/gpu/drm//arm/display/komeda/komeda_crtc.c:15:0:
   drivers/gpu/drm//arm/display/komeda/komeda_kms.h:87:20: error: field 'base' 
has incomplete type
     struct drm_device base;
                       ^
   drivers/gpu/drm//arm/display/komeda/komeda_crtc.c: In function 
'komeda_kms_setup_crtcs':
   drivers/gpu/drm//arm/display/komeda/komeda_crtc.c:45:3: error: implicit 
declaration of function 'DRM_INFO' [-Werror=implicit-function-declaration]
      DRM_INFO("crtc%d: master(pipe-%d) slave(%s) output: %s.\n",
      ^
   drivers/gpu/drm//arm/display/komeda/komeda_crtc.c: In function 
'komeda_crtc_add':
>> drivers/gpu/drm//arm/display/komeda/komeda_crtc.c:88:2: error: implicit 
>> declaration of function 'drm_crtc_vblank_reset' 
>> [-Werror=implicit-function-declaration]
     drm_crtc_vblank_reset(crtc);
     ^
   cc1: some warnings being treated as errors

vim +/driver_features +33 drivers/gpu/drm//arm/display/komeda/komeda_kms.c

61f1c4a8 james qian wang (Arm Technology China  2019-01-03   31) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @32) static struct 
drm_driver komeda_kms_driver = {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @33)        
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC |
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @34)                
           DRIVER_PRIME,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @35)        
.lastclose                      = drm_fb_helper_lastclose,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @36)        
.gem_free_object_unlocked       = drm_gem_cma_free_object,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @37)        
.gem_vm_ops                     = &drm_gem_cma_vm_ops,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @38)        
.dumb_create                    = komeda_gem_cma_dumb_create,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @39)        
.prime_handle_to_fd             = drm_gem_prime_handle_to_fd,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @40)        
.prime_fd_to_handle             = drm_gem_prime_fd_to_handle,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @41)        
.gem_prime_export               = drm_gem_prime_export,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @42)        
.gem_prime_import               = drm_gem_prime_import,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @43)        
.gem_prime_get_sg_table         = drm_gem_cma_prime_get_sg_table,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @44)        
.gem_prime_import_sg_table      = drm_gem_cma_prime_import_sg_table,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @45)        
.gem_prime_vmap                 = drm_gem_cma_prime_vmap,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @46)        
.gem_prime_vunmap               = drm_gem_cma_prime_vunmap,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @47)        
.gem_prime_mmap                 = drm_gem_cma_prime_mmap,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @48)        .fops = 
&komeda_cma_fops,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @49)        .name = 
"komeda",
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @50)        .desc = 
"Arm Komeda Display Processor driver",
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @51)        .date = 
"20181101",
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @52)        .major 
= 0,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  @53)        .minor 
= 1,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   54) };
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   55) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   56) static void 
komeda_kms_commit_tail(struct drm_atomic_state *old_state)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   57) {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   58)        struct 
drm_device *dev = old_state->dev;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   59) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   60)        
drm_atomic_helper_commit_modeset_disables(dev, old_state);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   61) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   62)        
drm_atomic_helper_commit_planes(dev, old_state, 0);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   63) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   64)        
drm_atomic_helper_commit_modeset_enables(dev, old_state);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   65) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   66)        
drm_atomic_helper_wait_for_flip_done(dev, old_state);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   67) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   68)        
drm_atomic_helper_commit_hw_done(old_state);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   69) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   70)        
drm_atomic_helper_cleanup_planes(dev, old_state);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   71) }
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   72) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   73) static const 
struct drm_mode_config_helper_funcs komeda_mode_config_helpers = {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   74)        
.atomic_commit_tail = komeda_kms_commit_tail,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   75) };
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   76) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   77) static const 
struct drm_mode_config_funcs komeda_mode_config_funcs = {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   78)        
.fb_create              = komeda_fb_create,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   79)        
.atomic_check           = drm_atomic_helper_check,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   80)        
.atomic_commit          = drm_atomic_helper_commit,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   81) };
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   82) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   83) static void 
komeda_kms_mode_config_init(struct komeda_kms_dev *kms,
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   84)                
                        struct komeda_dev *mdev)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   85) {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   86)        struct 
drm_mode_config *config = &kms->base.mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   87) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   88)        
drm_mode_config_init(&kms->base);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   89) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   90)        
komeda_kms_setup_crtcs(kms, mdev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   91) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   92)        /* Get 
value from dev */
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   93)        
config->min_width       = 0;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   94)        
config->min_height      = 0;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   95)        
config->max_width       = 4096;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   96)        
config->max_height      = 4096;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   97)        
config->allow_fb_modifiers = false;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   98) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03   99)        
config->funcs = &komeda_mode_config_funcs;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  100)        
config->helper_private = &komeda_mode_config_helpers;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  101) }
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  102) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  103) struct 
komeda_kms_dev *komeda_kms_attach(struct komeda_dev *mdev)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  104) {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  105)        struct 
komeda_kms_dev *kms = kzalloc(sizeof(*kms), GFP_KERNEL);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  106)        struct 
drm_device *drm;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  107)        int err;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  108) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  109)        if 
(!kms)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  110)                
return ERR_PTR(-ENOMEM);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  111) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  112)        drm = 
&kms->base;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03 @113)        err = 
drm_dev_init(drm, &komeda_kms_driver, mdev->dev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  114)        if (err)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  115)                
goto free_kms;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  116) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  117)        
drm->dev_private = mdev;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  118) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  119)        
komeda_kms_mode_config_init(kms, mdev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  120) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  121)        err = 
komeda_kms_add_private_objs(kms, mdev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  122)        if (err)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  123)                
goto cleanup_mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  124) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  125)        err = 
komeda_kms_add_planes(kms, mdev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  126)        if (err)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  127)                
goto cleanup_mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  128) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03 @129)        err = 
drm_vblank_init(drm, kms->n_crtcs);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  130)        if (err)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  131)                
goto cleanup_mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  132) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  133)        err = 
komeda_kms_add_crtcs(kms, mdev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  134)        if (err)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  135)                
goto cleanup_mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  136) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  137)        err = 
component_bind_all(mdev->dev, kms);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  138)        if (err)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  139)                
goto cleanup_mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  140) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  141)        
drm_mode_config_reset(drm);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  142) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03 @143)        err = 
drm_dev_register(drm, 0);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  144)        if (err)
874cf192 Liviu Dudau                            2019-01-15  145                 
goto cleanup_mode_config;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  146) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  147)        return 
kms;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  148) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  149) 
cleanup_mode_config:
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  150)        
drm_mode_config_cleanup(drm);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  151) free_kms:
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  152)        
kfree(kms);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  153)        return 
ERR_PTR(err);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  154) }
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  155) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  156) void 
komeda_kms_detach(struct komeda_kms_dev *kms)
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  157) {
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  158)        struct 
drm_device *drm = &kms->base;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  159)        struct 
komeda_dev *mdev = drm->dev_private;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  160) 
61f1c4a8 james qian wang (Arm Technology China  2019-01-03 @161)        
drm_dev_unregister(drm);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  162)        
component_unbind_all(mdev->dev, drm);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  163)        
komeda_kms_cleanup_private_objs(mdev);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  164)        
drm_mode_config_cleanup(drm);
61f1c4a8 james qian wang (Arm Technology China  2019-01-03  165)        
drm->dev_private = NULL;
61f1c4a8 james qian wang (Arm Technology China  2019-01-03 @166)        
drm_dev_put(drm);

:::::: The code at line 33 was first introduced by commit
:::::: 61f1c4a8ab7575c0147ae6c0d220f9719fdc741e drm/komeda: Attach komeda_dev 
to DRM-KMS

:::::: TO: james qian wang (Arm Technology China) <james.qian.w...@arm.com>
:::::: CC: Liviu Dudau <liviu.du...@arm.com>

---
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