lkml.org 
[lkml]   [2020]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/gpu/drm/rockchip/rockchip_rgb.c:71:22: warning: no previous prototype for 'rockchip_rgb_init'
Hi Robin,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bbf5c979011a099af5dc76498918ed7df445635b
commit: b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248 iommu: Tidy up Kconfig for SoC IOMMUs
date: 3 months ago
config: nds32-randconfig-r006-20201012 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/rockchip/rockchip_rgb.c:71:22: warning: no previous prototype for 'rockchip_rgb_init' [-Wmissing-prototypes]
71 | struct rockchip_rgb *rockchip_rgb_init(struct device *dev,
| ^~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/rockchip/rockchip_rgb.c:159:6: warning: no previous prototype for 'rockchip_rgb_fini' [-Wmissing-prototypes]
159 | void rockchip_rgb_fini(struct rockchip_rgb *rgb)
| ^~~~~~~~~~~~~~~~~

vim +/rockchip_rgb_init +71 drivers/gpu/drm/rockchip/rockchip_rgb.c

1f0f0151517278 Sandy Huang 2018-08-30 70
1f0f0151517278 Sandy Huang 2018-08-30 @71 struct rockchip_rgb *rockchip_rgb_init(struct device *dev,
1f0f0151517278 Sandy Huang 2018-08-30 72 struct drm_crtc *crtc,
1f0f0151517278 Sandy Huang 2018-08-30 73 struct drm_device *drm_dev)
1f0f0151517278 Sandy Huang 2018-08-30 74 {
1f0f0151517278 Sandy Huang 2018-08-30 75 struct rockchip_rgb *rgb;
1f0f0151517278 Sandy Huang 2018-08-30 76 struct drm_encoder *encoder;
1f0f0151517278 Sandy Huang 2018-08-30 77 struct device_node *port, *endpoint;
1f0f0151517278 Sandy Huang 2018-08-30 78 u32 endpoint_id;
1f0f0151517278 Sandy Huang 2018-08-30 79 int ret = 0, child_count = 0;
1f0f0151517278 Sandy Huang 2018-08-30 80 struct drm_panel *panel;
1f0f0151517278 Sandy Huang 2018-08-30 81 struct drm_bridge *bridge;
1f0f0151517278 Sandy Huang 2018-08-30 82
1f0f0151517278 Sandy Huang 2018-08-30 83 rgb = devm_kzalloc(dev, sizeof(*rgb), GFP_KERNEL);
1f0f0151517278 Sandy Huang 2018-08-30 84 if (!rgb)
1f0f0151517278 Sandy Huang 2018-08-30 85 return ERR_PTR(-ENOMEM);
1f0f0151517278 Sandy Huang 2018-08-30 86
1f0f0151517278 Sandy Huang 2018-08-30 87 rgb->dev = dev;
1f0f0151517278 Sandy Huang 2018-08-30 88 rgb->drm_dev = drm_dev;
1f0f0151517278 Sandy Huang 2018-08-30 89
1f0f0151517278 Sandy Huang 2018-08-30 90 port = of_graph_get_port_by_id(dev->of_node, 0);
1f0f0151517278 Sandy Huang 2018-08-30 91 if (!port)
1f0f0151517278 Sandy Huang 2018-08-30 92 return ERR_PTR(-EINVAL);
1f0f0151517278 Sandy Huang 2018-08-30 93
1f0f0151517278 Sandy Huang 2018-08-30 94 for_each_child_of_node(port, endpoint) {
1f0f0151517278 Sandy Huang 2018-08-30 95 if (of_property_read_u32(endpoint, "reg", &endpoint_id))
1f0f0151517278 Sandy Huang 2018-08-30 96 endpoint_id = 0;
1f0f0151517278 Sandy Huang 2018-08-30 97
7cd7943dc55e0f Heiko Stuebner 2020-01-21 98 /* if subdriver (> 0) or error case (< 0), ignore entry */
7cd7943dc55e0f Heiko Stuebner 2020-01-21 99 if (rockchip_drm_endpoint_is_subdriver(endpoint) != 0)
1f0f0151517278 Sandy Huang 2018-08-30 100 continue;
1f0f0151517278 Sandy Huang 2018-08-30 101
1f0f0151517278 Sandy Huang 2018-08-30 102 child_count++;
1f0f0151517278 Sandy Huang 2018-08-30 103 ret = drm_of_find_panel_or_bridge(dev->of_node, 0, endpoint_id,
1f0f0151517278 Sandy Huang 2018-08-30 104 &panel, &bridge);
a17ce9960b3628 Julia Lawall 2019-01-13 105 if (!ret) {
a17ce9960b3628 Julia Lawall 2019-01-13 106 of_node_put(endpoint);
1f0f0151517278 Sandy Huang 2018-08-30 107 break;
1f0f0151517278 Sandy Huang 2018-08-30 108 }
a17ce9960b3628 Julia Lawall 2019-01-13 109 }
1f0f0151517278 Sandy Huang 2018-08-30 110
1f0f0151517278 Sandy Huang 2018-08-30 111 of_node_put(port);
1f0f0151517278 Sandy Huang 2018-08-30 112
1f0f0151517278 Sandy Huang 2018-08-30 113 /* if the rgb output is not connected to anything, just return */
1f0f0151517278 Sandy Huang 2018-08-30 114 if (!child_count)
1f0f0151517278 Sandy Huang 2018-08-30 115 return NULL;
1f0f0151517278 Sandy Huang 2018-08-30 116
1f0f0151517278 Sandy Huang 2018-08-30 117 if (ret < 0) {
1f0f0151517278 Sandy Huang 2018-08-30 118 if (ret != -EPROBE_DEFER)
1f0f0151517278 Sandy Huang 2018-08-30 119 DRM_DEV_ERROR(dev, "failed to find panel or bridge %d\n", ret);
1f0f0151517278 Sandy Huang 2018-08-30 120 return ERR_PTR(ret);
1f0f0151517278 Sandy Huang 2018-08-30 121 }
1f0f0151517278 Sandy Huang 2018-08-30 122
1f0f0151517278 Sandy Huang 2018-08-30 123 encoder = &rgb->encoder;
1f0f0151517278 Sandy Huang 2018-08-30 124 encoder->possible_crtcs = drm_crtc_mask(crtc);
1f0f0151517278 Sandy Huang 2018-08-30 125
0dbd735448bfdb Thomas Zimmermann 2020-03-05 126 ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_NONE);
1f0f0151517278 Sandy Huang 2018-08-30 127 if (ret < 0) {
1f0f0151517278 Sandy Huang 2018-08-30 128 DRM_DEV_ERROR(drm_dev->dev,
1f0f0151517278 Sandy Huang 2018-08-30 129 "failed to initialize encoder: %d\n", ret);
1f0f0151517278 Sandy Huang 2018-08-30 130 return ERR_PTR(ret);
1f0f0151517278 Sandy Huang 2018-08-30 131 }
1f0f0151517278 Sandy Huang 2018-08-30 132
1f0f0151517278 Sandy Huang 2018-08-30 133 drm_encoder_helper_add(encoder, &rockchip_rgb_encoder_helper_funcs);
1f0f0151517278 Sandy Huang 2018-08-30 134
1f0f0151517278 Sandy Huang 2018-08-30 135 if (panel) {
89958b7cd9555a Laurent Pinchart 2019-09-04 136 bridge = drm_panel_bridge_add_typed(panel,
89958b7cd9555a Laurent Pinchart 2019-09-04 137 DRM_MODE_CONNECTOR_LVDS);
1f0f0151517278 Sandy Huang 2018-08-30 138 if (IS_ERR(bridge))
1f0f0151517278 Sandy Huang 2018-08-30 139 return ERR_CAST(bridge);
1f0f0151517278 Sandy Huang 2018-08-30 140 }
1f0f0151517278 Sandy Huang 2018-08-30 141
1f0f0151517278 Sandy Huang 2018-08-30 142 rgb->bridge = bridge;
1f0f0151517278 Sandy Huang 2018-08-30 143
a25b988ff83f3c Laurent Pinchart 2020-02-26 144 ret = drm_bridge_attach(encoder, rgb->bridge, NULL, 0);
1f0f0151517278 Sandy Huang 2018-08-30 145 if (ret) {
1f0f0151517278 Sandy Huang 2018-08-30 146 DRM_DEV_ERROR(drm_dev->dev,
1f0f0151517278 Sandy Huang 2018-08-30 147 "failed to attach bridge: %d\n", ret);
1f0f0151517278 Sandy Huang 2018-08-30 148 goto err_free_encoder;
1f0f0151517278 Sandy Huang 2018-08-30 149 }
1f0f0151517278 Sandy Huang 2018-08-30 150
1f0f0151517278 Sandy Huang 2018-08-30 151 return rgb;
1f0f0151517278 Sandy Huang 2018-08-30 152
1f0f0151517278 Sandy Huang 2018-08-30 153 err_free_encoder:
1f0f0151517278 Sandy Huang 2018-08-30 154 drm_encoder_cleanup(encoder);
1f0f0151517278 Sandy Huang 2018-08-30 155 return ERR_PTR(ret);
1f0f0151517278 Sandy Huang 2018-08-30 156 }
1f0f0151517278 Sandy Huang 2018-08-30 157 EXPORT_SYMBOL_GPL(rockchip_rgb_init);
1f0f0151517278 Sandy Huang 2018-08-30 158
1f0f0151517278 Sandy Huang 2018-08-30 @159 void rockchip_rgb_fini(struct rockchip_rgb *rgb)

:::::: The code at line 71 was first introduced by commit
:::::: 1f0f015151727872be866b6a5b64e07f9e7a3071 drm/rockchip: Add support for Rockchip Soc RGB output interface

:::::: TO: Sandy Huang <hjc@rock-chips.com>
:::::: CC: Heiko Stuebner <heiko@sntech.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-10-12 12:29    [W:0.063 / U:23.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site