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

Reply via email to