Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp3577079ybd; Tue, 25 Jun 2019 05:08:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqxAcRvg1FuFCbt+fZMmSIqvHgNWijonPOqFnM5629EZ58IPBbfTGz3tUhoZdROD3/afS5fl X-Received: by 2002:a17:902:968d:: with SMTP id n13mr8190368plp.257.1561464483721; Tue, 25 Jun 2019 05:08:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561464483; cv=none; d=google.com; s=arc-20160816; b=hH1Qedj1whECrhY1kLLVv7tnI7JYwdzZYLATTyQDm4MG5ilCRV1ZlULn9em+4syPpu xTZfbVub7VzJ+gK2E3NF7MEHFFwV/E7IKu1O2qdn67qpPTWF69Pk+lzcrdS6cOhugcpn qX1ocnD3VNK2iUN4NIPGCZbQ3k0d22m4rh69vO7DK5NIC5urjhI8GJlFbqa4Bg9KV6TC lSIOXtd/F/s+ci2SnPsLk9tIu8Dck7JtkjIKM7yHhyK7KhEgM2Y+QGk9ya9L4EUWRX+H uXHB7KgRriW7tq19EWGbizsONEYsQUuFzuelPir7fQoU2HCfzQHg7An8ce8+XQATrxr/ fYxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:in-reply-to:subject:cc:to :from:dkim-signature; bh=Is1+qLfsClVYiQcPS895LnMxgYzGgmXn4MHHKf2bb7I=; b=uVyShHn1qwDDt5Rv+kQ3yOywuhWVP4V4kqRQQgirySEiip3qmQ0NAKE0wfS/BDT+un 8Jzmn9d1K0v1CXBFnWSl7BxDfv3Pp29/B1R2hQHTng3CiYaH2D1qKQ+ev3P78aWH1q9D aYVsq73Y9n6JyCKJPmq9HSQ6MUORNZp7rDSbPqeKo2M7Hb25NsKrEpAKNf/jV3M2JFdF WXI5++TL0xwC1WMRA2/BrEkgW64ZDeySIH3WGDvYkuc6qU3aamdIU8EeabM3zZJqZwvL cmD4O/rFFNMgCCdBia6gs+bvy/pUwXacM85i/ENRBkPiyMW7DN5UdaKo6PR8hZKtCFaO /v3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=cNk4HE2O; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c64si2612550pje.9.2019.06.25.05.07.46; Tue, 25 Jun 2019 05:08:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=cNk4HE2O; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731754AbfFYJyM (ORCPT + 99 others); Tue, 25 Jun 2019 05:54:12 -0400 Received: from heliosphere.sirena.org.uk ([172.104.155.198]:37282 "EHLO heliosphere.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730063AbfFYJyI (ORCPT ); Tue, 25 Jun 2019 05:54:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=Is1+qLfsClVYiQcPS895LnMxgYzGgmXn4MHHKf2bb7I=; b=cNk4HE2OKVSE St+k+AGRo3ZxuiSrky92SzPbqf4UFvfwEaI6n+IVKYrX9I8a/UrMrdqwLrHVHcLBYEwcUia2INzV6 tYSzPa1lYqmLmz7LtxB7iiKinuPW52wKKTsZclliiDmWBvgkqOwMCSTdFIX/jZQuPsucp2HRopelY 9mwNw=; Received: from cpc102320-sgyl38-2-0-cust46.18-2.cable.virginm.net ([82.37.168.47] helo=finisterre.sirena.org.uk) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hfi9G-0004mc-GD; Tue, 25 Jun 2019 09:53:58 +0000 Received: by finisterre.sirena.org.uk (Postfix, from userid 1000) id 6A2A0440066; Mon, 24 Jun 2019 17:32:21 +0100 (BST) From: Mark Brown To: Krzysztof Kozlowski Cc: Bartlomiej Zolnierkiewicz , devicetree@vger.kernel.org, Kukjin Kim , Lee Jones , Liam Girdwood , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Marek Szyprowski , Mark Brown , notify@kernel.org, Sangbeom Kim , Sylwester Nawrocki Subject: Applied "regulator: s2mps11: Reduce number of rdev_get_id() calls" to the regulator tree In-Reply-To: <20190620183530.5386-2-krzk@kernel.org> X-Patchwork-Hint: ignore Message-Id: <20190624163221.6A2A0440066@finisterre.sirena.org.uk> Date: Mon, 24 Jun 2019 17:32:21 +0100 (BST) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch regulator: s2mps11: Reduce number of rdev_get_id() calls has been applied to the regulator tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-5.3 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark From df33799c5c3262a69acd29b7a4eb9e7cbd1b007c Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Thu, 20 Jun 2019 20:35:26 +0200 Subject: [PATCH] regulator: s2mps11: Reduce number of rdev_get_id() calls Store the regulator ID instead of calling rdev_get_id() every time. This makes code slightly easier to read as shorter 'rdev_id' variable is used instead of full call. This can also speed things up by reducing number of calls, although effect was not measured. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Mark Brown --- drivers/regulator/s2mps11.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c index 134c62db36c5..93570712eb56 100644 --- a/drivers/regulator/s2mps11.c +++ b/drivers/regulator/s2mps11.c @@ -70,10 +70,11 @@ static int s2mps11_regulator_set_voltage_time_sel(struct regulator_dev *rdev, unsigned int new_selector) { struct s2mps11_info *s2mps11 = rdev_get_drvdata(rdev); + int rdev_id = rdev_get_id(rdev); unsigned int ramp_delay = 0; int old_volt, new_volt; - switch (rdev_get_id(rdev)) { + switch (rdev_id) { case S2MPS11_BUCK2: ramp_delay = s2mps11->ramp_delay2; break; @@ -111,9 +112,10 @@ static int s2mps11_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay) struct s2mps11_info *s2mps11 = rdev_get_drvdata(rdev); unsigned int ramp_val, ramp_shift, ramp_reg = S2MPS11_REG_RAMP_BUCK; unsigned int ramp_enable = 1, enable_shift = 0; + int rdev_id = rdev_get_id(rdev); int ret; - switch (rdev_get_id(rdev)) { + switch (rdev_id) { case S2MPS11_BUCK1: if (ramp_delay > s2mps11->ramp_delay16) s2mps11->ramp_delay16 = ramp_delay; @@ -203,9 +205,8 @@ static int s2mps11_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay) goto ramp_disable; /* Ramp delay can be enabled/disabled only for buck[2346] */ - if ((rdev_get_id(rdev) >= S2MPS11_BUCK2 && - rdev_get_id(rdev) <= S2MPS11_BUCK4) || - rdev_get_id(rdev) == S2MPS11_BUCK6) { + if ((rdev_id >= S2MPS11_BUCK2 && rdev_id <= S2MPS11_BUCK4) || + rdev_id == S2MPS11_BUCK6) { ret = regmap_update_bits(rdev->regmap, S2MPS11_REG_RAMP, 1 << enable_shift, 1 << enable_shift); if (ret) { @@ -503,20 +504,21 @@ static const struct regulator_desc s2mps13_regulators[] = { static int s2mps14_regulator_enable(struct regulator_dev *rdev) { struct s2mps11_info *s2mps11 = rdev_get_drvdata(rdev); + int rdev_id = rdev_get_id(rdev); unsigned int val; switch (s2mps11->dev_type) { case S2MPS13X: case S2MPS14X: - if (test_bit(rdev_get_id(rdev), s2mps11->suspend_state)) + if (test_bit(rdev_id, s2mps11->suspend_state)) val = S2MPS14_ENABLE_SUSPEND; - else if (s2mps11->ext_control_gpiod[rdev_get_id(rdev)]) + else if (s2mps11->ext_control_gpiod[rdev_id]) val = S2MPS14_ENABLE_EXT_CONTROL; else val = rdev->desc->enable_mask; break; case S2MPU02: - if (test_bit(rdev_get_id(rdev), s2mps11->suspend_state)) + if (test_bit(rdev_id, s2mps11->suspend_state)) val = S2MPU02_ENABLE_SUSPEND; else val = rdev->desc->enable_mask; @@ -570,7 +572,7 @@ static int s2mps14_regulator_set_suspend_disable(struct regulator_dev *rdev) if (ret < 0) return ret; - set_bit(rdev_get_id(rdev), s2mps11->suspend_state); + set_bit(rdev_id, s2mps11->suspend_state); /* * Don't enable suspend mode if regulator is already disabled because * this would effectively for a short time turn on the regulator after @@ -856,8 +858,9 @@ static int s2mps11_pmic_dt_parse(struct platform_device *pdev, static int s2mpu02_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay) { unsigned int ramp_val, ramp_shift, ramp_reg; + int rdev_id = rdev_get_id(rdev); - switch (rdev_get_id(rdev)) { + switch (rdev_id) { case S2MPU02_BUCK1: ramp_shift = S2MPU02_BUCK1_RAMP_SHIFT; break; -- 2.20.1