From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4595669872267876365==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [frank-w-bpi-r2-4.14:5.16-next-hdmi 8/29] drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c:541:16: error: 'struct drm_encoder' has no member named 'port' Date: Sat, 22 Jan 2022 22:24:36 +0800 Message-ID: <202201222232.RHlu2zzo-lkp@intel.com> List-Id: --===============4595669872267876365== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://github.com/frank-w/BPI-R2-4.14 5.16-next-hdmi head: 2c863ab74e13844664d488782f9f0422bfea0471 commit: 1ced92d05c4d40fc24873af7445ec7c8a430c5ac [8/29] drm/rockchip: dw_hd= mi: add rk3568 support config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20220122= /202201222232.RHlu2zzo-lkp(a)intel.com/config) compiler: m68k-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/frank-w/BPI-R2-4.14/commit/1ced92d05c4d40fc248= 73af7445ec7c8a430c5ac git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R= 2-4.14 git fetch --no-tags frank-w-bpi-r2-4.14 5.16-next-hdmi git checkout 1ced92d05c4d40fc24873af7445ec7c8a430c5ac # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Dm68k SHELL=3D/bin/bash drivers/gpu/drm/rockchip/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Note: the frank-w-bpi-r2-4.14/5.16-next-hdmi HEAD 2c863ab74e13844664d488782= f9f0422bfea0471 builds fine. It only hurts bisectability. All errors (new ones prefixed by >>): drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c: In function 'dw_hdmi_rockch= ip_bind': >> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c:541:16: error: 'struct drm_e= ncoder' has no member named 'port' 541 | encoder->port =3D of_graph_get_port_by_id(dev->of_node, = 0); | ^~ vim +541 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c 509 = 510 static int dw_hdmi_rockchip_bind(struct device *dev, struct device *= master, 511 void *data) 512 { 513 struct platform_device *pdev =3D to_platform_device(dev); 514 struct dw_hdmi_plat_data *plat_data; 515 const struct of_device_id *match; 516 struct drm_device *drm =3D data; 517 struct drm_encoder *encoder; 518 struct rockchip_hdmi *hdmi; 519 int ret; 520 = 521 if (!pdev->dev.of_node) 522 return -ENODEV; 523 = 524 hdmi =3D devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); 525 if (!hdmi) 526 return -ENOMEM; 527 = 528 match =3D of_match_node(dw_hdmi_rockchip_dt_ids, pdev->dev.of_node); 529 plat_data =3D devm_kmemdup(&pdev->dev, match->data, 530 sizeof(*plat_data), GFP_KERNEL); 531 if (!plat_data) 532 return -ENOMEM; 533 = 534 hdmi->dev =3D &pdev->dev; 535 hdmi->chip_data =3D plat_data->phy_data; 536 plat_data->phy_data =3D hdmi; 537 encoder =3D &hdmi->encoder; 538 = 539 encoder->possible_crtcs =3D drm_of_find_possible_crtcs(drm, dev->of= _node); 540 = > 541 encoder->port =3D of_graph_get_port_by_id(dev->of_node, 0); 542 = 543 /* 544 * If we failed to find the CRTC(s) which this encoder is 545 * supposed to be connected to, it's because the CRTC has 546 * not been registered yet. Defer probing, and hope that 547 * the required CRTC is added later. 548 */ 549 if (encoder->possible_crtcs =3D=3D 0) 550 return -EPROBE_DEFER; 551 = 552 ret =3D rockchip_hdmi_parse_dt(hdmi); 553 if (ret) { 554 DRM_DEV_ERROR(hdmi->dev, "Unable to parse OF data\n"); 555 return ret; 556 } 557 = 558 hdmi->phy =3D devm_phy_optional_get(dev, "hdmi"); 559 if (IS_ERR(hdmi->phy)) { 560 ret =3D PTR_ERR(hdmi->phy); 561 if (ret !=3D -EPROBE_DEFER) 562 DRM_DEV_ERROR(hdmi->dev, "failed to get phy\n"); 563 return ret; 564 } 565 = 566 ret =3D clk_prepare_enable(hdmi->ref_clk); 567 if (ret) { 568 DRM_DEV_ERROR(hdmi->dev, "Failed to enable HDMI reference clock: %= d\n", 569 ret); 570 return ret; 571 } 572 = 573 if (hdmi->chip_data =3D=3D &rk3568_chip_data) { 574 regmap_write(hdmi->regmap, RK3568_GRF_VO_CON1, 575 HIWORD_UPDATE(RK3568_HDMI_SDAIN_MSK | 576 RK3568_HDMI_SCLIN_MSK, 577 RK3568_HDMI_SDAIN_MSK | 578 RK3568_HDMI_SCLIN_MSK)); 579 } 580 = 581 drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_fu= ncs); 582 drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); 583 = 584 platform_set_drvdata(pdev, hdmi); 585 = 586 hdmi->hdmi =3D dw_hdmi_bind(pdev, encoder, plat_data); 587 = 588 /* 589 * If dw_hdmi_bind() fails we'll never call dw_hdmi_unbind(), 590 * which would have called the encoder cleanup. Do it manually. 591 */ 592 if (IS_ERR(hdmi->hdmi)) { 593 ret =3D PTR_ERR(hdmi->hdmi); 594 drm_encoder_cleanup(encoder); 595 clk_disable_unprepare(hdmi->ref_clk); 596 } 597 = 598 return ret; 599 } 600 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============4595669872267876365==--