[PATCH v3 2/2] display/drm/bridge: TC358775 DSI/LVDS driver

kernel test robot lkp at intel.com
Fri Jun 19 13:05:05 UTC 2020


Hi Vinay,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.8-rc1 next-20200618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Vinay-Simha-BN/dt-binding-Add-DSI-LVDS-TC358775-bridge-bindings/20200618-202234
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1b5044021070efa3259f3e9548dc35d1eb6aa844
config: x86_64-randconfig-r034-20200619 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 487ca07fcc75d52755c9fe2ee05bcb3b6eeeec44)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All warnings (new ones prefixed by >>, old ones prefixed by <<):

>> drivers/gpu/drm/bridge/tc358775.c:505:5: warning: no previous prototype for function 'tc358775_parse_dt' [-Wmissing-prototypes]
int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
^
drivers/gpu/drm/bridge/tc358775.c:505:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
^
static
>> drivers/gpu/drm/bridge/tc358775.c:523:8: warning: variable 'len' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (endpoint) {
^~~~~~~~
drivers/gpu/drm/bridge/tc358775.c:536:22: note: uninitialized use occurs here
tc->num_dsi_lanes = len / sizeof(u32);
^~~
drivers/gpu/drm/bridge/tc358775.c:523:4: note: remove the 'if' if its condition is always true
if (endpoint) {
^~~~~~~~~~~~~~
drivers/gpu/drm/bridge/tc358775.c:519:7: warning: variable 'len' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (parent) {
^~~~~~
drivers/gpu/drm/bridge/tc358775.c:536:22: note: uninitialized use occurs here
tc->num_dsi_lanes = len / sizeof(u32);
^~~
drivers/gpu/drm/bridge/tc358775.c:519:3: note: remove the 'if' if its condition is always true
if (parent) {
^~~~~~~~~~~~
drivers/gpu/drm/bridge/tc358775.c:515:6: warning: variable 'len' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (endpoint) {
^~~~~~~~
drivers/gpu/drm/bridge/tc358775.c:536:22: note: uninitialized use occurs here
tc->num_dsi_lanes = len / sizeof(u32);
^~~
drivers/gpu/drm/bridge/tc358775.c:515:2: note: remove the 'if' if its condition is always true
if (endpoint) {
^~~~~~~~~~~~~~
drivers/gpu/drm/bridge/tc358775.c:511:9: note: initialize the variable 'len' to silence this warning
int len;
^
= 0
4 warnings generated.

vim +/tc358775_parse_dt +505 drivers/gpu/drm/bridge/tc358775.c

   504	
 > 505	int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
   506	{
   507		struct device_node *endpoint;
   508		struct device_node *parent;
   509		struct device_node *remote;
   510		struct property *prop;
   511		int len;
   512	
   513		endpoint = of_graph_get_endpoint_by_regs(tc->dev->of_node,
   514							 TC358775_DSI_IN, -1);
   515		if (endpoint) {
   516			/* dsi0_out node */
   517			parent = of_graph_get_remote_port_parent(endpoint);
   518			of_node_put(endpoint);
   519			if (parent) {
   520				/* dsi0 port 1 */
   521				endpoint = of_graph_get_endpoint_by_regs(parent, 1, -1);
   522				of_node_put(parent);
 > 523				if (endpoint) {
   524					prop = of_find_property(endpoint, "data-lanes",
   525								&len);
   526					of_node_put(endpoint);
   527					if (!prop) {
   528						dev_err(tc->dev,
   529							"failed to find data lane\n");
   530						return -EPROBE_DEFER;
   531					}
   532				}
   533			}
   534		}
   535	
   536		tc->num_dsi_lanes = len / sizeof(u32);
   537	
   538		if (tc->num_dsi_lanes < 1 || tc->num_dsi_lanes > 4)
   539			return -EINVAL;
   540	
   541		tc->host_node = of_graph_get_remote_node(np, 0, 0);
   542		if (!tc->host_node)
   543			return -ENODEV;
   544	
   545		of_node_put(tc->host_node);
   546	
   547		endpoint = of_graph_get_endpoint_by_regs(tc->dev->of_node,
   548							 TC358775_LVDS_OUT1, -1);
   549		if (endpoint) {
   550			remote = of_graph_get_remote_port_parent(endpoint);
   551			of_node_put(endpoint);
   552	
   553			if (remote) {
   554				if (of_device_is_available(remote))
   555					tc->dual_link = true;
   556				of_node_put(remote);
   557			}
   558		}
   559	
   560		dev_dbg(tc->dev, "no.of dsi lanes: %d\n", tc->num_dsi_lanes);
   561		dev_dbg(tc->dev, "operating in %s-link mode\n",
   562			tc->dual_link ? "dual" : "single");
   563	
   564		return 0;
   565	}
   566	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 31871 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200619/f726a4e3/attachment-0001.gz>


More information about the dri-devel mailing list