From: kernel test robot <lkp@intel.com>
To: KancyJoe <kancy2333@outlook.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Neil Armstrong <neil.armstrong@linaro.org>
Subject: [superna9999:topic/sm8650/ayaneo-pocket-s2/pmos-v4 17/31] drivers/gpu/drm/panel/panel-renesas-r63419.c:320:8: error: call to undeclared function 'devm_drm_panel_add'; ISO C99 and later do not support implicit function declarations
Date: Sat, 13 Jun 2026 15:06:47 +0800 [thread overview]
Message-ID: <202606131439.tx8xFVfI-lkp@intel.com> (raw)
tree: https://github.com/superna9999/linux topic/sm8650/ayaneo-pocket-s2/pmos-v4
head: 2990bb85e68d401720ce49038f3e512d7eb1a389
commit: 243e24384aa0b82af24b385485d2ce228b8a4660 [17/31] drm: panel: add support for the Renesas R63419 based dual-DSI video mode Display Panels
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260613/202606131439.tx8xFVfI-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 305faf498a4e0b52b40742c927af63ab2082e1a9)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260613/202606131439.tx8xFVfI-lkp@intel.com/reproduce)
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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606131439.tx8xFVfI-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/panel/panel-renesas-r63419.c:320:8: error: call to undeclared function 'devm_drm_panel_add'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
320 | ret = devm_drm_panel_add(dev, &ctx->panel);
| ^
drivers/gpu/drm/panel/panel-renesas-r63419.c:320:8: note: did you mean 'drm_panel_add'?
include/drm/drm_panel.h:330:6: note: 'drm_panel_add' declared here
330 | void drm_panel_add(struct drm_panel *panel);
| ^
1 error generated.
vim +/devm_drm_panel_add +320 drivers/gpu/drm/panel/panel-renesas-r63419.c
246
247 static int renesas_r63419_probe(struct mipi_dsi_device *dsi)
248 {
249 struct mipi_dsi_device_info info = { };
250 struct device *dev = &dsi->dev;
251 struct renesas_r63419_panel *ctx;
252 struct device_node *dsi1_node;
253 struct mipi_dsi_host *dsi1_host;
254 int ret, i;
255
256 ctx = devm_drm_panel_alloc(dev, struct renesas_r63419_panel, panel,
257 &renesas_r63419_panel_funcs, DRM_MODE_CONNECTOR_DSI);
258 if (IS_ERR(ctx))
259 return PTR_ERR(ctx);
260
261 ctx->desc = of_device_get_match_data(dev);
262 if (!ctx->desc)
263 return dev_err_probe(dev, -ENODEV,
264 "Failed to get panel description\n");
265
266 ret = devm_regulator_bulk_get_const(&dsi->dev,
267 ARRAY_SIZE(renesas_r63419_vdd_supplies),
268 renesas_r63419_vdd_supplies, &ctx->vdd_supplies);
269 if (ret < 0)
270 return ret;
271
272 ret = devm_regulator_bulk_get_const(&dsi->dev,
273 ARRAY_SIZE(renesas_r63419_vcc_supplies),
274 renesas_r63419_vcc_supplies, &ctx->vcc_supplies);
275 if (ret < 0)
276 return ret;
277
278 ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
279 if (IS_ERR(ctx->reset_gpio))
280 return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio),
281 "Failed to get reset gpio\n");
282
283 /* Get second DSI host */
284 dsi1_node = of_graph_get_remote_node(dsi->dev.of_node, 1, -1);
285 if (!dsi1_node)
286 return dev_err_probe(dev, -ENODEV,
287 "Failed to get remote node for second DSI\n");
288
289 dsi1_host = of_find_mipi_dsi_host_by_node(dsi1_node);
290 of_node_put(dsi1_node);
291 if (!dsi1_host)
292 return dev_err_probe(dev, -EPROBE_DEFER,
293 "Failed to find second DSI host\n");
294
295 /* Copy current DSI info, do not provide OF node since no driver needs to be attached */
296 strscpy(info.type, dsi->name, sizeof(info.type));
297 info.channel = dsi->channel;
298
299 /* Register the second DSI device */
300 ctx->dsi[1] = devm_mipi_dsi_device_register_full(dev, dsi1_host, &info);
301 if (IS_ERR(ctx->dsi[1]))
302 return dev_err_probe(dev, PTR_ERR(ctx->dsi[1]),
303 "Failed to register second DSI device\n");
304
305 ctx->dsi[0] = dsi;
306 mipi_dsi_set_drvdata(dsi, ctx);
307
308 /* Get panel orientation */
309 ret = of_drm_get_panel_orientation(dev->of_node, &ctx->orientation);
310 if (ret < 0 && ret != -ENODEV)
311 return dev_err_probe(dev, ret,
312 "Failed to get panel orientation\n");
313
314 ctx->panel.prepare_prev_first = true;
315
316 ret = drm_panel_of_backlight(&ctx->panel);
317 if (ret)
318 return dev_err_probe(dev, ret, "Failed to get backlight\n");
319
> 320 ret = devm_drm_panel_add(dev, &ctx->panel);
321 if (ret)
322 return dev_err_probe(dev, ret, "Failed to add panel\n");
323
324 /* Configure and attach both DSI devices */
325 for (i = 0; i < ARRAY_SIZE(ctx->dsi); i++) {
326 ctx->dsi[i]->lanes = ctx->desc->lanes;
327 ctx->dsi[i]->format = ctx->desc->format;
328 ctx->dsi[i]->mode_flags = ctx->desc->mode_flags;
329
330 ret = devm_mipi_dsi_attach(dev, ctx->dsi[i]);
331 if (ret < 0)
332 return dev_err_probe(dev, ret,
333 "Failed to attach DSI device %d\n", i);
334 }
335
336 return 0;
337 }
338
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-06-13 7:07 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=202606131439.tx8xFVfI-lkp@intel.com \
--to=lkp@intel.com \
--cc=kancy2333@outlook.com \
--cc=llvm@lists.linux.dev \
--cc=neil.armstrong@linaro.org \
--cc=oe-kbuild-all@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox