ARM Sunxi Platform Development
 help / color / mirror / Atom feed
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev,
	Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-sunxi@lists.linux.dev
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	Yong Deng <yong.deng@magewell.com>,
	Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Samuel Holland <samuel@sholland.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH v7 01/28] media: sun6i-csi: Add bridge v4l2 subdev with port management
Date: Thu, 10 Nov 2022 09:57:04 +0300	[thread overview]
Message-ID: <202211100529.cG57XaEQ-lkp@intel.com> (raw)
In-Reply-To: <20221103163113.245462-2-paul.kocialkowski@bootlin.com>

Hi Paul,

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Paul-Kocialkowski/Allwinner-A31-A83T-MIPI-CSI-2-and-A31-ISP-CSI-Rework/20221104-003518
base:   git://linuxtv.org/media_tree.git master
patch link:    https://lore.kernel.org/r/20221103163113.245462-2-paul.kocialkowski%40bootlin.com
patch subject: [PATCH v7 01/28] media: sun6i-csi: Add bridge v4l2 subdev with port management
config: arc-randconfig-m041-20221107
compiler: arc-elf-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>

smatch warnings:
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c:86 sun6i_csi_bridge_s_stream() warn: missing error code 'ret'
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c:279 sun6i_csi_bridge_notifier_bound() error: uninitialized symbol 'enabled'.

vim +/ret +86 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c

d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   62  static int sun6i_csi_bridge_s_stream(struct v4l2_subdev *subdev, int on)
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   63  {
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   64  	struct sun6i_csi_device *csi_dev = v4l2_get_subdevdata(subdev);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   65  	struct sun6i_csi_bridge *bridge = &csi_dev->bridge;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   66  	struct media_pad *local_pad = &bridge->pads[SUN6I_CSI_BRIDGE_PAD_SINK];
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   67  	struct device *dev = csi_dev->dev;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   68  	struct v4l2_subdev *source_subdev;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   69  	struct media_pad *remote_pad;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   70  	/* Initialize to 0 to use both in disable label (ret != 0) and off. */
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   71  	int ret = 0;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   72  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   73  	/* Source */
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   74  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   75  	remote_pad = media_pad_remote_pad_unique(local_pad);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   76  	if (IS_ERR(remote_pad)) {
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   77  		dev_err(dev,
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   78  			"zero or more than a single source connected to the bridge\n");
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   79  		return PTR_ERR(remote_pad);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   80  	}
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   81  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   82  	source_subdev = media_entity_to_v4l2_subdev(remote_pad->entity);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   83  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   84  	if (!on) {
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   85  		v4l2_subdev_call(source_subdev, video, s_stream, 0);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  @86  		goto disable;

This is intentional, but it should just return 0;

d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   87  	}
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   88  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   89  	ret = v4l2_subdev_call(source_subdev, video, s_stream, 1);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   90  	if (ret && ret != -ENOIOCTLCMD)
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   91  		goto disable;

Do we really need to clean anything up?  Why not just:

	source_subdev = media_entity_to_v4l2_subdev(remote_pad->entity);

	return v4l2_subdev_call(source_subdev, video, s_stream, !!on);

d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   92  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   93  	return 0;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   94  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   95  disable:
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   96  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   97  	return ret;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   98  }
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03   99  

[ snip ]

