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
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel