[PATCH v4 13/13] drm/bridge: analogix_dp: Apply panel_bridge helper
Dan Carpenter
dan.carpenter at linaro.org
Sat Aug 16 03:31:36 PDT 2025
Hi Damon,
kernel test robot noticed the following build warnings:
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Damon-Ding/drm-bridge-analogix_dp-Formalize-the-struct-analogix_dp_device/20250814-185009
base: https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git exynos-drm-next
patch link: https://lore.kernel.org/r/20250814104753.195255-14-damon.ding%40rock-chips.com
patch subject: [PATCH v4 13/13] drm/bridge: analogix_dp: Apply panel_bridge helper
config: hexagon-randconfig-r072-20250815 (https://download.01.org/0day-ci/archive/20250816/202508161345.sfsLHzY7-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
| Closes: https://lore.kernel.org/r/202508161345.sfsLHzY7-lkp@intel.com/
smatch warnings:
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c:1595 analogix_dp_bind() warn: passing a valid pointer to 'PTR_ERR'
vim +/PTR_ERR +1595 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
152cce0006abf7e Marek Szyprowski 2020-03-10 1560 int analogix_dp_bind(struct analogix_dp_device *dp, struct drm_device *drm_dev)
152cce0006abf7e Marek Szyprowski 2020-03-10 1561 {
41dc71b87962d41 Damon Ding 2025-08-14 1562 struct drm_bridge *bridge = &dp->bridge;
152cce0006abf7e Marek Szyprowski 2020-03-10 1563 int ret;
152cce0006abf7e Marek Szyprowski 2020-03-10 1564
3424e3a4f844c0a Yakir Yang 2016-03-29 1565 dp->drm_dev = drm_dev;
3424e3a4f844c0a Yakir Yang 2016-03-29 1566 dp->encoder = dp->plat_data->encoder;
3424e3a4f844c0a Yakir Yang 2016-03-29 1567
6cba3fe433415b2 Lyude Paul 2021-04-23 1568 dp->aux.drm_dev = drm_dev;
0d97ad03f4220ca Tomeu Vizoso 2016-08-24 1569
0d97ad03f4220ca Tomeu Vizoso 2016-08-24 1570 ret = drm_dp_aux_register(&dp->aux);
2d192f4a3acc1c6 Lucas Stach 2024-06-19 1571 if (ret) {
2d192f4a3acc1c6 Lucas Stach 2024-06-19 1572 DRM_ERROR("failed to register AUX (%d)\n", ret);
c71db051142a74b Damon Ding 2025-03-10 1573 return ret;
2d192f4a3acc1c6 Lucas Stach 2024-06-19 1574 }
0d97ad03f4220ca Tomeu Vizoso 2016-08-24 1575
41dc71b87962d41 Damon Ding 2025-08-14 1576 bridge->ops = DRM_BRIDGE_OP_DETECT |
41dc71b87962d41 Damon Ding 2025-08-14 1577 DRM_BRIDGE_OP_EDID |
41dc71b87962d41 Damon Ding 2025-08-14 1578 DRM_BRIDGE_OP_MODES;
41dc71b87962d41 Damon Ding 2025-08-14 1579 bridge->of_node = dp->dev->of_node;
41dc71b87962d41 Damon Ding 2025-08-14 1580 bridge->type = DRM_MODE_CONNECTOR_eDP;
41dc71b87962d41 Damon Ding 2025-08-14 1581 ret = devm_drm_bridge_add(dp->dev, &dp->bridge);
41dc71b87962d41 Damon Ding 2025-08-14 1582 if (ret)
41dc71b87962d41 Damon Ding 2025-08-14 1583 goto err_unregister_aux;
41dc71b87962d41 Damon Ding 2025-08-14 1584
41dc71b87962d41 Damon Ding 2025-08-14 1585 ret = drm_bridge_attach(dp->encoder, bridge, NULL, 0);
3424e3a4f844c0a Yakir Yang 2016-03-29 1586 if (ret) {
3424e3a4f844c0a Yakir Yang 2016-03-29 1587 DRM_ERROR("failed to create bridge (%d)\n", ret);
2d192f4a3acc1c6 Lucas Stach 2024-06-19 1588 goto err_unregister_aux;
3424e3a4f844c0a Yakir Yang 2016-03-29 1589 }
3424e3a4f844c0a Yakir Yang 2016-03-29 1590
dbd8040a6d0dedc Damon Ding 2025-08-14 1591 if (dp->plat_data->panel) {
dbd8040a6d0dedc Damon Ding 2025-08-14 1592 dp->plat_data->next_bridge = devm_drm_panel_bridge_add(dp->dev,
dbd8040a6d0dedc Damon Ding 2025-08-14 1593 dp->plat_data->panel);
dbd8040a6d0dedc Damon Ding 2025-08-14 1594 if (IS_ERR(dp->plat_data->next_bridge)) {
dbd8040a6d0dedc Damon Ding 2025-08-14 @1595 ret = PTR_ERR(bridge);
Wrong variable. s/bridge/dp->plat_data->next_bridge/.
dbd8040a6d0dedc Damon Ding 2025-08-14 1596 goto err_unregister_aux;
dbd8040a6d0dedc Damon Ding 2025-08-14 1597 }
dbd8040a6d0dedc Damon Ding 2025-08-14 1598 }
dbd8040a6d0dedc Damon Ding 2025-08-14 1599
dbd8040a6d0dedc Damon Ding 2025-08-14 1600 ret = drm_bridge_attach(dp->encoder, dp->plat_data->next_bridge, bridge,
dbd8040a6d0dedc Damon Ding 2025-08-14 1601 DRM_BRIDGE_ATTACH_NO_CONNECTOR);
dbd8040a6d0dedc Damon Ding 2025-08-14 1602 if (ret) {
dbd8040a6d0dedc Damon Ding 2025-08-14 1603 dev_err(dp->dev, "failed to attach following panel or bridge (%d)\n", ret);
dbd8040a6d0dedc Damon Ding 2025-08-14 1604 goto err_unregister_aux;
dbd8040a6d0dedc Damon Ding 2025-08-14 1605 }
dbd8040a6d0dedc Damon Ding 2025-08-14 1606
152cce0006abf7e Marek Szyprowski 2020-03-10 1607 return 0;
3424e3a4f844c0a Yakir Yang 2016-03-29 1608
2d192f4a3acc1c6 Lucas Stach 2024-06-19 1609 err_unregister_aux:
2d192f4a3acc1c6 Lucas Stach 2024-06-19 1610 drm_dp_aux_unregister(&dp->aux);
f0a8b49c03d22a5 Marek Szyprowski 2016-12-30 1611
152cce0006abf7e Marek Szyprowski 2020-03-10 1612 return ret;
3424e3a4f844c0a Yakir Yang 2016-03-29 1613 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the linux-arm-kernel
mailing list