Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1944708pxy; Fri, 23 Apr 2021 23:54:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyMbIHDZ2zdsUbScqoqDU1e7jxaQQSgJwa+JDHZPjNCQMP9jd8lyKDcPteXiAmtdzaVxVNQ X-Received: by 2002:aa7:cb4c:: with SMTP id w12mr8672461edt.181.1619247245553; Fri, 23 Apr 2021 23:54:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619247245; cv=none; d=google.com; s=arc-20160816; b=JwrRIQmcQz2kRJnO70TN/2tXLfzQ2XazHEB8ELb8GiFUbTz0h1nkulN4ppJL4Bnm4S xrf1IGpAuQtFjjzF+Az0O0TBfnWjf4JPSV1IT6WqHdZHrYZ8rWBen71zbp8klOrfHH0P 21wwpT/mmygJsXTPP5B1VMkzjoDjrno8C3A+48v8PK/3vyn9LEiZoai3Wp+SYiqu3dqa R/6x4K1D7D6Avq/Kbn/Vg5FVTtb45BEJ1uW1/826uZbjdCEsJa6nQB8SfJSuKUzGEn4W 92fqrwBZwn3Cn1DS0K5H/tjQgVqPFCoX5G4ZAjYO5s3HeMiMucYRXIj/q552KjQ/MbzQ P8jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:from :dkim-signature; bh=tMzgd0uWoWpbIatMy/LU6IesT9Lzpkp9GOtSqlYOKqE=; b=ieQ//VjP6SxjJZ0OVVirtwt87bXhsbPgqEwBTeNZLcaurjP0BDYzOluKMZsVtMN35C l3v5VQ5/wQACKeNzgUYgo6sMdJWPDTYb0TTdbXBDdWhJ6mh7vAf3yHQdqhG2CKMtWkw7 ezhrPT8JR6rBBtMUZxAm1EGPemuAHE94Q5bHcK/nQv8a8+YQBlSv+OIGdPHNrOTY2qTy 11yy2G2jTNyXdmFw8XERx5xfQLy1a3SJqQeQhwv6t7ypoyNqqWWxn8FngZUJuGuCW1Lg ttU/uMkMq9bIAd6bW3FRJk/a931+oEpa6a+JdgP3om5zEcBGYtLh2Hj3oSBdoTmELgQ3 RtCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@kernel.org header.s=k20201202 header.b=YDufxags; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v26si6267237edq.297.2021.04.23.23.53.41; Fri, 23 Apr 2021 23:54:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@kernel.org header.s=k20201202 header.b=YDufxags; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237482AbhDXGuw (ORCPT + 99 others); Sat, 24 Apr 2021 02:50:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:35850 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233626AbhDXGqU (ORCPT ); Sat, 24 Apr 2021 02:46:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id CA7606193F; Sat, 24 Apr 2021 06:45:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619246733; bh=XV1aFn/9IHvqaI3bNO5mEA5OXRMeQJuzMBPERWbm1lc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YDufxags8Yy2ihXmzrgCGfQA5W3ONdMbGdY2XOLLwAjHtSUCGTDoT+jwb2CbNrQDB gARYqH+DSBuMOJ6Eh0UYtXhQUmGnoQpKSzvQkqR4CHYlwYEw26HRaxm/Ofh51nR4gk 8NeqYiAVkrGib++ooyfu+VwFeXXfnmatNR91eSs2iwRgRb26vhZxQtLvf8vMCIxexU tcT6Hxm27Rky05JLCeZ1jz4nGP/xeOPs0b0p11fN5zPuQq2Xv1fIr8t0tiENEA8URi 6DNVnGhKt4DXF2CZEWgCeTrSzqwHhZ0xmoTgeWyUmOw7gqAoVJymNDz8RuzFMUvdoK lZux7sBo7Dy3Q== Received: by mail.kernel.org with local (Exim 4.94) (envelope-from ) id 1laC2l-004JfY-Vi; Sat, 24 Apr 2021 08:45:31 +0200 From: Mauro Carvalho Chehab Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Mauro Carvalho Chehab , Hans Verkuil , Jacopo Mondi , Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Subject: [PATCH 38/78] media: i2c: mt9m001: use pm_runtime_resume_and_get() Date: Sat, 24 Apr 2021 08:44:48 +0200 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Mauro Carvalho Chehab To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter") added pm_runtime_resume_and_get() in order to automatically handle dev->power.usage_count decrement on errors. Use the new API, in order to cleanup the error check logic. Signed-off-by: Mauro Carvalho Chehab --- drivers/media/i2c/mt9m001.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/mt9m001.c b/drivers/media/i2c/mt9m001.c index 3b0ba8ed5233..57e15a291ebd 100644 --- a/drivers/media/i2c/mt9m001.c +++ b/drivers/media/i2c/mt9m001.c @@ -217,9 +217,9 @@ static int mt9m001_s_stream(struct v4l2_subdev *sd, int enable) goto done; if (enable) { - ret = pm_runtime_get_sync(&client->dev); + ret = pm_runtime_resume_and_get(&client->dev); if (ret < 0) - goto put_unlock; + goto unlock; ret = mt9m001_apply_selection(sd); if (ret) @@ -247,6 +247,7 @@ static int mt9m001_s_stream(struct v4l2_subdev *sd, int enable) put_unlock: pm_runtime_put(&client->dev); +unlock: mutex_unlock(&mt9m001->mutex); return ret; @@ -834,7 +835,7 @@ static int mt9m001_remove(struct i2c_client *client) { struct mt9m001 *mt9m001 = to_mt9m001(client); - pm_runtime_get_sync(&client->dev); + pm_runtime_resume_and_get(&client->dev); v4l2_async_unregister_subdev(&mt9m001->subdev); media_entity_cleanup(&mt9m001->subdev.entity); -- 2.30.2