Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp503661iob; Wed, 4 May 2022 01:23:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQYfZ7xdvVm6dskOQIOI6s0DsVq4LYxtnjEn+PwLF+30/U+lN94CMCFhSOvUyH0idX/Jmn X-Received: by 2002:a05:6a00:2187:b0:50c:ef4d:ef3b with SMTP id h7-20020a056a00218700b0050cef4def3bmr19530897pfi.83.1651652593223; Wed, 04 May 2022 01:23:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651652593; cv=none; d=google.com; s=arc-20160816; b=DF1iRB+vvyl0KgUcW321nQpzhFVmD1M3Ct9sRoDcVNwAhqJjV++Xkt+vRXcndOHXCR uA9qE2JuSKlmmToPcDRO9S+6+RWIYNyDD4hvzRuho3h8Z5CGMN+5rVPK6neg5OF9tUwD FD8Psdm6ML1ymW/rPo34cFdra7zmDUDNMOm8S1bzluHDJPUkfwPQ2xk/WYnN1sXzCeVX ckqMxUe6iUoyMXDWmIIaDoyEG6FV0Q6HDh+yGa7HkLjw38/R4D983Urph5xCtNAuZVWK Z4iNRSv0cdJTKceOd6uZ2OfWpsZz1wPApqBV6IFymqCHCMoeKk5oCU1+dDExMp9l78IZ lxkA== 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=G/4H8B/Rtj6Gbw/X7Ko9Cs2NaKraCTutfr1bJWw/laU=; b=kU0TqA21WWxheO6u7bUYOcDzYXIbnjsH6zwFJrc+35TXS/x1APfap6ZjYztuwgAUAw 5f1yGmoMwIq+NVkfEHJ99mKICh0TChEFH00GOJSGzxbJlu8rKF4WgEz1Lgd+GzaBfLlh UdSZNMlfE70SBuLHRKR722VWYXJ7xKVUXJyloKjfhiuw1WF1E3G3cz3Lt8I0oN6YFqGI 7eDg82tVYqby+/O25ZzczwuzxKuAmKExbC9L7lO8j8/LV3g+wXlAFLOeeAYyzz3PQluh p//BJrjoFRL12LNheG1AzA/mqfTvECxzV81JdQlUy8ViURt74v+bnMIUaTlHuvANqF03 3BIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gPm6e1vX; 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 l21-20020a635b55000000b0039cf6c5573csi13556362pgm.844.2022.05.04.01.22.58; Wed, 04 May 2022 01:23:13 -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=gPm6e1vX; 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 S242741AbiECVVa (ORCPT + 99 others); Tue, 3 May 2022 17:21:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33606 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242709AbiECVVR (ORCPT ); Tue, 3 May 2022 17:21:17 -0400 Received: from mail-oo1-xc2b.google.com (mail-oo1-xc2b.google.com [IPv6:2607:f8b0:4864:20::c2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4DB040918 for ; Tue, 3 May 2022 14:17:43 -0700 (PDT) Received: by mail-oo1-xc2b.google.com with SMTP id s12-20020a4aeacc000000b0035ebb6d1a5fso2133278ooh.3 for ; Tue, 03 May 2022 14:17:43 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=G/4H8B/Rtj6Gbw/X7Ko9Cs2NaKraCTutfr1bJWw/laU=; b=gPm6e1vXbSqA/vxl+I6ZnWOUs+DAlSqrtdMRd9BZ9hSmXsQD5LSfbbPeHsHZzhDw3B ZVUqAxAKCpQ/xP+hmF/rzAxC/2qGXlKhq0M4uu2J8vIFDDfzz1ZzHnAA0z+dl/dMqHNV +yCz9dsAQDW7q2ogUz8DmoBAJuZyJh3uu4zvGjKjHQI45D44up//9alq+rsm6YsjhuyM sX0mxotyEumP96dbyUnHT/UhIL7P+9OgpWgTDLzG/PmxsZ4Eu8Y9y5yFLJuI0R+g69io KzJeGRodUvLGLTmHqBbzm//sy5Cw9myycGLZRkLzW/cIWelHyPwsW9wJWLI7pJQQozqL FVCQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=G/4H8B/Rtj6Gbw/X7Ko9Cs2NaKraCTutfr1bJWw/laU=; b=XUf8yHOI7S44laJuyPQu1B+HwFLfJr/uGWVrQenSMoSxrFgNMyc1xq+vGjfSqYIonW lzQUHwDIbaWjTtLMN8B9Yg4mTinEz1sjGmq56VTv8UiTXUeZ4TzwmcH4eoDSC1WWQVmt +tOVPCxwE58NcUmGRyK2RlkD0qYE2bN4u8AxPmNbqaWR2mPkPQWGEZqNBaJfTa7XDewz ODm/jLu6JCiL80zLEWw4/CHwz4mG+DfxYs+lKCA3bMN3yGeg0mtYQckMO9N1sDPpUzTM +fogtHaK+fV3nNuaWo/QSGT2tbLTKXcGUBfORD0TbVvPnYlc4lfNPXh1Ypn0dz/ICV74 uC9w== X-Gm-Message-State: AOAM530VEUdmUketlhI6QW5fU+qsrRZWrRIt2i3V/9gP/WZMT9PfO3wx 9g3muAo1k3GVtl4JS5tnUu7ZzQ== X-Received: by 2002:a4a:e694:0:b0:35e:99e7:80e4 with SMTP id u20-20020a4ae694000000b0035e99e780e4mr6368669oot.97.1651612662998; Tue, 03 May 2022 14:17:42 -0700 (PDT) Received: from ripper.. (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id b3-20020a056830104300b0060603221263sm4305906otp.51.2022.05.03.14.17.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 May 2022 14:17:42 -0700 (PDT) From: Bjorn Andersson To: Georgi Djakov , Steev Klimaszewski Cc: Rob Herring , Krzysztof Kozlowski , linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] interconnect: qcom: sc8180x: Modernize sc8180x probe Date: Tue, 3 May 2022 14:19:23 -0700 Message-Id: <20220503211925.1022169-3-bjorn.andersson@linaro.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220503211925.1022169-1-bjorn.andersson@linaro.org> References: <20220503211925.1022169-1-bjorn.andersson@linaro.org> 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=ham 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 The introduction of the Qualcomm SC8180X provider raced with the refactoring of the RPMh common code and SC8180X was left with the old style of duplicating the probe function in each provider driver. Transition the driver to the "new" design. Signed-off-by: Bjorn Andersson --- drivers/interconnect/qcom/sc8180x.c | 95 +---------------------------- 1 file changed, 2 insertions(+), 93 deletions(-) diff --git a/drivers/interconnect/qcom/sc8180x.c b/drivers/interconnect/qcom/sc8180x.c index 136c62afb3b2..467083661559 100644 --- a/drivers/interconnect/qcom/sc8180x.c +++ b/drivers/interconnect/qcom/sc8180x.c @@ -503,97 +503,6 @@ static const struct qcom_icc_desc sc8180x_system_noc = { .num_bcms = ARRAY_SIZE(system_noc_bcms), }; -static int qnoc_probe(struct platform_device *pdev) -{ - const struct qcom_icc_desc *desc; - struct icc_onecell_data *data; - struct icc_provider *provider; - struct qcom_icc_node * const *qnodes; - struct qcom_icc_provider *qp; - struct icc_node *node; - size_t num_nodes, i; - int ret; - - desc = device_get_match_data(&pdev->dev); - if (!desc) - return -EINVAL; - - qnodes = desc->nodes; - num_nodes = desc->num_nodes; - - qp = devm_kzalloc(&pdev->dev, sizeof(*qp), GFP_KERNEL); - if (!qp) - return -ENOMEM; - - data = devm_kcalloc(&pdev->dev, num_nodes, sizeof(*node), GFP_KERNEL); - if (!data) - return -ENOMEM; - - provider = &qp->provider; - provider->dev = &pdev->dev; - provider->set = qcom_icc_set; - provider->pre_aggregate = qcom_icc_pre_aggregate; - provider->aggregate = qcom_icc_aggregate; - provider->xlate = of_icc_xlate_onecell; - INIT_LIST_HEAD(&provider->nodes); - provider->data = data; - - qp->dev = &pdev->dev; - qp->bcms = desc->bcms; - qp->num_bcms = desc->num_bcms; - - qp->voter = of_bcm_voter_get(qp->dev, NULL); - if (IS_ERR(qp->voter)) - return PTR_ERR(qp->voter); - - ret = icc_provider_add(provider); - if (ret) { - dev_err(&pdev->dev, "error adding interconnect provider\n"); - return ret; - } - - for (i = 0; i < qp->num_bcms; i++) - qcom_icc_bcm_init(qp->bcms[i], &pdev->dev); - - for (i = 0; i < num_nodes; i++) { - size_t j; - - if (!qnodes[i]) - continue; - - node = icc_node_create(qnodes[i]->id); - if (IS_ERR(node)) { - ret = PTR_ERR(node); - goto err; - } - - node->name = qnodes[i]->name; - node->data = qnodes[i]; - icc_node_add(node, provider); - - for (j = 0; j < qnodes[i]->num_links; j++) - icc_link_create(node, qnodes[i]->links[j]); - - data->nodes[i] = node; - } - data->num_nodes = num_nodes; - - platform_set_drvdata(pdev, qp); - - return 0; -err: - icc_nodes_remove(provider); - icc_provider_del(provider); - return ret; -} - -static int qnoc_remove(struct platform_device *pdev) -{ - struct qcom_icc_provider *qp = platform_get_drvdata(pdev); - - icc_nodes_remove(&qp->provider); - return icc_provider_del(&qp->provider); -} static const struct of_device_id qnoc_of_match[] = { { .compatible = "qcom,sc8180x-aggre1-noc", .data = &sc8180x_aggre1_noc }, @@ -612,8 +521,8 @@ static const struct of_device_id qnoc_of_match[] = { MODULE_DEVICE_TABLE(of, qnoc_of_match); static struct platform_driver qnoc_driver = { - .probe = qnoc_probe, - .remove = qnoc_remove, + .probe = qcom_icc_rpmh_probe, + .remove = qcom_icc_rpmh_remove, .driver = { .name = "qnoc-sc8180x", .of_match_table = qnoc_of_match, -- 2.35.1