From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 135BD39D; Thu, 10 Nov 2022 06:57:10 +0000 (UTC) Received: by mail-wr1-f41.google.com with SMTP id l14so901972wrw.2; Wed, 09 Nov 2022 22:57:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=L1O9vx/w0pSScJPYJU2hSXOoClhMo14F1MGXdWp+Ufg=; b=ih2hj2AwLw6uHnoVWJIxZvKqdEAjHM0jD7xTrnsEAwACZBNaBmpfcMk5js1HYZby6j lZ14H3xql7RMtd4Y631wpUfgRpewaFbcFGzKPVwWfKNW2ligyRCLwPQ0coycdb/HPLK5 Aa1eGy6Pbd1viF+NxdMGsQyEO5mqdq94QY682+gg46t1yKKXWpO4OF40rayUs3SIG9KG BN6bsWIsNMEzq0E+OtfV1rOk0IizI2F1Dpa0xipPGxX4ZJeUp16zdkHN+WshRusac+TJ S4RoDuaavXzvW1osuQLAGkp00ifZsf31CoNtZIuefwBTNOVgXZexiRyt3fbOd97uwWYv bdhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L1O9vx/w0pSScJPYJU2hSXOoClhMo14F1MGXdWp+Ufg=; b=0uGBdVBBfOvL2xGBATTBjuwrmpjH9iwKGGWWZ12NV1QEl6OmiIg7amZhBVGyqQlzxf eHBaYAspOAsQaOdwBp81uJohB/k5OH4riRy7Cy9SDRUvLXmxGeKOMbm86FyBqLQZG5BQ 2v3x3sSQfVUVT+dY/t6/2Ss3rxmjjrR+RYCgCOzcRvrUBqLc3gP84WtR4BRzNTMNOyEY vTCttoTAZQeFNuybtX2YU/kD0w+JqBRZWYe5onxMv7nhOSwKPlGP6g8JFuqL4fHJCnmk MVUxL+8osnDsvW90XCceekanHXCMCOPZJixWI59A5VsTYfxpTHwQnz7ijqoum8tshtOL oskw== X-Gm-Message-State: ACrzQf38eRUynT+bC2iL5LE61hVdvXHMIhN1c0Kqa8SofbWbOYkhe/WX 22i4QZvuzMK74LDX2INJUB1As+AI8mRyoQ== X-Google-Smtp-Source: AMsMyM6YvildaZhGa/d4MYEc0dWoFhApR6w0TXgYEOeTCBEzNq0RU0eJrIdKmvqEDf29jjNFtqRVCQ== X-Received: by 2002:a5d:618e:0:b0:22a:f546:3f68 with SMTP id j14-20020a5d618e000000b0022af5463f68mr995725wru.651.1668063428798; Wed, 09 Nov 2022 22:57:08 -0800 (PST) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id h4-20020a05600c350400b003c6f426467fsm4357994wmq.40.2022.11.09.22.57.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Nov 2022 22:57:08 -0800 (PST) Date: Thu, 10 Nov 2022 09:57:04 +0300 From: Dan Carpenter To: oe-kbuild@lists.linux.dev, Paul Kocialkowski , 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 , Paul Kocialkowski , Mauro Carvalho Chehab , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Laurent Pinchart , Maxime Ripard , Thomas Petazzoni Subject: Re: [PATCH v7 01/28] media: sun6i-csi: Add bridge v4l2 subdev with port management Message-ID: <202211100529.cG57XaEQ-lkp@intel.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 | Reported-by: Dan Carpenter 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