d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  254  static int
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  255  sun6i_csi_bridge_notifier_bound(struct v4l2_async_notifier *notifier,
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  256  				struct v4l2_subdev *remote_subdev,
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  257  				struct v4l2_async_subdev *async_subdev)
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  258  {
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  259  	struct sun6i_csi_device *csi_dev =
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  260  		container_of(notifier, struct sun6i_csi_device,
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  261  			     bridge.notifier);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  262  	struct sun6i_csi_bridge_async_subdev *bridge_async_subdev =
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  263  		container_of(async_subdev, struct sun6i_csi_bridge_async_subdev,
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  264  			     async_subdev);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  265  	struct sun6i_csi_bridge_source *source = bridge_async_subdev->source;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  266  	bool enabled;

This neesds to be "bool enabled = false;"

d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  267  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  268  	switch (source->endpoint.base.port) {
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  269  	case SUN6I_CSI_PORT_PARALLEL:
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  270  		enabled = true;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  271  		break;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  272  	default:
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  273  		break;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  274  	}
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  275  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  276  	source->subdev = remote_subdev;
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  277  
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  278  	return sun6i_csi_bridge_link(csi_dev, SUN6I_CSI_BRIDGE_PAD_SINK,
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03 @279  				     remote_subdev, enabled);
d26de0b15ad9da7 Paul Kocialkowski 2022-11-03  280  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


  parent reply	other threads:[~2022-11-10  6:57 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-03 16:30 [PATCH v7 00/28] Allwinner A31/A83T MIPI CSI-2 and A31 ISP / CSI Rework Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 01/28] media: sun6i-csi: Add bridge v4l2 subdev with port management Paul Kocialkowski
2022-11-09 18:23   ` kernel test robot
2022-11-10  6:57   ` Dan Carpenter [this message]
2022-11-03 16:30 ` [PATCH v7 02/28] media: sun6i-csi: Rename sun6i_video to sun6i_csi_capture Paul Kocialkowski
2022-11-14 10:06   ` Sakari Ailus
2022-11-03 16:30 ` [PATCH v7 03/28] media: sun6i-csi: Add capture state using vsync for page flip Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 04/28] media: sun6i-csi: Rework register definitions, invert misleading fields Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 05/28] media: sun6i-csi: Add dimensions and format helpers to capture Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 06/28] media: sun6i-csi: Implement address configuration without indirection Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 07/28] media: sun6i-csi: Split stream sequences and irq code in capture Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 08/28] media: sun6i-csi: Move power management to runtime pm " Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 09/28] media: sun6i-csi: Move register configuration to capture Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 10/28] media: sun6i-csi: Rework capture format management with helper Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 11/28] media: sun6i-csi: Remove custom format helper and rework configure Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 12/28] media: sun6i-csi: Add bridge dimensions and format helpers Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 13/28] media: sun6i-csi: Get mbus code from bridge instead of storing it Paul Kocialkowski
2022-11-03 16:30 ` [PATCH v7 14/28] media: sun6i-csi: Tidy capture configure code Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 15/28] media: sun6i-csi: Introduce bridge format structure, list and helper Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 16/28] media: sun6i-csi: Introduce capture " Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 17/28] media: sun6i-csi: Configure registers from format tables Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 18/28] media: sun6i-csi: Introduce format match structure, list and helper Paul Kocialkowski
2022-11-11 10:18   ` Sakari Ailus
2022-11-11 10:21     ` Sakari Ailus
2022-11-03 16:31 ` [PATCH v7 19/28] media: sun6i-csi: Implement capture link validation with logic Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 20/28] media: sun6i-csi: Get bridge subdev directly in capture stream ops Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 21/28] media: sun6i-csi: Move hardware control to the bridge Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 22/28] media: sun6i-csi: Rename the capture video device to sun6i-csi-capture Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 23/28] media: sun6i-csi: Cleanup headers and includes, update copyright lines Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 24/28] media: sun6i-csi: Add support for MIPI CSI-2 to the bridge code Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 25/28] media: sun6i-csi: Only configure capture when streaming Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 26/28] media: sun6i-csi: Add extra checks to the interrupt routine Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 27/28] media: sun6i-csi: Request a shared interrupt Paul Kocialkowski
2022-11-03 16:31 ` [PATCH v7 28/28] MAINTAINERS: Add myself as sun6i-csi maintainer and rename/move entry Paul Kocialkowski

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=202211100529.cG57XaEQ-lkp@intel.com \
    --to=error27@gmail.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=lkp@intel.com \
    --cc=mchehab@kernel.org \
    --cc=mripard@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=oe-kbuild@lists.linux.dev \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=samuel@sholland.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wens@csie.org \
    --cc=yong.deng@magewell.com \
    /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