Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp631352ioo; Thu, 26 May 2022 10:56:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy4hULoLkBra74+C/W1kRQnrd5HiFZ/FWqGG/RGps4gj9u2MCKQ/DhIGSNXUA+x8QoX/2et X-Received: by 2002:a17:90b:33c5:b0:1e0:2912:f9cd with SMTP id lk5-20020a17090b33c500b001e02912f9cdmr3852439pjb.79.1653587764802; Thu, 26 May 2022 10:56:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653587764; cv=none; d=google.com; s=arc-20160816; b=tMqxf6vMX3XLvP1J79B34yF18INB3xi9OpPFzn3gL+ZSv8xcVHrPPpxR+RwJFwCQLg hXp+avYUNXnYRcS7VpaZ/IlNM07p5dIYK8IfTIft5ywoIHsqLSiPLKTQ8dlxo1SDZMRn V1JiCI+l7PAgilA+h/myVqMYZ1LD18Q3Syazjy8WIwCz/545H5qMejn9oBG4PlMLZNzk ygzzi7/opDknOXza2FbafB0lQ0XXRmQmm4rcN0yaQq7Cvo7yoA5H9zqKraWhcL/2QsG+ auufPA7keGHCrtlStSfdIDOz8DuPF9zN+I3pQDUmbulMUPkri6D3m3sbiUImi6ovjsJi FJpg== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=Kq02GySVi94nZ9Mc+L7RCzpSrSe7oKjAYDJQaI+i1/M=; b=Mn4kjC1d46fOm5r2HRSh4NisO4U2u9ORUmNamnVTzzaNiscMWToVgA7vlZ2bTzJFvL Aco3kzUrszQzXl6wtOdPhQ2Lb+A28UckxzxfDiKljtOijDCFaQfV+8flR/oeYtspWZgu MrqU13U3suyuKWwaKH7ra5Ty4/cfbrxOPLf+TVsjwOn/faoMe7HJ0r6NVQg8hFDRkq5k Tq7PsOHlmqOPlkTLIHcQ0a4jVILqEKJnF1dygTDS9cXfMte04NsBZ518FgNqGKq8qb0M iCHlrXQIO+xA34P3Q2+v1kYoR4vLnWRYr1bQ7c6N7POxA6hplR1laUD9hWIk+dCbiDOs L0Eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jozl4ktx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c10-20020a170902848a00b00153b2d16543si2344989plo.331.2022.05.26.10.55.53; Thu, 26 May 2022 10:56:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jozl4ktx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237822AbiEZLn3 (ORCPT + 99 others); Thu, 26 May 2022 07:43:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242381AbiEZLn1 (ORCPT ); Thu, 26 May 2022 07:43:27 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8777393E3 for ; Thu, 26 May 2022 04:43:24 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id i1so1222278plg.7 for ; Thu, 26 May 2022 04:43:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Kq02GySVi94nZ9Mc+L7RCzpSrSe7oKjAYDJQaI+i1/M=; b=jozl4ktxfx3kr41Xwo8mDlqT0z+gvOtnOWlJyYgee9yUgxgyfuOYUr1lx4RnOCQ6/1 EBChnizEhkGg98Qpb9CpWmqjZ9uwiJaLdKFSO74efjp/2WlLeF/PdqTf24D+LPN1P8LG ut0mRRmlv8336aUyZvx8kApwOfcK8sDhtM7WuIfl2MBmS6ZuL17nr1XnMweom7zSFLQr SU1LW9cXuv0oj342u5+FBEYK8zvWP3Ncp6alE6PlZBLutNfav0Wkn2mPAAiG73k05zRM KXagAGOXvyhZJWcXTLNF9MpM0OMfwxpf1lgKnc+SiFLpACDo558o3HfUfDT5kBkmCL4j kpBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Kq02GySVi94nZ9Mc+L7RCzpSrSe7oKjAYDJQaI+i1/M=; b=UaTcxVSANwMwa1vGK7SdG6nxKUvShnk89fhmhxZDl8Rr2WIKifzk7isInHYLFCa5vJ SIxzhnDw5kB9uymsnewieg4yMjNYqUSvfGuzJJlzFkKfYX5kJqGZ+8kClGWFJpp4PGhl WmIiiBjmXlzqRC+7NCAThfpiR0loqOxaSOY3xS7PUqTpEdS/knI/vB/mQTuoLQDib6Yq 3Xa0OHih2lU1CSYWX8Tf7nNv9Is4qDOL5fYIDUKISAyciaAtVL8CdqCBW9yBZVyjH2ME GqHnpaRsXBQSRkPIAkEn6q95lNJTLZGZXR8S1lR2tLOb0ulp1CU0+pfjUjEyarNogL/n jPgQ== X-Gm-Message-State: AOAM533ajCaizE7YtmKtCNp5Km7NhzhU9IQXV7TjramUlYgOh82QVSL4 Quxbz6j2eSlUB9W6a2VaHYumKg== X-Received: by 2002:a17:902:7781:b0:161:c85a:8fff with SMTP id o1-20020a170902778100b00161c85a8fffmr37569596pll.97.1653565404194; Thu, 26 May 2022 04:43:24 -0700 (PDT) Received: from localhost ([122.162.234.2]) by smtp.gmail.com with ESMTPSA id a16-20020aa78650000000b0050dc7628137sm1320375pfo.17.2022.05.26.04.43.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 04:43:23 -0700 (PDT) From: Viresh Kumar To: Abhinav Kumar , Adrian Hunter , Alim Akhtar , Alyssa Rosenzweig , Andy Gross , Bjorn Andersson , Chanwoo Choi , Chen-Yu Tsai , Dmitry Osipenko , Fabio Estevam , Greg Kroah-Hartman , Ilia Lin , Jernej Skrabec , Jiri Slaby , Jonathan Hunter , Krzysztof Kozlowski , Kyungmin Park , Mark Brown , MyungJoo Ham , Nishanth Menon , NXP Linux Team , Patrice Chotard , Pengutronix Kernel Team , Qiang Yu , "Rafael J. Wysocki" , Rob Clark , Rob Herring , Samuel Holland , Sascha Hauer , Sean Paul , Shawn Guo , Stanimir Varbanov , Stephen Boyd , Steven Price , Thierry Reding , Tomeu Vizoso , Ulf Hansson , Viresh Kumar , Viresh Kumar , Yangtao Li Cc: linux-pm@vger.kernel.org, Vincent Guittot , Rafael Wysocki , Krzysztof Kozlowski , dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, lima@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-mmc@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-serial@vger.kernel.org, linux-spi@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org Subject: [PATCH 00/31] OPP: Add new configuration interface: dev_pm_opp_set_config() Date: Thu, 26 May 2022 17:11:59 +0530 Message-Id: X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, 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 lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, We have too many configuration specific APIs currently, six of them already, like dev_pm_opp_set_regulators(). This makes it complex/messy for both the OPP core and its users to manage. There is also code redundancy in these API, in the way they add/manage the OPP table specific stuff. This patch series is an attempt to simplify these interfaces by adding a single interface, dev_pm_opp_set_config(), which replaces all the existing ones. This also migrates the users to the new API. The first two patches help get the API in place, followed by patches to migrate the end users. Once all the users are migrated, the last few patches remove the now unused interfaces. I have lightly tested this on Hikey960 for now and also getting help from various build/boot bots, gitlab and lkp, to get these tested. It would be helpful if someone with access to the affected platforms can give it a try. This is pushed here: git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git opp/config The entire patchset shall get merged via the OPP tree in 5.20-rc1, please do not merge individual patches. Thanks. -- Viresh Viresh Kumar (31): OPP: Track if clock name is configured by platform OPP: Add dev_pm_opp_set_config() and friends cpufreq: dt: Migrate to dev_pm_opp_set_config() cpufreq: imx: Migrate to dev_pm_opp_set_config() cpufreq: qcom-nvmem: Migrate to dev_pm_opp_set_config() cpufreq: sti: Migrate to dev_pm_opp_set_config() cpufreq: sun50i: Migrate to dev_pm_opp_set_config() cpufreq: tegra20: Migrate to dev_pm_opp_set_config() cpufreq: ti: Migrate to dev_pm_opp_set_config() devfreq: exynos: Migrate to dev_pm_opp_set_config() devfreq: sun8i: Migrate to dev_pm_opp_set_config() devfreq: tegra30: Migrate to dev_pm_opp_set_config() drm/lima: Migrate to dev_pm_opp_set_config() drm/msm: Migrate to dev_pm_opp_set_config() drm/panfrost: Migrate to dev_pm_opp_set_config() drm/tegra: Migrate to dev_pm_opp_set_config() media: venus: Migrate to dev_pm_opp_set_config() media: tegra: Migrate to dev_pm_opp_set_config() mmc: sdhci-msm: Migrate to dev_pm_opp_set_config() OPP: ti: Migrate to dev_pm_opp_set_config() soc/tegra: Remove the call to devm_pm_opp_set_clkname() soc/tegra: Migrate to dev_pm_opp_set_config() spi: qcom: Migrate to dev_pm_opp_set_config() serial: qcom: Migrate to dev_pm_opp_set_config() OPP: Remove dev_pm_opp_set_regulators() and friends OPP: Remove dev_pm_opp_set_supported_hw() and friends OPP: Remove dev_pm_opp_set_clkname() and friends OPP: Remove dev_pm_opp_register_set_opp_helper() and friends OPP: Remove dev_pm_opp_attach_genpd() and friends OPP: Remove dev_pm_opp_set_prop_name() and friends OPP: Rearrange dev_pm_opp_set_config() and friends drivers/cpufreq/cpufreq-dt.c | 14 +- drivers/cpufreq/imx-cpufreq-dt.c | 12 +- drivers/cpufreq/qcom-cpufreq-nvmem.c | 107 +--- drivers/cpufreq/sti-cpufreq.c | 22 +- drivers/cpufreq/sun50i-cpufreq-nvmem.c | 11 +- drivers/cpufreq/tegra20-cpufreq.c | 12 +- drivers/cpufreq/ti-cpufreq.c | 38 +- drivers/devfreq/exynos-bus.c | 14 +- drivers/devfreq/sun8i-a33-mbus.c | 7 +- drivers/devfreq/tegra30-devfreq.c | 8 +- drivers/gpu/drm/lima/lima_devfreq.c | 11 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 8 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 10 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 5 +- drivers/gpu/drm/msm/dp/dp_ctrl.c | 5 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 5 +- drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 +- drivers/gpu/drm/tegra/gr3d.c | 6 +- .../media/platform/qcom/venus/pm_helpers.c | 16 +- drivers/memory/tegra/tegra124-emc.c | 14 +- drivers/mmc/host/sdhci-msm.c | 5 +- drivers/opp/core.c | 540 +++++++----------- drivers/opp/opp.h | 2 + drivers/opp/ti-opp-supply.c | 6 +- drivers/soc/tegra/common.c | 14 +- drivers/soc/tegra/pmc.c | 8 +- drivers/spi/spi-geni-qcom.c | 5 +- drivers/spi/spi-qcom-qspi.c | 5 +- drivers/tty/serial/qcom_geni_serial.c | 5 +- include/linux/pm_opp.h | 118 ++-- 30 files changed, 444 insertions(+), 598 deletions(-) -- 2.31.1.272.g89b43f80a514