From patchwork Fri Oct 13 08:48:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 152397 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp1748269vqb; Fri, 13 Oct 2023 01:49:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEdHlU/0PPzvxsjRv2u3KXnWLKImjc1Ot7psw0ZlQwtQkvpoyCGEuZtE8z+95riQor6sB7y X-Received: by 2002:a05:6830:4902:b0:6b9:b987:1337 with SMTP id eq2-20020a056830490200b006b9b9871337mr31298619otb.1.1697186942078; Fri, 13 Oct 2023 01:49:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697186942; cv=none; d=google.com; s=arc-20160816; b=noNkw4ryFyKVNGlvcWrtlR4BdkWfMbMVs/ZoNEgwXQus1hpHGG/koublusymccnt06 A2Z61c7o2FEUzQJtbCOQHu+GFk1bOf7MP0jioXiFT96XGBvpBvRE2QWsLlazfjW4gXVk kcTAJ/QV8EPtXPsEksL6WFSr3Ksmwv9U2PctL26z5Mes/WBrHTWJndMsXvG53K2KALrR KYQT6HWdePv9XpuFvLOIex18SNSYZOff1753+rtefQ5cO4LIIYHryP7KE5gpo9k4FcTU LMjarEl7O00/snkIRtpcsVXKhoSvbgBqscLlr9yPl6dUPSmRMnHmEwUDI8KfjUDp2ENG Jr3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9sgnTvvfVpiAPPJ8fiCTAGKK94xzxBt3csYQrYp95xs=; fh=gqvArZzT56mpbWZPbgkVieHv+0GTgVLQCUEWHP+2lYM=; b=dEoDTrLVy84Y11DCfY2JaZRtV5f2pJgCIivb2weRPNFUPsk0GUz9WFBxRJb8M2rbG6 qFXMVxp9Qqnlfw+UFJKlsWtI1+uOmiVwaiVYTHTMGOnsSc7oBjFSqWrK2KoQkzYuEQs1 TfuAF3Hy0QxTfWWhcuu0wNXax1eF9uY8HHwRo6xLaU0WnEaO3F7ceqb8VXWEeDKilQkn riam5+1ks35J0OVgsdVbgnZNFXRiX7dCoGtygT/Q8yayZWivnUyOKRXRc4fE+6QoSfgh RZbXayEsAzj/PXG0dN61UgGpnwou6NZ4RFdHKXZRaGBfbI3vPJCYIyLiqGaA3PCXNviq Jd3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R2ylfw32; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id t10-20020a6549ca000000b0059b64b153f6si4249892pgs.845.2023.10.13.01.49.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R2ylfw32; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 6594D80BE2D9; Fri, 13 Oct 2023 01:49:01 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230224AbjJMIs5 (ORCPT + 19 others); Fri, 13 Oct 2023 04:48:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230159AbjJMIsz (ORCPT ); Fri, 13 Oct 2023 04:48:55 -0400 Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F265C0 for ; Fri, 13 Oct 2023 01:48:53 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1ca052ec63bso2050075ad.1 for ; Fri, 13 Oct 2023 01:48:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697186933; x=1697791733; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9sgnTvvfVpiAPPJ8fiCTAGKK94xzxBt3csYQrYp95xs=; b=R2ylfw32owgpzXLev8WI4JbQpc3yML7eAnkdXT5dDeEAebPG0A/7OBW7J/dELPNu2w mJPUnQnN9+p6WFmju7Ewbaadn0kh1hsG+x9k/4dhf5zHJjQhJ+Qay8p8av5bpGpdM8Cx vM649EOJpmNOx3KT5sN1lBRqEFJSGLoLmBANaJfhJMjyg1CPMWB2U8Epyl4gzPJjRpNB PsTNY9980KC3u+d2e2ZSni/xHMJ1zJUrObOExCefmgzo38lj8R3CcK9OzW81CBRguljO dv5RQVWjKrKXc+DgATL9uDr0REFwOLN9GuRkI/RmNGaEgYZgv+rjTI06EtTj5Fxg62ta Ob8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697186933; x=1697791733; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9sgnTvvfVpiAPPJ8fiCTAGKK94xzxBt3csYQrYp95xs=; b=udAbTb1lC4LOITVQLRd4XSU92xMRfGbRpXshOmNBRdhOCBZqoN6Hy4Jhv9n9zSmP9i jGRVmjs8/wtMLgMRC7VKgmM9gkLxIfBAPrKEcTHu9AWIZAP0QJFAeoikOmczZVW3alpC +dnMWD49Qjx3nX2vrIcN9SdnVePlDuIRwVzdNY4gtxAUXO+BKJzprf0hKu1APSoa1X37 DgH+QZAWHd8mTztFBooidEpjPIKDHLUPpEBNrScDhpC4xLF8nAVQXXL4RBokRorbtIob dRV/RxpFk6kgUoMymslGjC6x2NqLClJXqELvy+TGW052Kwn9I5sUIZdoKtz7sptxdOps oKGg== X-Gm-Message-State: AOJu0YxKM6/wsA6AvLCl+HhDfxWR3usGENYHmt25IleykdRh8v2KGu5R zdcNA5V9KsXdWRc1RS5WQOkh3Q== X-Received: by 2002:a17:902:e84d:b0:1c5:ec97:1718 with SMTP id t13-20020a170902e84d00b001c5ec971718mr30704438plg.6.1697186932843; Fri, 13 Oct 2023 01:48:52 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id u9-20020a170902a60900b001c06dcd453csm3323741plq.236.2023.10.13.01.48.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:48:51 -0700 (PDT) From: Viresh Kumar To: Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , "Rafael J. Wysocki" , Ulf Hansson , linux-kernel@vger.kernel.org Subject: [PATCH 1/5] OPP: Fix formatting of if/else block Date: Fri, 13 Oct 2023 14:18:37 +0530 Message-Id: <58b984a1144b0db1dd6bdbcbbfbac69326f02dd1.1697186772.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=1.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Fri, 13 Oct 2023 01:49:01 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779629494866056528 X-GMAIL-MSGID: 1779629494866056528 Add {} to both if else blocks or none. Signed-off-by: Viresh Kumar Reviewed-by: Ulf Hansson --- drivers/opp/of.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/opp/of.c b/drivers/opp/of.c index ae5c405bbf9a..85e2af3d6a49 100644 --- a/drivers/opp/of.c +++ b/drivers/opp/of.c @@ -208,9 +208,9 @@ static void _opp_table_alloc_required_tables(struct opp_table *opp_table, mutex_lock(&opp_table_lock); list_add(&opp_table->lazy, &lazy_opp_tables); mutex_unlock(&opp_table_lock); - } - else + } else { _update_set_required_opps(opp_table); + } goto put_np; From patchwork Fri Oct 13 08:48:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 152398 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp1748353vqb; Fri, 13 Oct 2023 01:49:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYaqfSJR4R4JY+CddpwD0LuOrcsgGfYT7nJFh4HlG+HrygE5IzSg7HN5B+fLXub6kmXFfa X-Received: by 2002:a17:902:d2c1:b0:1c1:fbec:bc32 with SMTP id n1-20020a170902d2c100b001c1fbecbc32mr29216056plc.6.1697186956992; Fri, 13 Oct 2023 01:49:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697186956; cv=none; d=google.com; s=arc-20160816; b=lMo5xDQhbvuc1kjcHlWvlE7TsErmoCHM8VupKjbZDJLEwEqDDxDfc99vAzOpWOb1DB /aSdpg9pHJu3dEB8hctmm9e5bvwWSck+krR0KEt3goE+wqopho2wHJXRUhjRTqI1gy7d 8dX3SQ3zAcWm8V1tXwSMC4XieqsKjcq0Ux+m7v38dS5jR9df4GWugks2gW+/DFRitLzL sv2JZPwbyDylpsFpKZBzMf8rei9Che/1jaBLEKjrjSx7+OevVe9VvkRt41F2d0pAmB5h M9DZ1BIev1XSa1zcvPTCrjuTGSRHm+CCg5GYsHIpBcKDhOSPUtb77VeKMbMIp9QfZZmy LMVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Uz759/oMLk+eLy7Ws95dezNQB9MhOE7jwblbgespyKU=; fh=gqvArZzT56mpbWZPbgkVieHv+0GTgVLQCUEWHP+2lYM=; b=rZRZ8+/q+OAnZV98sXBQj/UD8qhTpo9vpogdsiCN4f16JMf/ExsRNW5sX1CT2beU44 spH16ssLoOaAzgaZUjeTWQTURUckoqdMqpu1odJcYikUOeP2mr1izztYSHactPKQ2QQv S/0chH2U17JCHT/cI/WqpSNwdjNUO8yVvG62mlyBWw8EOMkNQzJH3duSjH5UEqBhVsED 4EkcWInYZ9vESDVAbjeB/0hqsvtID9HKpLyc/o7t+APX+LUNR4s//oMNhaJNzcbHc2vX qOdzxYTRPqxTf+MRXMgIDodS/s/WXybPYt7A0QcdzXXxonTyV+oBZHQ+9Eagh84rPAac GRdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Pa8z4K60; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id a4-20020a170902900400b001c20db25108si3839628plp.41.2023.10.13.01.49.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Pa8z4K60; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 9B71981F3930; Fri, 13 Oct 2023 01:49:10 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230255AbjJMItA (ORCPT + 19 others); Fri, 13 Oct 2023 04:49:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230229AbjJMIs6 (ORCPT ); Fri, 13 Oct 2023 04:48:58 -0400 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 89B0CC2 for ; Fri, 13 Oct 2023 01:48:56 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1c9b70b9656so13554885ad.1 for ; Fri, 13 Oct 2023 01:48:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697186936; x=1697791736; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Uz759/oMLk+eLy7Ws95dezNQB9MhOE7jwblbgespyKU=; b=Pa8z4K60xTrZrs0pbRSt+uXHAxirfvwJnFfS+fvBmaHIF+7vPYoSzmAsKZ006jtFSw kFYeO0strsUSwb6eFCORNqGQCyW7RbB1SojSxbL6YLJ2bItef++hyco5BkVeQ5TnrqGd 9XrSBDyuBaTuXvpjh/AW/6ncIgJ0/lbH+DWONglt0zFyULaGKaTxZHAYBlUQOy6Csea5 hLq1ygBxsRJGBdo9r5J2PIllI1NcvqffY/nSmOr53zhrbpQuEqh/fF2qeXnfthBR7M54 UuQS+tWCYorJ+yp47hLG3DayVBq1wu1wWJFAcOJUzsxNX05T/M5TbjOdpxJATbKMC1s+ gQ5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697186936; x=1697791736; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Uz759/oMLk+eLy7Ws95dezNQB9MhOE7jwblbgespyKU=; b=WE8Lgroz01P9GgpdB3iJzgPk2/bPqjicx30aDm6+IWMZU9GvGynVnvPc+7uxA5+GrX uF8l1pxn5mkqPttgB9rhDh0MjHCmue4GpKhdzFK+QKptJxTmLRQMdwA0pvaKhFpfbA0t mK0yC0eOpFnDaPHHeUiBDO21tPPECReOR6tHRIx7P0f1781YD+xhwfxFVYAxuu7g9vDJ NpiottUqg2QjRejCLTc3HVWvk775diXFOTBkwLpnSSBcxt0tJy2NOL3YeYR37xr+9WZF l2owzUSxpDLgliKnYMynp2qTNR+sxJ+nsq9vidJnzB9whWNSXR0Q9/xn8KvsoYSFotD0 1d0Q== X-Gm-Message-State: AOJu0YyoGxekwr9w4E1hzkzRTMSuzUG6htssbDdJXym9TwrE3WNCghuu QYcvWVR8Vuo6FaQLH/mp0T6E9w== X-Received: by 2002:a17:902:b604:b0:1c9:ba6f:af04 with SMTP id b4-20020a170902b60400b001c9ba6faf04mr8135602pls.35.1697186935994; Fri, 13 Oct 2023 01:48:55 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id 6-20020a170902c14600b001b86492d724sm3321494plj.223.2023.10.13.01.48.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:48:55 -0700 (PDT) From: Viresh Kumar To: Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , "Rafael J. Wysocki" , Ulf Hansson , linux-kernel@vger.kernel.org Subject: [PATCH 2/5] OPP: Add _link_required_opps() to avoid code duplication Date: Fri, 13 Oct 2023 14:18:38 +0530 Message-Id: <0890df8ddfafba0d9d214e73e4bb0e243a2db9fa.1697186772.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Fri, 13 Oct 2023 01:49:10 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779629510730707459 X-GMAIL-MSGID: 1779629510730707459 Factor out _link_required_opps() to remove duplicate code. No functional change. Signed-off-by: Viresh Kumar Reviewed-by: Ulf Hansson --- drivers/opp/of.c | 62 ++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/drivers/opp/of.c b/drivers/opp/of.c index 85e2af3d6a49..81fa27599d58 100644 --- a/drivers/opp/of.c +++ b/drivers/opp/of.c @@ -296,24 +296,41 @@ void _of_clear_opp(struct opp_table *opp_table, struct dev_pm_opp *opp) of_node_put(opp->np); } +static int _link_required_opps(struct dev_pm_opp *opp, + struct opp_table *required_table, int index) +{ + struct device_node *np; + + np = of_parse_required_opp(opp->np, index); + if (unlikely(!np)) + return -ENODEV; + + opp->required_opps[index] = _find_opp_of_np(required_table, np); + of_node_put(np); + + if (!opp->required_opps[index]) { + pr_err("%s: Unable to find required OPP node: %pOF (%d)\n", + __func__, opp->np, index); + return -ENODEV; + } + + return 0; +} + /* Populate all required OPPs which are part of "required-opps" list */ static int _of_opp_alloc_required_opps(struct opp_table *opp_table, struct dev_pm_opp *opp) { - struct dev_pm_opp **required_opps; struct opp_table *required_table; - struct device_node *np; int i, ret, count = opp_table->required_opp_count; if (!count) return 0; - required_opps = kcalloc(count, sizeof(*required_opps), GFP_KERNEL); - if (!required_opps) + opp->required_opps = kcalloc(count, sizeof(*opp->required_opps), GFP_KERNEL); + if (!opp->required_opps) return -ENOMEM; - opp->required_opps = required_opps; - for (i = 0; i < count; i++) { required_table = opp_table->required_opp_tables[i]; @@ -321,21 +338,9 @@ static int _of_opp_alloc_required_opps(struct opp_table *opp_table, if (IS_ERR_OR_NULL(required_table)) continue; - np = of_parse_required_opp(opp->np, i); - if (unlikely(!np)) { - ret = -ENODEV; - goto free_required_opps; - } - - required_opps[i] = _find_opp_of_np(required_table, np); - of_node_put(np); - - if (!required_opps[i]) { - pr_err("%s: Unable to find required OPP node: %pOF (%d)\n", - __func__, opp->np, i); - ret = -ENODEV; + ret = _link_required_opps(opp, required_table, i); + if (ret) goto free_required_opps; - } } return 0; @@ -350,22 +355,13 @@ static int _of_opp_alloc_required_opps(struct opp_table *opp_table, static int lazy_link_required_opps(struct opp_table *opp_table, struct opp_table *new_table, int index) { - struct device_node *required_np; struct dev_pm_opp *opp; + int ret; list_for_each_entry(opp, &opp_table->opp_list, node) { - required_np = of_parse_required_opp(opp->np, index); - if (unlikely(!required_np)) - return -ENODEV; - - opp->required_opps[index] = _find_opp_of_np(new_table, required_np); - of_node_put(required_np); - - if (!opp->required_opps[index]) { - pr_err("%s: Unable to find required OPP node: %pOF (%d)\n", - __func__, opp->np, index); - return -ENODEV; - } + ret = _link_required_opps(opp, new_table, index); + if (ret) + return ret; } return 0; From patchwork Fri Oct 13 08:48:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 152399 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp1748402vqb; Fri, 13 Oct 2023 01:49:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG6mhOm91dHDYq+zFYF6QmncfrD8cYqb1if+eyRr0wXqmT9HFeQcaxvWkc9q+hIA2//DC2e X-Received: by 2002:a05:6870:b508:b0:192:6fce:d3be with SMTP id v8-20020a056870b50800b001926fced3bemr27614237oap.1.1697186964575; Fri, 13 Oct 2023 01:49:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697186964; cv=none; d=google.com; s=arc-20160816; b=HF0HWZ1JK3G5M6+AIPBHJPEirhNDM5OdA1S8B286X8dCiUgelYeYivOik81ZEaDb9k quApEDlt0dkTbe2iqrh2Dh7uQhM9XT97Uso9kAlTjfJ8m1jSstBbYvf6KwT3errai0mu 1BEvUaYivzWnt0ZwLNS4FzilhuUZ7GXvMrf7xLH2a0yInPlqFtykVwWzYnWnxV69AkMl j98K6EXGvEderuux/axZdKK6FW9uwJ+JAu8+rgj0F9jHM0I0HlyE42RJjrMNus+UFdxA sde5aVLaZul2PY+7F6jlM2CcHjecg60Q465o3hSnbu1hv4axMHHEpTH+8/Yy7tEYoomt m47A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Il8qfrUz/VvYSn9zWibaW2EcrYf9IhDD8qWnA/nDM/0=; fh=gqvArZzT56mpbWZPbgkVieHv+0GTgVLQCUEWHP+2lYM=; b=0lTrDgr+6gH8C/qsp409Nf90Xk/+oIwe46cg98mhn5MpGO2GxJpkuU2tQ9VvjwgALc Mn6KZhwHcGHyllWpGB606zmb9Cx5h0v7UDrwSw5KmL4IJEMcZGaJRJF2LAjBOdyg+kQG OpAzzmw7sYSoRF9pOLnHkm2w8Q/tUDzT0mSJENyYauP1ymUj7zY/id1k0VV9v/V+NeZ1 r+hwWbSubNct/5T8ZKn9qZQlS3kdNKQ6u5dy/T0XxmMouyw1YoCWkDK4S6ixFy6KbLIQ 2ICuECsq935j1/msW3K+iW/HBXrZWMzD+qaszKVTV4KLBLiE7rPZk7fUQ5s5CMmv6SgT VNTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zFvuZ+v6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id 195-20020a6302cc000000b0056f7f18bbfdsi1151463pgc.632.2023.10.13.01.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zFvuZ+v6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id B472782C06FC; Fri, 13 Oct 2023 01:49:18 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230265AbjJMItF (ORCPT + 19 others); Fri, 13 Oct 2023 04:49:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230266AbjJMItC (ORCPT ); Fri, 13 Oct 2023 04:49:02 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A31ACDA for ; Fri, 13 Oct 2023 01:48:59 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-6969b391791so1468877b3a.3 for ; Fri, 13 Oct 2023 01:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697186939; x=1697791739; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Il8qfrUz/VvYSn9zWibaW2EcrYf9IhDD8qWnA/nDM/0=; b=zFvuZ+v6bcwUvKVEs+3fLEJhusLNtle5frH1gamu5LxaQSETaab5Aozpa6sGqw9qMT SeSmIxsc+ccqs/p+lveeerVxz4jHK1vGW2yXxcbFs9pbV72ge2///v4NJ6etsg5fnS/O jBl+qz7wLlkQxgSUN3yJuNZ6VLHqokTsEjBRD4yjJl9h5QP5cDpeYAbzU/sReQzli2p+ JgeJJvEgzZf/IDiR285Ev88BcpAfwZMlrxsJyplKi+s5EV/8oJzphjTXQe/shl5IGXSE B/rmGG4rVYoNPppTbjMidByz4p7KhBOpUe0PJnIbK9cZQ7TYd4Gje1CLVA/dp+s1VAOH WADg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697186939; x=1697791739; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Il8qfrUz/VvYSn9zWibaW2EcrYf9IhDD8qWnA/nDM/0=; b=CxZypTH7iP0mBRsxW/GP623ctC1HjOUiRZaFvHCV804B0+RPFhra72m5YAtH/dpAlt TIu9UarJZWEnSbsG+/r60osunokX4k7G5Hey5CgW7jnCnL6/ERP2gIxJPBSJ1J/ApkH7 7NqwHl9hQ1FKNMf0a4SnNwhR2b+HEeMM3ZKiDY3nAUv6OnoH+f5RKeWdx3IkWSCS6zsd VBcBhs4dtwGIK0AIcTMXWnem2dwskjNa4VazLiW9uZ0DUwVAEAmp6fuB9mn5oFdC56FS 1loLMqbOs3TL8r8FIP3kpthPVOYddj5Th2Ye6NOWc56ShDRpPseWTQn5ZT4ZEZ9CUIRM ikPA== X-Gm-Message-State: AOJu0YwmFUdQLz+vJpvuplOvLnHE5cO0Jcl1bIDirfwEC3bKQ+dgT/YE VJwVTfN9e7td/VwQJPhg3AXOPg== X-Received: by 2002:a05:6a00:b8f:b0:693:4202:b535 with SMTP id g15-20020a056a000b8f00b006934202b535mr29675823pfj.27.1697186939127; Fri, 13 Oct 2023 01:48:59 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id g24-20020a62e318000000b00696e8215d28sm13025120pfh.20.2023.10.13.01.48.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:48:58 -0700 (PDT) From: Viresh Kumar To: Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , "Rafael J. Wysocki" , Ulf Hansson , linux-kernel@vger.kernel.org Subject: [PATCH 3/5] OPP: Reorder code in _opp_set_required_opps_genpd() Date: Fri, 13 Oct 2023 14:18:39 +0530 Message-Id: X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.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 (lipwig.vger.email [0.0.0.0]); Fri, 13 Oct 2023 01:49:18 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779629518805862330 X-GMAIL-MSGID: 1779629518805862330 Reorder code in _opp_set_required_opps_genpd() to reduce duplicate code. Signed-off-by: Viresh Kumar Reviewed-by: Ulf Hansson --- drivers/opp/core.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index f42b663a4d8b..3516e79cf743 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -1076,7 +1076,18 @@ static int _opp_set_required_opps_genpd(struct device *dev, { struct device **genpd_virt_devs = opp_table->genpd_virt_devs ? opp_table->genpd_virt_devs : &dev; - int i, ret = 0; + int index, target, delta, ret; + + /* Scaling up? Set required OPPs in normal order, else reverse */ + if (!scaling_down) { + index = 0; + target = opp_table->required_opp_count; + delta = 1; + } else { + index = opp_table->required_opp_count - 1; + target = -1; + delta = -1; + } /* * Acquire genpd_virt_dev_lock to make sure we don't use a genpd_dev @@ -1084,24 +1095,17 @@ static int _opp_set_required_opps_genpd(struct device *dev, */ mutex_lock(&opp_table->genpd_virt_dev_lock); - /* Scaling up? Set required OPPs in normal order, else reverse */ - if (!scaling_down) { - for (i = 0; i < opp_table->required_opp_count; i++) { - ret = _set_performance_state(dev, genpd_virt_devs[i], opp, i); - if (ret) - break; - } - } else { - for (i = opp_table->required_opp_count - 1; i >= 0; i--) { - ret = _set_performance_state(dev, genpd_virt_devs[i], opp, i); - if (ret) - break; - } + while (index != target) { + ret = _set_performance_state(dev, genpd_virt_devs[index], opp, index); + if (ret) + break; + + index += delta; } mutex_unlock(&opp_table->genpd_virt_dev_lock); - return ret; + return 0; } /* This is only called for PM domain for now */ From patchwork Fri Oct 13 08:48:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 152400 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp1748430vqb; Fri, 13 Oct 2023 01:49:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHifftuuH5taxSNI97JrB1rZuutN1RQb/GsGQZ6RAeMQydPZWu30zU3lpi5eil/G5zNCji5 X-Received: by 2002:a05:6a21:789a:b0:159:f5fb:bf74 with SMTP id bf26-20020a056a21789a00b00159f5fbbf74mr30926472pzc.3.1697186969536; Fri, 13 Oct 2023 01:49:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697186969; cv=none; d=google.com; s=arc-20160816; b=lDoZH8DsSVP8zkYqyRuA/7Vubo8IIJXnhtIdQ09aYHjxr9CrfF5Bv+arz2i0GhMXO0 PQ7UjMk8lwwj82kkugiUeYntsgelo3KlvlxftH6POVCUSgv8s+o0oigcFmt8ngaWb6YR beu41TvbMaaKJL5R64NmkT01zzoN7qNU8UNLt6gdRsdwnc1YMHbUFl93fokFi1GRBpYA pgDBx7RB66TSkyPsBUPM2KQJKSOLoVCIkCRbMC+B/ECjRv+iQUoGSURczZZHnRJECzXE jxGtKvcy933ECMruNK+nxRzgvHFU5KgQgciCdR3z+lqcPxaCvdqzilgjV8JI1Sye2ArF Qfcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=mjra0WdYWK36KGusor5NGq8FRrUa/zXmRjm2tlyhEOI=; fh=gqvArZzT56mpbWZPbgkVieHv+0GTgVLQCUEWHP+2lYM=; b=vyF3BaXobSMnCMtqJ36S9TGvO71E+Q5hoDB0ywSgo8hS/EmTznJaNVT4srMaPcnoJ0 jq0YZMe88ES7PoPn2c/RBAlpTBEsIehSXUqO77sAspr8eAi7hPlNZpahk4q6RzuxHTOf ci3BhbdjIZN1GMfNYbjPDSfVa0m39PfU6pE61DffERfdMbkWugmh376aogq/OmwLiAjK 8CBCLJFFvGja/6adxkgVD3IjDOgVWB2uVgcyuOiBfyt/E+iJQLuzqKTrEeOJC2Utl1UV S1jWK0sPuNsPxH3OVpO77aHsQ+kQ89n5Kl8DBN7+qUItRUdJ/+X0c1g6SJOTpL19Qvj0 7WMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dVBG7Cgm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id ij14-20020a170902ab4e00b001c0c86a541asi4016980plb.375.2023.10.13.01.49.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dVBG7Cgm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 45C3D829FDF8; Fri, 13 Oct 2023 01:49:26 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230282AbjJMItO (ORCPT + 19 others); Fri, 13 Oct 2023 04:49:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35126 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230238AbjJMItL (ORCPT ); Fri, 13 Oct 2023 04:49:11 -0400 Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com [IPv6:2607:f8b0:4864:20::52e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0208CCC for ; Fri, 13 Oct 2023 01:49:03 -0700 (PDT) Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5aa481d53e5so390342a12.1 for ; Fri, 13 Oct 2023 01:49:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697186942; x=1697791742; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mjra0WdYWK36KGusor5NGq8FRrUa/zXmRjm2tlyhEOI=; b=dVBG7CgmwOVdX0Q6tRMxDQHCe7vJKwugJ12eucHlErvu77dc9H9gbH41/UCtYo6lvO /57YJNjq95QSQfjp9hJHw+FTmzNpadKW9q6kJT+B61uJ5FzzTB1D4ehgImALPRuSrHnZ u9SezJZ4iG+3jPXaJHpXAeixqqK4kxwvFLUTKZAWBW+mbLO7U8kqh/if9sTdZepuBpqF pC9xgeQZpJMF7g4kbgMK7YHh/bdpeH/XYYCyQ+GGcCNBjZ2jTnJnsEU0UKawL7g5zmJQ N5zvrWB2d9FhnOyDwtREMwpgJPtn6LyNyOS+RrxE5zvclKo3MxThb1alp2nCVfzStpbJ yyDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697186942; x=1697791742; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mjra0WdYWK36KGusor5NGq8FRrUa/zXmRjm2tlyhEOI=; b=I+hrKYIKvHoExolc76vxVfV1L7wxOVzGaL97h8ubX/7vvgR83KZq8Ig3ZrTUqaHsuh 2kmwujrdEyQiBnmqzLkZxpuPVaFaP1o/OjIvgmqbV1dgy0yjbNi9DA3V0sKuN+7sZRRW mLCMSgOY2l1K8ewFs4bqPwpzpMvlqpllMR8cexYy6gAC0jbaHMmMo/hQnSg42sZZ5EUj gsRd4DZd/UwufJXNiQyzq92aQfA81Son8oKagmHP72a/IwgysDQyV4Gi5HWFxaLIGn4U pwjLHNmbBQKFyPBbJ25FePgvplR/RlDSzt7nsTM4yd+NEZdweUUV0E223uzy5E4/lu7S jdQw== X-Gm-Message-State: AOJu0YxMbi4wewSKZdHxS51STe6zOZyGUd80d2rRNTct0z1I/qyy9hR+ F1Nu74y7+9pHh3vUAcc0RLVEFg== X-Received: by 2002:a05:6a20:3d89:b0:174:210c:34b0 with SMTP id s9-20020a056a203d8900b00174210c34b0mr6362313pzi.0.1697186942446; Fri, 13 Oct 2023 01:49:02 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id im16-20020a170902bb1000b001c5fed0b35esm3382039plb.300.2023.10.13.01.49.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:02 -0700 (PDT) From: Viresh Kumar To: Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , "Rafael J. Wysocki" , Ulf Hansson , linux-kernel@vger.kernel.org Subject: [PATCH 4/5] OPP: Remove genpd_virt_dev_lock Date: Fri, 13 Oct 2023 14:18:40 +0530 Message-Id: X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.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 (lipwig.vger.email [0.0.0.0]); Fri, 13 Oct 2023 01:49:26 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779629523435704436 X-GMAIL-MSGID: 1779629523435704436 All the config operations for OPP tables share common code paths now and none of the other ones have such protection in place. Either all should have it or none. The understanding here is that user won't clear the OPP configs while still using them and so such a case won't happen. We can always come back and use a wider lock for all resource types if required. Also fix the error on failing to allocate memory. Signed-off-by: Viresh Kumar Reviewed-by: Ulf Hansson --- drivers/opp/core.c | 33 +++------------------------------ drivers/opp/opp.h | 2 -- 2 files changed, 3 insertions(+), 32 deletions(-) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 3516e79cf743..befe46036ad5 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -1089,12 +1089,6 @@ static int _opp_set_required_opps_genpd(struct device *dev, delta = -1; } - /* - * Acquire genpd_virt_dev_lock to make sure we don't use a genpd_dev - * after it is freed from another thread. - */ - mutex_lock(&opp_table->genpd_virt_dev_lock); - while (index != target) { ret = _set_performance_state(dev, genpd_virt_devs[index], opp, index); if (ret) @@ -1103,8 +1097,6 @@ static int _opp_set_required_opps_genpd(struct device *dev, index += delta; } - mutex_unlock(&opp_table->genpd_virt_dev_lock); - return 0; } @@ -1474,7 +1466,6 @@ static struct opp_table *_allocate_opp_table(struct device *dev, int index) return ERR_PTR(-ENOMEM); mutex_init(&opp_table->lock); - mutex_init(&opp_table->genpd_virt_dev_lock); INIT_LIST_HEAD(&opp_table->dev_list); INIT_LIST_HEAD(&opp_table->lazy); @@ -1510,7 +1501,6 @@ static struct opp_table *_allocate_opp_table(struct device *dev, int index) remove_opp_dev: _of_clear_opp_table(opp_table); _remove_opp_dev(opp_dev, opp_table); - mutex_destroy(&opp_table->genpd_virt_dev_lock); mutex_destroy(&opp_table->lock); err: kfree(opp_table); @@ -1678,7 +1668,6 @@ static void _opp_table_kref_release(struct kref *kref) list_for_each_entry_safe(opp_dev, temp, &opp_table->dev_list, node) _remove_opp_dev(opp_dev, opp_table); - mutex_destroy(&opp_table->genpd_virt_dev_lock); mutex_destroy(&opp_table->lock); kfree(opp_table); } @@ -2395,7 +2384,7 @@ static void _opp_put_config_regulators_helper(struct opp_table *opp_table) opp_table->config_regulators = NULL; } -static void _detach_genpd(struct opp_table *opp_table) +static void _opp_detach_genpd(struct opp_table *opp_table) { int index; @@ -2449,13 +2438,11 @@ static int _opp_attach_genpd(struct opp_table *opp_table, struct device *dev, if (!opp_table->required_opp_count) return -EPROBE_DEFER; - mutex_lock(&opp_table->genpd_virt_dev_lock); - opp_table->genpd_virt_devs = kcalloc(opp_table->required_opp_count, sizeof(*opp_table->genpd_virt_devs), GFP_KERNEL); if (!opp_table->genpd_virt_devs) - goto unlock; + return -ENOMEM; while (*name) { if (index >= opp_table->required_opp_count) { @@ -2478,29 +2465,15 @@ static int _opp_attach_genpd(struct opp_table *opp_table, struct device *dev, if (virt_devs) *virt_devs = opp_table->genpd_virt_devs; - mutex_unlock(&opp_table->genpd_virt_dev_lock); return 0; err: - _detach_genpd(opp_table); -unlock: - mutex_unlock(&opp_table->genpd_virt_dev_lock); + _opp_detach_genpd(opp_table); return ret; } -static void _opp_detach_genpd(struct opp_table *opp_table) -{ - /* - * Acquire genpd_virt_dev_lock to make sure virt_dev isn't getting - * used in parallel. - */ - mutex_lock(&opp_table->genpd_virt_dev_lock); - _detach_genpd(opp_table); - mutex_unlock(&opp_table->genpd_virt_dev_lock); -} - static void _opp_clear_config(struct opp_config_data *data) { if (data->flags & OPP_CONFIG_GENPD) diff --git a/drivers/opp/opp.h b/drivers/opp/opp.h index fefdf9845692..08366f90f16b 100644 --- a/drivers/opp/opp.h +++ b/drivers/opp/opp.h @@ -160,7 +160,6 @@ enum opp_table_access { * @rate_clk_single: Currently configured frequency for single clk. * @current_opp: Currently configured OPP for the table. * @suspend_opp: Pointer to OPP to be used during device suspend. - * @genpd_virt_dev_lock: Mutex protecting the genpd virtual device pointers. * @genpd_virt_devs: List of virtual devices for multiple genpd support. * @required_opp_tables: List of device OPP tables that are required by OPPs in * this table. @@ -212,7 +211,6 @@ struct opp_table { struct dev_pm_opp *current_opp; struct dev_pm_opp *suspend_opp; - struct mutex genpd_virt_dev_lock; struct device **genpd_virt_devs; struct opp_table **required_opp_tables; unsigned int required_opp_count; From patchwork Fri Oct 13 08:48:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 152401 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp1748429vqb; Fri, 13 Oct 2023 01:49:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE58lx1ZB5l0vck+7hEMo3wK+PvsE6hby5JYMEP6gEriWfAJfGW80IAjyHgsNS2Ca5/i88G X-Received: by 2002:a9d:6b06:0:b0:6bd:6d51:e9e5 with SMTP id g6-20020a9d6b06000000b006bd6d51e9e5mr28157108otp.0.1697186969405; Fri, 13 Oct 2023 01:49:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697186969; cv=none; d=google.com; s=arc-20160816; b=jNCQ7T11vPlMU2wH2TJmPd67lw9CD0GFiOsW4gE9tXHPRzt64wNlvl+p41ouaf1lNR FU900zNCas/9hXyuNk1vUBvhHmtGwFWI4U4wUMZ9hyd5AyUP1qSD7ffzmvNsZWzUDdzB 65el793j5gengk3IH6lSuKrNBl2L/nlVmPyexJmKANo8o6dcIeDyJVLGf8QK6yq9wUXX QEvoSkEjHwewXbZb2KBm1nVjwBBHnijWSUhC3h1duQ4LEF86kI2s6NhXBDA2LJTxPDsO bSqXTKOzhtPxCVjTxzXP1ZYQxlWeaUk+09pPNYa7EfI2BNDgFv3LUUEwwBP/5DetVjoc UFFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=x9got1lZdwQorf5bG+rweB7SynI8yY1C0vhKZAmzQ80=; fh=gqvArZzT56mpbWZPbgkVieHv+0GTgVLQCUEWHP+2lYM=; b=UV1NfpR8yFSLQXZgeWom+v4DflILkr7nML1bRshHOqWrw1RjpctT68RfGcgmFWz5lx Al2ItdDKUnFUedlWlcah4bkwdwBjvOm3ClsKhZKTb5XBgYUJbjo95SD7NDgvr0kCq4Rn bSvNtAzjgRq9ziDQXkbwJY6exgGAbLE5bYlTnpriVjftfzs4SkzpDM3eSqepeyX+eq1A qEdWOT8lll4VIxQowkynhUkQUfpkoUokpGrB5kWwYmTWUZn9wK6cOvVCWoBCGVWRio9I gfLtAYvHfhsDzFc/SQ4AOcoPGuSprWjSN/lIQW3Q/FJqHU891Vfzqs6A5KfrC890+Wqe IQxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ITqoL4te; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id bw18-20020a056a02049200b005ac39221cc8si696620pgb.567.2023.10.13.01.49.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ITqoL4te; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id D687C81B5A99; Fri, 13 Oct 2023 01:49:26 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230299AbjJMItR (ORCPT + 19 others); Fri, 13 Oct 2023 04:49:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35104 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230293AbjJMItM (ORCPT ); Fri, 13 Oct 2023 04:49:12 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FDF9FA for ; Fri, 13 Oct 2023 01:49:06 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-5859a7d6556so1390216a12.0 for ; Fri, 13 Oct 2023 01:49:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697186945; x=1697791745; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=x9got1lZdwQorf5bG+rweB7SynI8yY1C0vhKZAmzQ80=; b=ITqoL4tejHHpgZHgD17QhB1xcEKmaQd4HB2FolgB5dTOnahgzgpBEiTaupow0WEenR yM6myTuRSOCKYV4eWjCxdnGfPp0FnklpgFKVmKjIldbk8uPWeGh8Qq3ucE4Qn5KWej4D XSJsraA8bZmEFyMMGkAY+f0nC/1B/y7kkj9Nw8sK6TZCyYqoDenQmw9DWUyMvjbr97h5 dgsyB6A2VW1PW+2RGg/F/hkMIlg6AwOr/Ev8U6iPOdQclQzm/XL1Z7JUp6TcvoHEq7Nn rT2+jyxZFUxCUpvBXBjtalXnzrYIGUt0kGkUla8zdNPi4QjB70fLKojKedlnTmZFn/r3 USaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697186945; x=1697791745; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x9got1lZdwQorf5bG+rweB7SynI8yY1C0vhKZAmzQ80=; b=dWA85QJmPjFTaGsyiK9K95H7tag8DV9w8QssSSfCS9tS+MhAhJDoKjpFROLy2JK2Tt hOzL8W7aoB1IQV/vrZzeVrK1rD/FVtAIOtXkF5go0/i7lB1qEW5Kq1W62fPe3M3numkr U1euTQQG/6eMD7M3o9cWOP4C/rvzMX05gufJd3incJ+Y2jXg889Cpx3rHfnlZ0a5Ua1B 6HbJfhWF8VZR6JIDrriu+JQJAE92BVW1qfl/aFUwR2bw0PcfoS0VU1xe/P+A5wGYmCM0 klCqii+a5KQ8OIkvItcosyvdTYA65lrZ4pAXD+sOKeh6jq4nZwLczjtLp2UFNhm5QuDn +DuA== X-Gm-Message-State: AOJu0YyzdP7JxpDvE+0zoh3lV6Hb4qPP4KET1bSyJLMmdnTXiuNngytJ +XdbIx6JdUK9B+5LYid1ZyYIHg== X-Received: by 2002:a17:90a:195e:b0:27d:1cf4:500e with SMTP id 30-20020a17090a195e00b0027d1cf4500emr4491505pjh.7.1697186945589; Fri, 13 Oct 2023 01:49:05 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id nr20-20020a17090b241400b0027d1366d113sm3127687pjb.43.2023.10.13.01.49.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:49:05 -0700 (PDT) From: Viresh Kumar To: Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , "Rafael J. Wysocki" , Ulf Hansson , linux-kernel@vger.kernel.org Subject: [PATCH 5/5] OPP: No need to defer probe from _opp_attach_genpd() Date: Fri, 13 Oct 2023 14:18:41 +0530 Message-Id: <4cd8fe2135128168c1cd80482359dc7a46550085.1697186772.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.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 (agentk.vger.email [0.0.0.0]); Fri, 13 Oct 2023 01:49:26 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779629523529764316 X-GMAIL-MSGID: 1779629523529764316 When the new interface for attaching genpd's via the OPP core was added, it was possible for required_opp_count to be zero, but not anymore. Remove the unused check. Signed-off-by: Viresh Kumar Reviewed-by: Ulf Hansson --- drivers/opp/core.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index befe46036ad5..c069aabefa00 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -2430,14 +2430,6 @@ static int _opp_attach_genpd(struct opp_table *opp_table, struct device *dev, if (opp_table->genpd_virt_devs) return 0; - /* - * If the genpd's OPP table isn't already initialized, parsing of the - * required-opps fail for dev. We should retry this after genpd's OPP - * table is added. - */ - if (!opp_table->required_opp_count) - return -EPROBE_DEFER; - opp_table->genpd_virt_devs = kcalloc(opp_table->required_opp_count, sizeof(*opp_table->genpd_virt_devs), GFP_KERNEL);