From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [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'
Date: Sat, 30 Oct 2021 19:03:06 +0800 [thread overview]
Message-ID: <202110301957.ZByaXPBa-lkp@intel.com> (raw)
[-- 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 --]
reply other threads:[~2021-10-30 11:03 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202110301957.ZByaXPBa-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.