Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4156576rdb; Mon, 11 Dec 2023 10:19:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IFPRWUgJA02Ym009EpsHBPebYUpZkVAOt+dpetBa86nVc7FolZFZ/seMwLVHMzRANmi0uuU X-Received: by 2002:a17:902:f68d:b0:1d0:af28:254 with SMTP id l13-20020a170902f68d00b001d0af280254mr2273933plg.38.1702318796180; Mon, 11 Dec 2023 10:19:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702318796; cv=none; d=google.com; s=arc-20160816; b=jRT7FWEZqFMtUHjmYaOHwPHp2jELSC0jVz7Rfi5i98bXlPIkYj0Tfhf3FlMAX/xmiR LaB3Fil6H0kUPR0wuDjdfwBRebAYduXE/Y5yVWGd+H6G1kgTc5ntCL9ZwB5VpyW7J96h jBFdaq1l6E6/0RZhb6DeFWjfk0rSN71VAezXzzjN6S0n9lVM+c8uFxW4iJqTx9zrcqiU 5lUporEDEmY/9Ktd6JyBPzz4QF0J6+bYxuVSWhj5Qsdy/2zeY8rn/K/H1ZuDwl1YkSBF yOi+w/jBmSYDCQz/I6foy4O9QUEvC4y4FEeisvPNmwdm8oSR8muniQY9lseO/oSNtv94 xyoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=+/sG8XHabY/0iZJ0HbIXfqOTG2ofYPy2eOLVCn0r7L0=; fh=jqTWrQ5bCH5SYcBidMUA87AoUf4V55L1bAZhntpQF1g=; b=Ln2iJyKFw4DXyfmpyxTozttUe3smetV945nz5zLL99kYMKnqJEtFPTy+KFgy4uep4t rZ4EwT1cmBxadQs/g7Dtb2Io76Rg8AB5qwdd9s6j2IbCQ8M15WODjR4DU7fJNkELyn1u 5ku5AUwPBOPwQwlgH9LT48o8MBDzisSBadtUVcBrLvc3OCIbSxPHDhAQcVM7QXvynAWx Rs3qD8J6zWuKNrA9m8PuYAN+LENPTRqiqkF8Vrnoa9un8G46k3On1+ClkR24htJ0F+r/ uklBrl588TsCragRyrAev6TAVaK1jErvz4DneqN7IxotmYS1ZLaX9ZEYMEnJx7aII8g3 oHmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=sSNxKmzx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id b6-20020a170902bd4600b001d00c80f3b3si6278874plx.280.2023.12.11.10.19.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 10:19:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=sSNxKmzx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 7D11E8076E63; Mon, 11 Dec 2023 10:19:46 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343918AbjLKSTY (ORCPT + 99 others); Mon, 11 Dec 2023 13:19:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229516AbjLKSTX (ORCPT ); Mon, 11 Dec 2023 13:19:23 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E32D395; Mon, 11 Dec 2023 10:19:29 -0800 (PST) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 274C0922; Mon, 11 Dec 2023 19:18:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1702318724; bh=EIg4EO4Pq5viQln2mk2Z+mPdeO40bI0I0QIxtK3AB8Q=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sSNxKmzxVGwUHs/fJsZ2OsIyU/O1sYytP/uWYGE1ItV1/l+JIi+baiBxLbNDo6WAV aU2iyIrJNjNVcGIVL/X3g3UFqKHFkh56HLbdvHBbfT3mnneTF3btn6DGc/JYA4vLXy yqrrSsovOvwK6aLwDR/Zz+yxu0F1va4ZTyW+7LRc= Date: Mon, 11 Dec 2023 20:19:35 +0200 From: Laurent Pinchart To: Mikhail Rudenko Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Sakari Ailus , Jacopo Mondi , Tommaso Merciai , Christophe JAILLET , Dave Stevenson , Mauro Carvalho Chehab Subject: Re: [PATCH 08/19] media: i2c: ov4689: Enable runtime PM before registering sub-device Message-ID: <20231211181935.GG27535@pendragon.ideasonboard.com> References: <20231211175023.1680247-1-mike.rudenko@gmail.com> <20231211175023.1680247-9-mike.rudenko@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231211175023.1680247-9-mike.rudenko@gmail.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 11 Dec 2023 10:19:46 -0800 (PST) Hi Mikhail, Thank you for the patch. On Mon, Dec 11, 2023 at 08:50:11PM +0300, Mikhail Rudenko wrote: > As the sensor may be accessible right after its async sub-device is > registered, enable runtime PM before doing so. While at it, could you also switch to runtime PM autosuspend, possibly in a separate patch ? See for instance the imx290 driver. > Signed-off-by: Mikhail Rudenko > --- > drivers/media/i2c/ov4689.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/ov4689.c b/drivers/media/i2c/ov4689.c > index 2eef64cd0070..ba33b0ced532 100644 > --- a/drivers/media/i2c/ov4689.c > +++ b/drivers/media/i2c/ov4689.c > @@ -874,16 +874,16 @@ static int ov4689_probe(struct i2c_client *client) > goto err_clean_entity; > } > > + pm_runtime_set_active(dev); > + pm_runtime_enable(dev); > + pm_runtime_idle(dev); > + > ret = v4l2_async_register_subdev_sensor(sd); > if (ret) { > dev_err(dev, "v4l2 async register subdev failed\n"); > goto err_clean_subdev; Don't you need to disable runtime PM in the error path ? > } > > - pm_runtime_set_active(dev); > - pm_runtime_enable(dev); > - pm_runtime_idle(dev); > - > return 0; > > err_clean_subdev: -- Regards, Laurent Pinchart