drivers/gpu/drm/bridge/lvds-encoder.c:77: undefined reference to `devm_drm_panel_bridge_add'
From: kbuild test robot
Date: Thu Feb 01 2018 - 01:33:49 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 255442c93843f52b6891b21d0b485bf2c97f93c3
commit: dbb58bfd9ae6c885b2ca001a9a5ab8b881fb4ba9 drm/bridge: Fix lvds-encoder since the panel_bridge rework.
date: 9 weeks ago
config: x86_64-randconfig-s1-02011301 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
git checkout dbb58bfd9ae6c885b2ca001a9a5ab8b881fb4ba9
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers/gpu/drm/bridge/lvds-encoder.o: In function `lvds_encoder_probe':
>> drivers/gpu/drm/bridge/lvds-encoder.c:77: undefined reference to `devm_drm_panel_bridge_add'
vim +77 drivers/gpu/drm/bridge/lvds-encoder.c
34
35 static int lvds_encoder_probe(struct platform_device *pdev)
36 {
37 struct device_node *port;
38 struct device_node *endpoint;
39 struct device_node *panel_node;
40 struct drm_panel *panel;
41 struct lvds_encoder *lvds_encoder;
42
43 lvds_encoder = devm_kzalloc(&pdev->dev, sizeof(*lvds_encoder),
44 GFP_KERNEL);
45 if (!lvds_encoder)
46 return -ENOMEM;
47
48 /* Locate the panel DT node. */
49 port = of_graph_get_port_by_id(pdev->dev.of_node, 1);
50 if (!port) {
51 dev_dbg(&pdev->dev, "port 1 not found\n");
52 return -ENXIO;
53 }
54
55 endpoint = of_get_child_by_name(port, "endpoint");
56 of_node_put(port);
57 if (!endpoint) {
58 dev_dbg(&pdev->dev, "no endpoint for port 1\n");
59 return -ENXIO;
60 }
61
62 panel_node = of_graph_get_remote_port_parent(endpoint);
63 of_node_put(endpoint);
64 if (!panel_node) {
65 dev_dbg(&pdev->dev, "no remote endpoint for port 1\n");
66 return -ENXIO;
67 }
68
69 panel = of_drm_find_panel(panel_node);
70 of_node_put(panel_node);
71 if (!panel) {
72 dev_dbg(&pdev->dev, "panel not found, deferring probe\n");
73 return -EPROBE_DEFER;
74 }
75
76 lvds_encoder->panel_bridge =
> 77 devm_drm_panel_bridge_add(&pdev->dev,
78 panel, DRM_MODE_CONNECTOR_LVDS);
79 if (IS_ERR(lvds_encoder->panel_bridge))
80 return PTR_ERR(lvds_encoder->panel_bridge);
81
82 /* The panel_bridge bridge is attached to the panel's of_node,
83 * but we need a bridge attached to our of_node for our user
84 * to look up.
85 */
86 lvds_encoder->bridge.of_node = pdev->dev.of_node;
87 lvds_encoder->bridge.funcs = &funcs;
88 drm_bridge_add(&lvds_encoder->bridge);
89
90 platform_set_drvdata(pdev, lvds_encoder);
91
92 return 0;
93 }
94
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip