Message ID | 20200305155950.2705-7-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Convert drivers to drm_simple_encoder_init() | expand |
Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on next-20200305] [also build test ERROR on v5.6-rc4] [cannot apply to rockchip/for-next shawnguo/for-next sunxi/sunxi/for-next tegra/for-next linus/master v5.6-rc4 v5.6-rc3 v5.6-rc2] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Convert-drivers-to-drm_simple_encoder_init/20200306-045931 base: 47466dcf84ee66a973ea7d2fca7e582fe9328932 config: arm64-defconfig (attached as .config) compiler: clang version 11.0.0 (git://gitmirror/llvm_project a0cd413426479abb207381bdbab862f3dfb3ce7d) reproduce: # FIXME the reproduce steps for clang is not ready yet If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/gpu//drm/hisilicon/kirin/dw_drm_dsi.c:713:8: error: implicit declaration of function 'drm_simple_encoder_init' [-Werror,-Wimplicit-function-declaration] ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_DSI); ^ drivers/gpu//drm/hisilicon/kirin/dw_drm_dsi.c:713:8: note: did you mean 'drm_i2c_encoder_init'? include/drm/drm_encoder_slave.h:104:5: note: 'drm_i2c_encoder_init' declared here int drm_i2c_encoder_init(struct drm_device *dev, ^ 1 error generated. vim +/drm_simple_encoder_init +713 drivers/gpu//drm/hisilicon/kirin/dw_drm_dsi.c 699 700 static int dw_drm_encoder_init(struct device *dev, 701 struct drm_device *drm_dev, 702 struct drm_encoder *encoder) 703 { 704 int ret; 705 u32 crtc_mask = drm_of_find_possible_crtcs(drm_dev, dev->of_node); 706 707 if (!crtc_mask) { 708 DRM_ERROR("failed to find crtc mask\n"); 709 return -EINVAL; 710 } 711 712 encoder->possible_crtcs = crtc_mask; > 713 ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_DSI); 714 if (ret) { 715 DRM_ERROR("failed to init dsi encoder\n"); 716 return ret; 717 } 718 719 drm_encoder_helper_add(encoder, &dw_encoder_helper_funcs); 720 721 return 0; 722 } 723 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c index f31068d74b18..08c1ab542c03 100644 --- a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c +++ b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c @@ -25,6 +25,7 @@ #include <drm/drm_of.h> #include <drm/drm_print.h> #include <drm/drm_probe_helper.h> +#include <drm/drm_simple_kms_helper.h> #include "dw_dsi_reg.h" @@ -696,10 +697,6 @@ static const struct drm_encoder_helper_funcs dw_encoder_helper_funcs = { .disable = dsi_encoder_disable }; -static const struct drm_encoder_funcs dw_encoder_funcs = { - .destroy = drm_encoder_cleanup, -}; - static int dw_drm_encoder_init(struct device *dev, struct drm_device *drm_dev, struct drm_encoder *encoder) @@ -713,8 +710,7 @@ static int dw_drm_encoder_init(struct device *dev, } encoder->possible_crtcs = crtc_mask; - ret = drm_encoder_init(drm_dev, encoder, &dw_encoder_funcs, - DRM_MODE_ENCODER_DSI, NULL); + ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_DSI); if (ret) { DRM_ERROR("failed to init dsi encoder\n"); return ret;
The kirin driver uses an empty implementation for its encoder. Replace the code with the generic simple encoder. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)