* [frank-w-bpi-r2-4.14:5.15-bpi-r2-pro-drm2 83/90] drivers/gpu/drm/rockchip/rockchip_rgb.c:103:7: error: implicit declaration of function 'rockchip_drm_endpoint_is_subdriver'
@ 2021-10-30 11:03 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-10-30 11:03 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 9964 bytes --]
tree: https://github.com/frank-w/BPI-R2-4.14 5.15-bpi-r2-pro-drm2
head: 28cc1853049ee81c1aa4feea35f3772876d9622d
commit: 35d71ccec6a34a9f88932cfa7ed32034e6402bb7 [83/90] drm: forward port of VOP2 driver
config: i386-randconfig-a011-20211029 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/frank-w/BPI-R2-4.14/commit/35d71ccec6a34a9f88932cfa7ed32034e6402bb7
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.15-bpi-r2-pro-drm2
git checkout 35d71ccec6a34a9f88932cfa7ed32034e6402bb7
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/rockchip/rockchip_rgb.c: In function 'rockchip_rgb_init':
>> drivers/gpu/drm/rockchip/rockchip_rgb.c:103:7: error: implicit declaration of function 'rockchip_drm_endpoint_is_subdriver' [-Werror=implicit-function-declaration]
103 | if (rockchip_drm_endpoint_is_subdriver(endpoint) != 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/rockchip_drm_endpoint_is_subdriver +103 drivers/gpu/drm/rockchip/rockchip_rgb.c
1f0f01515172787 Sandy Huang 2018-08-30 73
1f0f01515172787 Sandy Huang 2018-08-30 74 struct rockchip_rgb *rockchip_rgb_init(struct device *dev,
1f0f01515172787 Sandy Huang 2018-08-30 75 struct drm_crtc *crtc,
1f0f01515172787 Sandy Huang 2018-08-30 76 struct drm_device *drm_dev)
1f0f01515172787 Sandy Huang 2018-08-30 77 {
1f0f01515172787 Sandy Huang 2018-08-30 78 struct rockchip_rgb *rgb;
1f0f01515172787 Sandy Huang 2018-08-30 79 struct drm_encoder *encoder;
1f0f01515172787 Sandy Huang 2018-08-30 80 struct device_node *port, *endpoint;
1f0f01515172787 Sandy Huang 2018-08-30 81 u32 endpoint_id;
1f0f01515172787 Sandy Huang 2018-08-30 82 int ret = 0, child_count = 0;
1f0f01515172787 Sandy Huang 2018-08-30 83 struct drm_panel *panel;
1f0f01515172787 Sandy Huang 2018-08-30 84 struct drm_bridge *bridge;
8f6dbc349c769ab Alex Bee 2021-09-13 85 struct drm_connector *connector;
1f0f01515172787 Sandy Huang 2018-08-30 86
1f0f01515172787 Sandy Huang 2018-08-30 87 rgb = devm_kzalloc(dev, sizeof(*rgb), GFP_KERNEL);
1f0f01515172787 Sandy Huang 2018-08-30 88 if (!rgb)
1f0f01515172787 Sandy Huang 2018-08-30 89 return ERR_PTR(-ENOMEM);
1f0f01515172787 Sandy Huang 2018-08-30 90
1f0f01515172787 Sandy Huang 2018-08-30 91 rgb->dev = dev;
1f0f01515172787 Sandy Huang 2018-08-30 92 rgb->drm_dev = drm_dev;
1f0f01515172787 Sandy Huang 2018-08-30 93
1f0f01515172787 Sandy Huang 2018-08-30 94 port = of_graph_get_port_by_id(dev->of_node, 0);
1f0f01515172787 Sandy Huang 2018-08-30 95 if (!port)
1f0f01515172787 Sandy Huang 2018-08-30 96 return ERR_PTR(-EINVAL);
1f0f01515172787 Sandy Huang 2018-08-30 97
1f0f01515172787 Sandy Huang 2018-08-30 98 for_each_child_of_node(port, endpoint) {
1f0f01515172787 Sandy Huang 2018-08-30 99 if (of_property_read_u32(endpoint, "reg", &endpoint_id))
1f0f01515172787 Sandy Huang 2018-08-30 100 endpoint_id = 0;
1f0f01515172787 Sandy Huang 2018-08-30 101
7cd7943dc55e0f7 Heiko Stuebner 2020-01-21 102 /* if subdriver (> 0) or error case (< 0), ignore entry */
7cd7943dc55e0f7 Heiko Stuebner 2020-01-21 @103 if (rockchip_drm_endpoint_is_subdriver(endpoint) != 0)
1f0f01515172787 Sandy Huang 2018-08-30 104 continue;
1f0f01515172787 Sandy Huang 2018-08-30 105
1f0f01515172787 Sandy Huang 2018-08-30 106 child_count++;
1f0f01515172787 Sandy Huang 2018-08-30 107 ret = drm_of_find_panel_or_bridge(dev->of_node, 0, endpoint_id,
1f0f01515172787 Sandy Huang 2018-08-30 108 &panel, &bridge);
a17ce9960b3628b Julia Lawall 2019-01-13 109 if (!ret) {
a17ce9960b3628b Julia Lawall 2019-01-13 110 of_node_put(endpoint);
1f0f01515172787 Sandy Huang 2018-08-30 111 break;
1f0f01515172787 Sandy Huang 2018-08-30 112 }
a17ce9960b3628b Julia Lawall 2019-01-13 113 }
1f0f01515172787 Sandy Huang 2018-08-30 114
1f0f01515172787 Sandy Huang 2018-08-30 115 of_node_put(port);
1f0f01515172787 Sandy Huang 2018-08-30 116
1f0f01515172787 Sandy Huang 2018-08-30 117 /* if the rgb output is not connected to anything, just return */
1f0f01515172787 Sandy Huang 2018-08-30 118 if (!child_count)
1f0f01515172787 Sandy Huang 2018-08-30 119 return NULL;
1f0f01515172787 Sandy Huang 2018-08-30 120
1f0f01515172787 Sandy Huang 2018-08-30 121 if (ret < 0) {
1f0f01515172787 Sandy Huang 2018-08-30 122 if (ret != -EPROBE_DEFER)
1f0f01515172787 Sandy Huang 2018-08-30 123 DRM_DEV_ERROR(dev, "failed to find panel or bridge %d\n", ret);
1f0f01515172787 Sandy Huang 2018-08-30 124 return ERR_PTR(ret);
1f0f01515172787 Sandy Huang 2018-08-30 125 }
1f0f01515172787 Sandy Huang 2018-08-30 126
1f0f01515172787 Sandy Huang 2018-08-30 127 encoder = &rgb->encoder;
1f0f01515172787 Sandy Huang 2018-08-30 128 encoder->possible_crtcs = drm_crtc_mask(crtc);
1f0f01515172787 Sandy Huang 2018-08-30 129
0dbd735448bfdb0 Thomas Zimmermann 2020-03-05 130 ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_NONE);
1f0f01515172787 Sandy Huang 2018-08-30 131 if (ret < 0) {
1f0f01515172787 Sandy Huang 2018-08-30 132 DRM_DEV_ERROR(drm_dev->dev,
1f0f01515172787 Sandy Huang 2018-08-30 133 "failed to initialize encoder: %d\n", ret);
1f0f01515172787 Sandy Huang 2018-08-30 134 return ERR_PTR(ret);
1f0f01515172787 Sandy Huang 2018-08-30 135 }
1f0f01515172787 Sandy Huang 2018-08-30 136
1f0f01515172787 Sandy Huang 2018-08-30 137 drm_encoder_helper_add(encoder, &rockchip_rgb_encoder_helper_funcs);
1f0f01515172787 Sandy Huang 2018-08-30 138
1f0f01515172787 Sandy Huang 2018-08-30 139 if (panel) {
89958b7cd9555a5 Laurent Pinchart 2019-09-04 140 bridge = drm_panel_bridge_add_typed(panel,
89958b7cd9555a5 Laurent Pinchart 2019-09-04 141 DRM_MODE_CONNECTOR_LVDS);
1f0f01515172787 Sandy Huang 2018-08-30 142 if (IS_ERR(bridge))
1f0f01515172787 Sandy Huang 2018-08-30 143 return ERR_CAST(bridge);
1f0f01515172787 Sandy Huang 2018-08-30 144 }
1f0f01515172787 Sandy Huang 2018-08-30 145
1f0f01515172787 Sandy Huang 2018-08-30 146 rgb->bridge = bridge;
1f0f01515172787 Sandy Huang 2018-08-30 147
8f6dbc349c769ab Alex Bee 2021-09-13 148 ret = drm_bridge_attach(encoder, rgb->bridge, NULL,
8f6dbc349c769ab Alex Bee 2021-09-13 149 DRM_BRIDGE_ATTACH_NO_CONNECTOR);
fb8d617f8fd64f5 Laurent Pinchart 2021-03-23 150 if (ret)
1f0f01515172787 Sandy Huang 2018-08-30 151 goto err_free_encoder;
1f0f01515172787 Sandy Huang 2018-08-30 152
8f6dbc349c769ab Alex Bee 2021-09-13 153 connector = &rgb->connector;
8f6dbc349c769ab Alex Bee 2021-09-13 154 connector = drm_bridge_connector_init(rgb->drm_dev, encoder);
8f6dbc349c769ab Alex Bee 2021-09-13 155 if (IS_ERR(connector)) {
8f6dbc349c769ab Alex Bee 2021-09-13 156 DRM_DEV_ERROR(drm_dev->dev,
8f6dbc349c769ab Alex Bee 2021-09-13 157 "failed to initialize bridge connector: %pe\n",
8f6dbc349c769ab Alex Bee 2021-09-13 158 connector);
8f6dbc349c769ab Alex Bee 2021-09-13 159 ret = PTR_ERR(connector);
8f6dbc349c769ab Alex Bee 2021-09-13 160 goto err_free_encoder;
8f6dbc349c769ab Alex Bee 2021-09-13 161 }
8f6dbc349c769ab Alex Bee 2021-09-13 162
8f6dbc349c769ab Alex Bee 2021-09-13 163 ret = drm_connector_attach_encoder(connector, encoder);
8f6dbc349c769ab Alex Bee 2021-09-13 164 if (ret < 0) {
8f6dbc349c769ab Alex Bee 2021-09-13 165 DRM_DEV_ERROR(drm_dev->dev,
8f6dbc349c769ab Alex Bee 2021-09-13 166 "failed to attach encoder: %d\n", ret);
8f6dbc349c769ab Alex Bee 2021-09-13 167 goto err_free_connector;
8f6dbc349c769ab Alex Bee 2021-09-13 168 }
8f6dbc349c769ab Alex Bee 2021-09-13 169
1f0f01515172787 Sandy Huang 2018-08-30 170 return rgb;
1f0f01515172787 Sandy Huang 2018-08-30 171
8f6dbc349c769ab Alex Bee 2021-09-13 172 err_free_connector:
8f6dbc349c769ab Alex Bee 2021-09-13 173 drm_connector_cleanup(connector);
1f0f01515172787 Sandy Huang 2018-08-30 174 err_free_encoder:
1f0f01515172787 Sandy Huang 2018-08-30 175 drm_encoder_cleanup(encoder);
1f0f01515172787 Sandy Huang 2018-08-30 176 return ERR_PTR(ret);
1f0f01515172787 Sandy Huang 2018-08-30 177 }
1f0f01515172787 Sandy Huang 2018-08-30 178 EXPORT_SYMBOL_GPL(rockchip_rgb_init);
1f0f01515172787 Sandy Huang 2018-08-30 179
:::::: The code at line 103 was first introduced by commit
:::::: 7cd7943dc55e0f75a8e51af2bbdb2b0415cc3eb7 drm/rockchip: rgb: don't count non-existent devices when determining subdrivers
:::::: TO: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
:::::: CC: Heiko Stuebner <heiko@sntech.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40164 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-10-30 11:03 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-30 11:03 [frank-w-bpi-r2-4.14:5.15-bpi-r2-pro-drm2 83/90] drivers/gpu/drm/rockchip/rockchip_rgb.c:103:7: error: implicit declaration of function 'rockchip_drm_endpoint_is_subdriver' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.