Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp1464606pxy; Thu, 6 May 2021 08:29:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz/uKoAt1Bfx0B7vXBLgGhlspxxNurdH1fSfnlFTkWD68paLkH1urep4AXp0abKU4p320qN X-Received: by 2002:a17:90a:f690:: with SMTP id cl16mr5391642pjb.207.1620314946059; Thu, 06 May 2021 08:29:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620314946; cv=none; d=google.com; s=arc-20160816; b=VHEGmm6Oi5mfZQ45Acj9T60B990UDrcVwIDRnPe0lauRRg8ks2cuZkKFtjU72aK8Ge r7wQ/Ai0e151VzcBQIuo+f0TZPin/9Zad8PQz0s5ITgXuN0E/Fdu3sgEMEZ1yKqZJdIc pEu/g7mCKWyFk5Ho/OI9thipLNM0MYb9l5a1EA5948q5RdRguDgj7bc5s3VBSfaXRlX3 MinzW/bq5nxN4ZxUDsQa/b+W2q7qKV9UVL7Tm5Y9I06rCKnKC5yUDLVkxl8jxfjtOo7l Bp15cbL0NhrOvVPGM9QV4k0+7pGO3zbeMHz+UtwX5SFGz+K0BroX7y3uz4iFiiiJ8kBq yl4g== 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=iRAUV+e3PtSNX8/4Qbi5wmVyq4R3DodYbGlHoN4lwhI=; b=VSs9HUwC+Pb8apPXMjD8WwZkMAJhyYvcpQX6FbddVE2U41qljcoBTX98FhRquaEKLO 7fvH9W1IznIcgGxtM4a/j7b0TKT/vFhRWcylbSDaiPq/JHoxDVw/wFdRC/x55n1vmZHh u/NFK18yI9UkW7EfGRkQRgiyPuUX7xIy0CC1lonXPRG+SK7agbqH00CDIMygG/PStZWf yPvpskv5wfO7WVgHjT0QhkJfAAWNAtv/dHO/cHVweDd4CIzqzp60pWKksA5w7lnVlAi9 K0/h/UO+D3ioeEsrZkIQ/Jjfz9HfBCfpLODNprea6Ih1sQdlqU9QehtQZP6vC83Gaou5 UxQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@kernel.org header.s=k20201202 header.b=Zr4XORA0; 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 5si3074309pfp.343.2021.05.06.08.28.52; Thu, 06 May 2021 08:29:06 -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=Zr4XORA0; 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 S235450AbhEFP0y (ORCPT + 99 others); Thu, 6 May 2021 11:26:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:38140 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235161AbhEFPYj (ORCPT ); Thu, 6 May 2021 11:24:39 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id DF6D061426; Thu, 6 May 2021 15:23:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620314610; bh=HyEc9UNwq5f+9HkjZrtYJol03xr9+57BThXZkb1RvbU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Zr4XORA0UIja5TGWNYfypJu8ac+wIlsz1ZhleHAIroEDx25+SY/hySKaAXyHTmZrb WtRJnUl/j69SsgG2gq4qfTHSqarIUzUcvDAHZzXl5lF1THl6QWDl1Pa4puxr9N4eRf fNZ2nJCK53Ja6eNsWR/D17im9ZFDxso4BmVaywlWRdeN5xVe0a40wIazu4ROm57NuS ynMRM2oLufrzMQhgmZaEZcUjF+HEop/veNcCZnv2mo4vP7w/e8mcehkFPBy1yUwXpB 2NjaHfMjfeem03LOthYrlIt4MXBdC7iILpt7zachvADpQsmOfLsuEiXNXPNvw2YZRU fd1QOpY6efmJA== Received: by mail.kernel.org with local (Exim 4.94.2) (envelope-from ) id 1lefqb-000RwQ-28; Thu, 06 May 2021 17:23:29 +0200 From: Mauro Carvalho Chehab Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Mauro Carvalho Chehab , Matt Ranostay , Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Subject: [PATCH v5 29/30] media: i2c: video-i2c: use pm_runtime_resume_and_get() Date: Thu, 6 May 2021 17:23:25 +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/video-i2c.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/media/i2c/video-i2c.c b/drivers/media/i2c/video-i2c.c index 0465832a4090..de12f38f347c 100644 --- a/drivers/media/i2c/video-i2c.c +++ b/drivers/media/i2c/video-i2c.c @@ -286,11 +286,9 @@ static int amg88xx_read(struct device *dev, enum hwmon_sensor_types type, __le16 buf; int tmp; - tmp = pm_runtime_get_sync(regmap_get_device(data->regmap)); - if (tmp < 0) { - pm_runtime_put_noidle(regmap_get_device(data->regmap)); + tmp = pm_runtime_resume_and_get(regmap_get_device(data->regmap)); + if (tmp < 0) return tmp; - } tmp = regmap_bulk_read(data->regmap, AMG88XX_REG_TTHL, &buf, 2); pm_runtime_mark_last_busy(regmap_get_device(data->regmap)); @@ -512,11 +510,9 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count) if (data->kthread_vid_cap) return 0; - ret = pm_runtime_get_sync(dev); - if (ret < 0) { - pm_runtime_put_noidle(dev); + ret = pm_runtime_resume_and_get(dev); + if (ret < 0) goto error_del_list; - } ret = data->chip->setup(data); if (ret) -- 2.30.2