From patchwork Thu Jul 27 05:31:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126640 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp867763vqo; Wed, 26 Jul 2023 22:39:43 -0700 (PDT) X-Google-Smtp-Source: APBJJlEyGZFVLZxkQLb1bhj95sswJW0Sc4YiwK9PSevn7QgVYw6huCjDXzVQEtX6FEjnXaqblflP X-Received: by 2002:aa7:8894:0:b0:66a:6339:e8f9 with SMTP id z20-20020aa78894000000b0066a6339e8f9mr4333060pfe.0.1690436383065; Wed, 26 Jul 2023 22:39:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436383; cv=none; d=google.com; s=arc-20160816; b=ga46urNsJEnNpRCVF8lg1LoTp9FlsPu5KgMcu8m4U4g+ahQjyR3n8yUGFaDtK5afvw lcipNuNMN1T+zL/MLf7gZPwMygebE5Z/YBolyXVnrfRRp8en2sOx7DysiSRG4A8ns/oT LRmP0BdSLFMvrhsllHjoWHdk1ogjg7Cum5CJSWc7/t7uKreCc4PPEilxnzzhMOMezU/A Z5x91DkMQ7GvF+nlBHux4SMVd/sQiJgdBJzUoII3xkiQUGzin1dDziBUUI80mfou8wOk dTFPtiILWVFHQ3mOXc388iBFMJL24k9pMskUaRXpSgj/0TqvQOrRd79m77+R6TiAAJE7 /Rrw== 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=Uyw3PNfZIGdqDhQAwksMXr4rBdSDRWmBdpkW/XA90lY=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=IqAErTPCX9Z+K3gIzSo2h6b2P/upsWKa5RDB/LblneUHuXt/OdYuX2lvOc9wIS8tfU ChGq0g7ozZ76AaGYv5TugnlaNHqC5ZbewW9to2kvK9cxrJCYYZ9QFbm29PsK+ak3ymms O2/9H0eWQN4FdnyzPCjsSHpUEOweZbFLqQEg4vQzynFgEH/STRGxeXCkRcdJpLWB7+H8 F2tv1c1zLtXUBla3QB07xxmHEfpLu4eRg0y78O7z2+/zc/5ublyZQhSZxOhrbLbgDYYx 1n49DUCYQ6YiFAnRkXLiZm54EbEx8LJhQRFAdKbuepnwZxsOOEW0vRTgE3uKBQ57tK/2 ZFNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=drVvjIcn; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b26-20020a6567da000000b00563fe7f89e0si534574pgs.769.2023.07.26.22.39.29; Wed, 26 Jul 2023 22:39:43 -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=@tuxon.dev header.s=google header.b=drVvjIcn; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229820AbjG0Fck (ORCPT + 99 others); Thu, 27 Jul 2023 01:32:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231545AbjG0Fci (ORCPT ); Thu, 27 Jul 2023 01:32:38 -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 6C3442721 for ; Wed, 26 Jul 2023 22:32:37 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1bbc87ded50so3442855ad.1 for ; Wed, 26 Jul 2023 22:32:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435957; x=1691040757; 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=Uyw3PNfZIGdqDhQAwksMXr4rBdSDRWmBdpkW/XA90lY=; b=drVvjIcn6IwB7Xn0zmy1NP5nq8SSNIQeAYnATBZ8fVrsX3Re7hS8xvzwCPrOOmVYDT yvIrdOKnD205U8KOaVniDdHmXe61quc45RJ0Xm894JcBaaGRr4BKabCckcXl5URiQWH0 OGbAX7YKljP3iTfl/3QanAGlykvZsQi5Y0AYQrXpWJViHwMX+u6xE7IXKi/2Z0Th2JQG IBiQCMQdJMO/DQaTOPzXZ1Tq9oT1VWrQk0dSWDwwnMayGY9EoNDPEtcPQjFfsnoaccIx 5iW8qx8pC5Q4xnmtaK6y7SmD1mHgGXItb87R/AB/rTYXh3OuZAYkoO7kg72q+pYebyVk KTxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435957; x=1691040757; 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=Uyw3PNfZIGdqDhQAwksMXr4rBdSDRWmBdpkW/XA90lY=; b=jHvdPV5Mnbai0Y2qODGWbw2rgXyKOY3zNEzxBxcG+TVDi4SNiSSppzuIoZkfm/Wujj 2U3cc+Qy3X4+I7cc4RcdQ2GEBuucJxfoKxn+ssgHjGB+kvh/iGZiSCR6J0BuIwB9OkSr 89OWpB8g87sIh2/Ipi10hf5RniTBQBdVKejUujMH8c7EyPQ3G2jsmsYNcwtw223EmZit fpVizec6f6McrPnK+yP5XvR3fWLBZCbxiCT1lBYY5o4243/xEv4y2ap1ChhcM9gx8Glb +PG74I7COdTt+pjsdZPXRfDXl8vTTcsCal3wPJKACMkgYbG2sPs75B0ItmEOpvyo42Yu t9hw== X-Gm-Message-State: ABy/qLYcPCWjZ9iZ8CWEG/7IMLmFo2zIGmRq/T9M3pPvWsnCmB773Z2A QzyicsPUwHP4RF58xgGFuil7dQ== X-Received: by 2002:a17:903:2305:b0:1b8:1687:b53 with SMTP id d5-20020a170903230500b001b816870b53mr4574340plh.26.1690435956889; Wed, 26 Jul 2023 22:32:36 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.32.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:32:36 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 01/42] clk: at91: sama7g5: check __clk_get_hw() argument for errors Date: Thu, 27 Jul 2023 08:31:15 +0300 Message-Id: <20230727053156.13587-2-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551020626188462 X-GMAIL-MSGID: 1772551020626188462 __clk_get_hw() argument in sama7g5 is obtained using of_clk_get_by_name() which might return error. Passing an error casted pointer to __clk_get_hw() may lead to crashes. Thus, check the pointer for errors before passing it to __clk_get_hw(). Fixes: de3383e993a5 ("clk: at91: sama7g5: switch to parent_hw and parent_data") Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sama7g5.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index 91b5c6f14819..16e458be8304 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -988,14 +988,27 @@ static void __init sama7g5_pmc_setup(struct device_node *np) struct clk_hw *td_slck_hw, *md_slck_hw; static struct clk_parent_data parent_data; struct clk_hw *parent_hws[10]; + struct clk *clk; bool bypass; int i, j; - td_slck_hw = __clk_get_hw(of_clk_get_by_name(np, "td_slck")); - md_slck_hw = __clk_get_hw(of_clk_get_by_name(np, "md_slck")); - main_xtal_hw = __clk_get_hw(of_clk_get_by_name(np, main_xtal_name)); - - if (!td_slck_hw || !md_slck_hw || !main_xtal_hw) + clk = of_clk_get_by_name(np, "td_slck"); + if (IS_ERR(clk)) + return; + td_slck_hw = __clk_get_hw(clk); + if (!td_slck_hw) + return; + clk = of_clk_get_by_name(np, "md_slck"); + if (IS_ERR(clk)) + return; + md_slck_hw = __clk_get_hw(clk); + if (!md_slck_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; regmap = device_node_to_regmap(np); From patchwork Thu Jul 27 05:31:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126635 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp865823vqo; Wed, 26 Jul 2023 22:35:04 -0700 (PDT) X-Google-Smtp-Source: APBJJlGuAv7+o3OjeJkwLgAZYl8SlRanqcUstkY2+fv9UovT9IAJgNw3JDrgx64Id9gLihxaPuLa X-Received: by 2002:a05:6a00:2e93:b0:682:4e4c:48bc with SMTP id fd19-20020a056a002e9300b006824e4c48bcmr5815582pfb.21.1690436104061; Wed, 26 Jul 2023 22:35:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436104; cv=none; d=google.com; s=arc-20160816; b=X3YmrkiwCZpiMlWAyf4tv7mCPA0dl3m3NUUavyW/n6GTq2nd6ESNY8rspLfzbUZR53 JFBF5Wf1Kk0Y34a4a7ug+wmPlGy4xKEmfdBUauvgOlSE5Uvftbv6/OeRu61Qfdw/xjnp k87yvGM9q5ikZlEVPZ2m4ksOcu4y+mwIuZ+JnD89gtmYsY2ymwHLkcNTiWa7RVKlQNFq BNJyRkoYv6XXB4R/Bc4rMljxFWFmVoh9okCcBsbuQRuxZXQh2pH3H6QRghELvi4mDsuS U/OT914hA6xCZy11441pergYLVUpF19RAcbjJQFJedZNvi+q0GTDYdkVN2Yud3/6haAj o0/A== 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=b9Gh+k+Ek4/VSm59HjYvHVbU+3yoxdSusT5dev6nYow=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=f5RVmulMWWjLD6yHQmyrDyaLWL66ec2Ognq1rTJTAvJxYdmbdGluaoqsL/bIyTyF8L Pc6nT1dpQZKU2K9bd68KPbNPtpFeZm1R8l7BEOlurZt3poSXIflm55S+RCxm0N896BEl CC/9usfFcLxysg4LB9xwS84NtIWPcHUEkcw1v8S5OsejXfrhos8RV1ewhnUy4l0jBYxQ 0lB419RTyPNzeiaEu3+8NCGirUBJ9FicrzZ2XrACmA6o51fCJBW9CC0MyVMrOM0p/jO5 PnncVZumjiu4KMnS575s61s1KW3NXzN30bGHMlx4mJZmzk1WyvrpuEVktXuuFW281Xhi OqOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=LC1J1Csp; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q9-20020a056a00150900b006828982043csi774361pfu.141.2023.07.26.22.34.50; Wed, 26 Jul 2023 22:35: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=@tuxon.dev header.s=google header.b=LC1J1Csp; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231704AbjG0Fcw (ORCPT + 99 others); Thu, 27 Jul 2023 01:32:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231690AbjG0Fcu (ORCPT ); Thu, 27 Jul 2023 01:32:50 -0400 Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2A582D57 for ; Wed, 26 Jul 2023 22:32:44 -0700 (PDT) Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1bbd2761f1bso4432445ad.2 for ; Wed, 26 Jul 2023 22:32:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435964; x=1691040764; 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=b9Gh+k+Ek4/VSm59HjYvHVbU+3yoxdSusT5dev6nYow=; b=LC1J1Cspx60GAUJsiTYmriRBilILtB3wnVGXGVwUYiEVkyKZVVj9DrQuqW8vu42JIg 4TivKz5mquFmDFqUsR5TiW5UglqjyNnMsLOz2tDXc22bg4Qhq0BAHFDxCCBOq9tsSdpd bCJ/jO6y7mmwTbLoJnV9tc5LSjHWe7AmJd8arnTdqtnbdo4wUPdoG84Cx/duznARUYob Ik6lyEg+Sn2uWDhaGRHUVFwJvX50f69JCqP1xrYoUh48ePMDtgrd5bNX50TxFQ0MaMUp anQaywJUrycIpgKEqpfC/ZEEivAk/Ubf8ai5zbUivZGSVNANTZPEvx+qvEWFRr1rx6yR HnPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435964; x=1691040764; 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=b9Gh+k+Ek4/VSm59HjYvHVbU+3yoxdSusT5dev6nYow=; b=U1P6Wj3lfQ5PdgoNHWHT8AlWDpxz/1SuvEdV3b5hEL3Wr5sE9mDsBCNLNwCxjG2Oxb E/rcygrp6wsjefb9ESU2Vm5r7OaXCLb/r7u1qnQvxYvtMEDBeB/LbJmHPeA5oDT8Qrnm HWorNjaS69laABG/eHdDjT3oUHVhwknVNNBNvH8qDqWUQJOCyGaYPNws3NfvKekJMpau MnXux7t18JYlUyvMrxv/LCrlDrBIAf86bNkhtO68ZhyESgTWnXHPTpXwYM7Qnq/sSJIv CsuXGLVWo1E8tgHnmoJtToLe9565sszDdMGsV9Y4X8UBi02dtxgqRt+HQ28ocrciP24l zvzA== X-Gm-Message-State: ABy/qLYEIkOdQZOFID8i6xcSASXAztIZBIcsVA69/FpJK2nMXzY9AL3s 8oJbA9xMVU/QTsY0ChsQM5xxFw== X-Received: by 2002:a17:902:d501:b0:1b8:b5f8:c485 with SMTP id b1-20020a170902d50100b001b8b5f8c485mr5337310plg.50.1690435964153; Wed, 26 Jul 2023 22:32:44 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.32.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:32:43 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 02/42] clk: at91: clk-usb: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:16 +0300 Message-Id: <20230727053156.13587-3-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772550728211444865 X-GMAIL-MSGID: 1772550728211444865 Add support for parent_hw in usb clock driver. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-usb were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 2 +- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-usb.c | 41 ++++++++++++++++++++++------------ drivers/clk/at91/dt-compat.c | 6 ++--- drivers/clk/at91/pmc.h | 11 +++++---- drivers/clk/at91/sam9x60.c | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 12 files changed, 46 insertions(+), 30 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 3f19e737ae4d..e5a034f208d8 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -157,7 +157,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_MCK] = hw; - hw = at91rm9200_clk_register_usb(regmap, "usbck", "pllbck", usb_div); + hw = at91rm9200_clk_register_usb(regmap, "usbck", "pllbck", NULL, usb_div); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 0799a13060ea..ae6f126f204a 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -434,7 +434,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_MCK] = hw; - hw = at91rm9200_clk_register_usb(regmap, "usbck", "pllbck", usb_div); + hw = at91rm9200_clk_register_usb(regmap, "usbck", "pllbck", NULL, usb_div); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index f45a7b80f7d8..684d2bcb36e8 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -176,7 +176,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) parent_names[0] = "plladivck"; parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2); + hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 751786184ae2..9fc20b177b13 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -201,7 +201,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_MCK] = hw; - hw = at91sam9n12_clk_register_usb(regmap, "usbck", "pllbck"); + hw = at91sam9n12_clk_register_usb(regmap, "usbck", "pllbck", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 3b801d12fac0..5728cfb9036f 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -222,7 +222,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, parent_names[0] = "plladivck"; parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2); + hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c index b0696a928aa9..21f50914c63e 100644 --- a/drivers/clk/at91/clk-usb.c +++ b/drivers/clk/at91/clk-usb.c @@ -221,12 +221,12 @@ static const struct clk_ops at91sam9n12_usb_ops = { static struct clk_hw * __init _at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents, - u32 usbs_mask) + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents, u32 usbs_mask) { struct at91sam9x5_clk_usb *usb; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; usb = kzalloc(sizeof(*usb), GFP_KERNEL); @@ -235,7 +235,10 @@ _at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91sam9x5_usb_ops; - init.parent_names = parent_names; + if (parent_hws) + init.parent_hws = (const struct clk_hw **)parent_hws; + else + init.parent_names = parent_names; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | CLK_SET_RATE_PARENT; @@ -257,27 +260,30 @@ _at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, struct clk_hw * __init at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents) + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents) { return _at91sam9x5_clk_register_usb(regmap, name, parent_names, - num_parents, SAM9X5_USBS_MASK); + parent_hws, num_parents, SAM9X5_USBS_MASK); } struct clk_hw * __init sam9x60_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents) + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents) { return _at91sam9x5_clk_register_usb(regmap, name, parent_names, - num_parents, SAM9X60_USBS_MASK); + parent_hws, num_parents, + SAM9X60_USBS_MASK); } struct clk_hw * __init at91sam9n12_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name) + const char *parent_name, struct clk_hw *parent_hw) { struct at91sam9x5_clk_usb *usb; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; usb = kzalloc(sizeof(*usb), GFP_KERNEL); @@ -286,7 +292,10 @@ at91sam9n12_clk_register_usb(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91sam9n12_usb_ops; - init.parent_names = &parent_name; + if (parent_hw) + init.parent_hws = (const struct clk_hw **)&parent_hw; + else + init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE | CLK_SET_RATE_PARENT; @@ -390,11 +399,12 @@ static const struct clk_ops at91rm9200_usb_ops = { struct clk_hw * __init at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name, const u32 *divisors) + const char *parent_name, struct clk_hw *parent_hw, + const u32 *divisors) { struct at91rm9200_clk_usb *usb; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; usb = kzalloc(sizeof(*usb), GFP_KERNEL); @@ -403,7 +413,10 @@ at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91rm9200_usb_ops; - init.parent_names = &parent_name; + if (parent_hw) + init.parent_hws = (const struct clk_hw **)&parent_hw; + else + init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_SET_RATE_PARENT; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index a32dc2111b90..ead99948375b 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -945,7 +945,7 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9x5_clk_register_usb(regmap, name, parent_names, + hw = at91sam9x5_clk_register_usb(regmap, name, parent_names, NULL, num_parents); if (IS_ERR(hw)) return; @@ -975,7 +975,7 @@ static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9n12_clk_register_usb(regmap, name, parent_name); + hw = at91sam9n12_clk_register_usb(regmap, name, parent_name, NULL); if (IS_ERR(hw)) return; @@ -1008,7 +1008,7 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np) of_node_put(parent_np); if (IS_ERR(regmap)) return; - hw = at91rm9200_clk_register_usb(regmap, name, parent_name, divisors); + hw = at91rm9200_clk_register_usb(regmap, name, parent_name, NULL, divisors); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 0f52e80bcd49..515a3c5595b7 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -257,16 +257,19 @@ at91_clk_register_system(struct regmap *regmap, const char *name, struct clk_hw * __init at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents); + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents); struct clk_hw * __init at91sam9n12_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name); + const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init sam9x60_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents); + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents); struct clk_hw * __init at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name, const u32 *divisors); + const char *parent_name, struct clk_hw *parent_hw, + const u32 *divisors); struct clk_hw * __init at91_clk_register_utmi(struct regmap *regmap_pmc, struct regmap *regmap_sfr, diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index e309cbf3cb9a..ddf993fe391f 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -297,7 +297,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) parent_names[0] = "pllack_divck"; parent_names[1] = "upllck_divck"; parent_names[2] = "main_osc"; - hw = sam9x60_clk_register_usb(regmap, "usbck", parent_names, 3); + hw = sam9x60_clk_register_usb(regmap, "usbck", parent_names, NULL, 3); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index c16594fce90c..8bbc34e22cda 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -284,7 +284,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_names[0] = "plladivck"; parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2); + hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 522ce6031446..05d0cdd22bc4 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -201,7 +201,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) parent_names[0] = "plladivck"; parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2); + hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 160c0bddb6a3..da84b4cef827 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -222,7 +222,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) parent_names[0] = "plladivck"; parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2); + hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126680 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp894660vqo; Wed, 26 Jul 2023 23:38:43 -0700 (PDT) X-Google-Smtp-Source: APBJJlEC8sO2vJgtjQWU01Pn/+EEZMZmScjW83/N7yayCc1yLc9bC4MKbDCB6MUEGgxgqcysybU8 X-Received: by 2002:a17:906:6495:b0:991:d05c:f065 with SMTP id e21-20020a170906649500b00991d05cf065mr1268531ejm.52.1690439923331; Wed, 26 Jul 2023 23:38:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439923; cv=none; d=google.com; s=arc-20160816; b=rwX9odZ8BUZS3qRJKq2sDt9oesuo5ij0FxXv9owQlRTrgIQtfaejRGcIHgA16brV03 DXjQwyBkTPYoHMp4hBcG98fHH2hLiIn278u1zUpya8mh4F68pcEP2wTK+F1Jvtig/1fj KNXr/peZnjO/Mr7z4MumvUQOqGGbLRoP6VlWK1KQg4spCPDmYVGZ/n29fRiy7+Ec0Ucl doK5kUcOSIOgbXf2QJ6CdLZyeW/r5HI22AIafLOz3gsIcr8HsPVkc61I0mGLXyUHwZWh N/rkRTqZxLO0DPlw2i/zUdk3iCgynrjMjifgYyyBa8k8CZWNbnh7579JXi0A7pDSk3D0 MLpQ== 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=FAVoXHZ5zvjZ262DesmDLqKSRAd4U2FxEZjVJgo3dJ4=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=kEncPEFVyRqxj2sJJIN+Hbz+BTGsQmtANju8+MLbRAJTLyjPoji/1buvgviPgOThkK CA1x8qC0dE9e9P2klHG/1aW9W5JuEDkRyJ62+5426XBDDCE+AW3BtkbUNVJDpgoRnTbt NPGaGHG/EzJsSPcOmvm8PT8wV1IB43pZdmJkPpHJxhyeNnW8UNILwePyQvz/Bxvz+xML 3ePkgDxwTgAwDNkuH9AdAqmIi+7Wp7QJqJ0/8GashfMM09+PNXlPyzj4+RnXwHtJNJmF /Ch7iC8w6WSKTPkqTPeEgv6wfjhT83H/APhWpu6ak8znvtq/8TjtdDWkjNKOqgihVWyU 9zUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=KKy2c5+u; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gq15-20020a170906e24f00b0099315476769si556490ejb.26.2023.07.26.23.38.20; Wed, 26 Jul 2023 23:38:43 -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=@tuxon.dev header.s=google header.b=KKy2c5+u; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231690AbjG0FdN (ORCPT + 99 others); Thu, 27 Jul 2023 01:33:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231545AbjG0FdH (ORCPT ); Thu, 27 Jul 2023 01:33:07 -0400 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F6812D57 for ; Wed, 26 Jul 2023 22:32:52 -0700 (PDT) Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-686fc0d3c92so21907b3a.0 for ; Wed, 26 Jul 2023 22:32:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435971; x=1691040771; 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=FAVoXHZ5zvjZ262DesmDLqKSRAd4U2FxEZjVJgo3dJ4=; b=KKy2c5+u7/wBLVinxt7z+Adc/SzVAGTOKbC3oRrvt/QKaoxeyCBPKBDeJHrLp8VSyE 9oRgHE/+LQ80G3STCVua5wTWya0lyHpftSD/8YWYlg74zjVHQtRon1/gSfN0DevPIjPL zUBBoHIgDZg+PSR6VKx8gLrqTAfGoRJb+61fAa6kXgMrpLMSMolHRGkqLAVF4oED/z6d DPXVHNe7HKdyVgjBDPN09rDTvFGuvp1p1w36Zsafb8O3KdSmQleN0qKJLMePNjUlueEo XTwdE8H57g4Aq6ZNp+SuHRXNcHIi/B5tx06TdhfAFe0KQEddGyTw4IUbvF4fToLFOo9V K2Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435971; x=1691040771; 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=FAVoXHZ5zvjZ262DesmDLqKSRAd4U2FxEZjVJgo3dJ4=; b=VIecTd+YuIyahYtwAWy20g3hhX/s6nakSs8tKuqGU9e71mSdD8pSqh9qhOvlpKrVXt 4+Q7y8JYQV7fUjGDsNrc9uZGapBVv1drRdIAlsIRyg1cR+DExieFE4CfKnLZMLzVSptF VT5qqd6MpiBye0M5wHC6wFS/eveXlnKtGoKISi7XwqIgkxko+pcyhUtObgnLQDXZAph3 ELn9u/02LZ5DkLm74J7lF/hhl2DAozi5a/FnRPCYqqkTeOf3PVwZ101Pl4cR7atd5UDU qwLqDbKuZIFWN8bfl8QQBLf0ATt53mBrPencJrXK1mCBU5q5nlj0mST6VC5GAx6oCrS7 /XPw== X-Gm-Message-State: ABy/qLacYw/RSYIXZKv/v8AQepeniNgmn3LOpYbM5ykQW6g2TEKxIJB3 YHmRjNnAXhBm3HRaVMmUNNXNzw== X-Received: by 2002:a05:6a21:790b:b0:137:a9d7:de12 with SMTP id bg11-20020a056a21790b00b00137a9d7de12mr3456463pzc.59.1690435971266; Wed, 26 Jul 2023 22:32:51 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.32.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:32:50 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 03/42] clk: at91: sam9x60: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:17 +0300 Message-Id: <20230727053156.13587-4-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554732972090106 X-GMAIL-MSGID: 1772554732972090106 Switch SAM9X60 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Extra time saved on registration is ~180us when running at 600MHz. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sam9x60.c | 124 ++++++++++++++++++++----------------- 1 file changed, 68 insertions(+), 56 deletions(-) diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index ddf993fe391f..c68cd969dd46 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -72,9 +73,9 @@ static const struct clk_pcr_layout sam9x60_pcr_layout = { .pid_mask = GENMASK(6, 0), }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } sam9x60_systemck[] = { @@ -82,11 +83,11 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "qspick", .p = "masterck_div", .id = 19 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "uhpck", .id = 6 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "qspick", .id = 19 }, }; static const struct { @@ -177,31 +178,34 @@ static const struct { static void __init sam9x60_pmc_setup(struct device_node *np) { + struct clk_hw *td_slck_hw, *md_slck_hw, *main_xtal_hw, *main_rc_hw, *main_osc_hw; + struct clk_hw *parent_hws[6], *hw, *usbck_hw; + static struct clk_parent_data parent_data; struct clk_range range = CLK_RANGE(0, 0); - const char *td_slck_name, *md_slck_name, *mainxtal_name; + const char *main_xtal_name = "main_xtal"; struct pmc_data *sam9x60_pmc; - const char *parent_names[6]; - struct clk_hw *main_osc_hw; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; - i = of_property_match_string(np, "clock-names", "td_slck"); - if (i < 0) + clk = of_clk_get_by_name(np, "td_slck"); + if (IS_ERR(clk)) return; - - td_slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "md_slck"); - if (i < 0) + td_slck_hw = __clk_get_hw(clk); + if (!td_slck_hw) return; - - md_slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + clk = of_clk_get_by_name(np, "md_slck"); + if (IS_ERR(clk)) + return; + md_slck_hw = __clk_get_hw(clk); + if (!md_slck_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -214,26 +218,28 @@ static void __init sam9x60_pmc_setup(struct device_node *np) if (!sam9x60_pmc) return; - hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, - 50000000); - if (IS_ERR(hw)) + main_rc_hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, + 50000000); + if (IS_ERR(main_rc_hw)) goto err_free; - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, 0); + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, + &parent_data, 0); if (IS_ERR(hw)) goto err_free; - main_osc_hw = hw; - parent_names[0] = "main_rc_osc"; - parent_names[1] = "main_osc"; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_names, NULL, 2); + parent_hws[0] = main_rc_hw; + parent_hws[1] = main_osc_hw; + hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); if (IS_ERR(hw)) goto err_free; sam9x60_pmc->chws[PMC_MAIN] = hw; hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "pllack_fracck", - "mainck", sam9x60_pmc->chws[PMC_MAIN], + NULL, sam9x60_pmc->chws[PMC_MAIN], 0, &plla_characteristics, &pll_frac_layout, /* @@ -246,7 +252,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) goto err_free; hw = sam9x60_clk_register_div_pll(regmap, &pmc_pll_lock, "pllack_divck", - "pllack_fracck", NULL, 0, &plla_characteristics, + NULL, hw, 0, &plla_characteristics, &pll_div_layout, /* * This feeds CPU. It should not @@ -259,14 +265,14 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_pmc->chws[PMC_PLLACK] = hw; hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "upllck_fracck", - "main_osc", main_osc_hw, 1, + NULL, main_osc_hw, 1, &upll_characteristics, &pll_frac_layout, CLK_SET_RATE_GATE); if (IS_ERR(hw)) goto err_free; hw = sam9x60_clk_register_div_pll(regmap, &pmc_pll_lock, "upllck_divck", - "upllck_fracck", NULL, 1, &upll_characteristics, + NULL, hw, 1, &upll_characteristics, &pll_div_layout, CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | @@ -276,17 +282,17 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = md_slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack_divck"; + parent_hws[0] = md_slck_hw; + parent_hws[1] = sam9x60_pmc->chws[PMC_MAIN]; + parent_hws[2] = sam9x60_pmc->chws[PMC_PLLACK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 3, - parent_names, NULL, &sam9x60_master_layout, + NULL, parent_hws, &sam9x60_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, &sam9x60_master_layout, + NULL, hw, &sam9x60_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); if (IS_ERR(hw)) @@ -294,26 +300,26 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_pmc->chws[PMC_MCK] = hw; - parent_names[0] = "pllack_divck"; - parent_names[1] = "upllck_divck"; - parent_names[2] = "main_osc"; - hw = sam9x60_clk_register_usb(regmap, "usbck", parent_names, NULL, 3); - if (IS_ERR(hw)) + parent_hws[0] = sam9x60_pmc->chws[PMC_PLLACK]; + parent_hws[1] = sam9x60_pmc->chws[PMC_UTMI]; + parent_hws[2] = main_osc_hw; + usbck_hw = sam9x60_clk_register_usb(regmap, "usbck", NULL, parent_hws, 3); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = md_slck_name; - parent_names[1] = td_slck_name; - parent_names[2] = "mainck"; - parent_names[3] = "masterck_div"; - parent_names[4] = "pllack_divck"; - parent_names[5] = "upllck_divck"; + parent_hws[0] = md_slck_hw; + parent_hws[1] = td_slck_hw; + parent_hws[2] = sam9x60_pmc->chws[PMC_MAIN]; + parent_hws[3] = sam9x60_pmc->chws[PMC_MCK]; + parent_hws[4] = sam9x60_pmc->chws[PMC_PLLACK]; + parent_hws[5] = sam9x60_pmc->chws[PMC_UTMI]; for (i = 0; i < 2; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 6, i, + NULL, parent_hws, 6, i, &sam9x60_programmable_layout, NULL); if (IS_ERR(hw)) @@ -322,9 +328,15 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + sam9x60_systemck[0].parent_hw = sam9x60_pmc->chws[PMC_MCK]; + sam9x60_systemck[1].parent_hw = usbck_hw; + sam9x60_systemck[2].parent_hw = sam9x60_pmc->pchws[0]; + sam9x60_systemck[3].parent_hw = sam9x60_pmc->pchws[1]; + sam9x60_systemck[4].parent_hw = sam9x60_pmc->chws[PMC_MCK]; for (i = 0; i < ARRAY_SIZE(sam9x60_systemck); i++) { hw = at91_clk_register_system(regmap, sam9x60_systemck[i].n, - sam9x60_systemck[i].p, NULL, + NULL, sam9x60_systemck[i].parent_hw, sam9x60_systemck[i].id, sam9x60_systemck[i].flags); if (IS_ERR(hw)) @@ -337,7 +349,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sam9x60_pcr_layout, sam9x60_periphck[i].n, - "masterck_div", NULL, + NULL, sam9x60_pmc->chws[PMC_MCK], sam9x60_periphck[i].id, &range, INT_MIN, sam9x60_periphck[i].flags); @@ -351,7 +363,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &sam9x60_pcr_layout, sam9x60_gck[i].n, - parent_names, NULL, NULL, 6, + NULL, parent_hws, NULL, 6, sam9x60_gck[i].id, &sam9x60_gck[i].r, INT_MIN); if (IS_ERR(hw)) From patchwork Thu Jul 27 05:31:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126678 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp894437vqo; Wed, 26 Jul 2023 23:38:12 -0700 (PDT) X-Google-Smtp-Source: APBJJlHIeooHBeXxrrWeULpbhX0pT/ZjjiVmsGHQfAuM8xgKejj/4clMnyXos0N1JpIcmi8pWQmX X-Received: by 2002:a17:906:2189:b0:997:ea90:96b4 with SMTP id 9-20020a170906218900b00997ea9096b4mr1018808eju.61.1690439891930; Wed, 26 Jul 2023 23:38:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439891; cv=none; d=google.com; s=arc-20160816; b=FZQRpGb3Uxv95bER5xCP5v+0bciPlJwjyoHiT7mZe7q+MEM2MmXJ5vHcou2xQ4ldch IqnsFLHNywYUJG/zAtAFreNkY9PnHvCqB/z5G4pWP/YcV/d4jiMlhSdObRX4UcMZOqSg nT0jxhQ0vw6rDm9iahquTqHUNi58YuEYYwUp0pv5iNr1Y65PwOSO1WJVlXjA81K55KBN kU5QR5csjTf8bVCeU/Ww+60r/nVO2nAZztuZMbpQyM704/aPFAqcSEAVJPMu+0kViDt/ vY1XYLAANHwCLxPSWHh8U/JYgxn0cde/McMoAEIy8i53z9vWvkFeLyibmFWokOEX69y4 XanQ== 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=ZOqReItDfaxB+nBJ9zQp2I4wwFvLbgDN9poIQ494Sec=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=OiMGZOI7OG8iBCYh7UK47FOiGSEKc8UB/3YlqXnDzNqVGyjY3C2tB8Z4IkVESblb3r wbZ95b0+E5YTepGngI6dR0MgNbpcHdPcH3TijsIIUNoOwmTvBilwkoXJ6V/7XOKnt+0f 1lQDz1H1rmMfcphktT+Cj+BdYDH5WazKYPS7see7HULE1ivc+gDr0AXPPMhH2XnfrYjd +cR5ALq5yjRuIOBocALlZPeDCYTAQyPfryhzmBiwghzHFUyL6Ds89a6fDwtSay+93pFQ fX/BKBKFRajqz/7b7u+qMPnFbTIKe0nWe0cAlUiLe777IreLQo4HqLqvF0I/lZDYqRUh biyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=NB7doVVd; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j13-20020a17090686cd00b0098e42bef73asi569049ejy.98.2023.07.26.23.37.47; Wed, 26 Jul 2023 23:38:11 -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=@tuxon.dev header.s=google header.b=NB7doVVd; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231545AbjG0FdR (ORCPT + 99 others); Thu, 27 Jul 2023 01:33:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231755AbjG0FdO (ORCPT ); Thu, 27 Jul 2023 01:33:14 -0400 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6AA730DB for ; Wed, 26 Jul 2023 22:32:58 -0700 (PDT) Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-686f090316dso320931b3a.2 for ; Wed, 26 Jul 2023 22:32:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435978; x=1691040778; 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=ZOqReItDfaxB+nBJ9zQp2I4wwFvLbgDN9poIQ494Sec=; b=NB7doVVdgWMiRRp5hZkHS0QERPxUWcgaqil3/xOuD7rKNI9jl2wuxHFzDl7N5BBoOO sl3xJNyzvO0bfAnxkzIj7XB2TM9G9N9NB1i79wtoEmLx1OLdWCwh2Gmg9sMe+wQk8dev vYl9h2wmHjFe4B4v+EN50b/3agja8Xa6JRnolEgkoa+ZFEi3SYrtzKFs82tQLWW9ve6K tCwjxpBUGyULVV9R7jaM0IvUcbPPi1HNmwcvsH7MJlkCIaQNsi8mz7auF0JcChkn/Nyb ZQMym9LSeo1fv++udsWd9/YNECzzOjF7U1bFB4rjS1ZfZUhewLByo5ZcBnGnOBiZVtYA ZSOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435978; x=1691040778; 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=ZOqReItDfaxB+nBJ9zQp2I4wwFvLbgDN9poIQ494Sec=; b=Es6F5BJUJDhnEcS8/hJqGQ29SCOcD9eFqHBdsV6REYLClBB80J1hZgYti3t5wtnG63 i1tB28jSjZRmLx9ZiMvthcMsu1LNeg5MwMeasJt0inqoWXkfShVBvlpDqKfhdyqEdb0p 80Md1ngrTMJXRCpfnU8Mn2oA7JTjX/Jb8o0mW9zzqRnB/xKtmxTuu97kZtDbjanoM6Po ozlhnIXfIrbrLhg5M6wRCzZTAQhX6eu8WK/lSj18tOoBlAoDLF0ifdRXf9Qw5/TDxHUR wUxQ8+cgBK10rguhs4N/aRtMHYiCM05iwp7ZEAhK9LXJMiMCdZgN+mnrlFi0CAQDYqE/ 1oWw== X-Gm-Message-State: ABy/qLbGN+zHYyXvAuqHJaSs1ZUApMpR5kaZ/ShLnOuMmJOt84CiyERg nUfj+caNdjQblW5MYRLrhdb2Cw== X-Received: by 2002:a05:6a21:4985:b0:10f:52e2:49ec with SMTP id ax5-20020a056a21498500b0010f52e249ecmr3493892pzc.53.1690435978324; Wed, 26 Jul 2023 22:32:58 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.32.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:32:58 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 04/42] clk: at91: sam9x60: make checkpatch.pl happy Date: Thu, 27 Jul 2023 08:31:18 +0300 Message-Id: <20230727053156.13587-5-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554699980136909 X-GMAIL-MSGID: 1772554699980136909 Remove the following checkpatch.pl CHECK: Please use a blank line after function/struct/union/enum declarations. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sam9x60.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index c68cd969dd46..930b4515a1dd 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -379,5 +379,6 @@ static void __init sam9x60_pmc_setup(struct device_node *np) err_free: kfree(sam9x60_pmc); } + /* Some clks are used for a clocksource */ CLK_OF_DECLARE(sam9x60_pmc, "microchip,sam9x60-pmc", sam9x60_pmc_setup); From patchwork Thu Jul 27 05:31:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126636 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp865901vqo; Wed, 26 Jul 2023 22:35:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlHtRqtqd/GrnthWHIp0JsrnxsGu2xo/yUsxfjJICWsZ30Idj8opot28/UnBP8w/LyV6zvef X-Received: by 2002:a05:6a00:1745:b0:676:eb8d:e3bc with SMTP id j5-20020a056a00174500b00676eb8de3bcmr4401243pfc.22.1690436114768; Wed, 26 Jul 2023 22:35:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436114; cv=none; d=google.com; s=arc-20160816; b=ktKXpYl33XAKofzfpPmJPMn2G7SU40x/3n6UFY/jthTYDZGNbNOf/e3Q7/Yn1VscW5 ETp2j5sVrPCXe+K6qHbHhP61JKLEANfcvU0/CPgFHQZ92LVwnH14nvAVmmTvNqwgNrq6 AqM5wtEw21P5mTBBCirPp2DlJLsbiK0y3Gx3uN841QJF9XDtR4fXMsDsPZUZy/c4Msy6 mgwV2Dt1cOQUENUY55cqY0QPHF/07bvDNaSxF0Lr0dGLBbLH8i3TFo6TbmjGL3mDK9rE luH3lCwlQg4ye38vwonYfZgXc68w4BCPKCUQJpujyNei/gKY5jAGwveV4a5z2szADbg+ /RZg== 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=mS51ZmJrNJRKzR5R8YYwfuBh1xwTctc46iViNhup/Iw=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=PrTC7Q8/ueYHVn4+DRGprs39pHlTvY2fIYIC0VkJ9AGortqs/fHyr9Sp7BdeFm3Xia u1eQhSam6rNRb8Pt9Z7UkAvWwobRhfpZvvUeMxJ69zPyTvWazEHr2Nqgnx1AwgyDiSLW J+dguRvkR5OAg/tmcrNvYGsNq8raCW7zZlkUUFT0WonJHWZfdkO7QykMFc7X+/FurACt NOFPGQbeE6mIEBTMmwrYHBIUFQmylyFENoztJ5mWjr81k6s04pl81zwZ5WnSIbLuvbZ9 JfxNHv7Pctf+ThEr2wHJkY4Crlv366ZSL+W+nLWRRDGDenXuH9OtJ+xnebPIzr7RGfMB n/jQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=a+aBIZxH; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ck5-20020a056a00328500b0067b51fca490si728825pfb.248.2023.07.26.22.35.01; Wed, 26 Jul 2023 22:35:14 -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=@tuxon.dev header.s=google header.b=a+aBIZxH; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231405AbjG0Fde (ORCPT + 99 others); Thu, 27 Jul 2023 01:33:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231743AbjG0Fd3 (ORCPT ); Thu, 27 Jul 2023 01:33:29 -0400 Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DB96273D for ; Wed, 26 Jul 2023 22:33:06 -0700 (PDT) Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1bb8e45185bso3481315ad.1 for ; Wed, 26 Jul 2023 22:33:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435985; x=1691040785; 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=mS51ZmJrNJRKzR5R8YYwfuBh1xwTctc46iViNhup/Iw=; b=a+aBIZxHWndgPLFmvXqnrfV1/Zes4TfvXi4F37flkt+iHpLt30VDFM1cmtuhTCRYX3 ojMASInkq4m53QK+3xPQudB5jfolz4FVZ5gXcx8OpRGHihcCvLLjt8uWIiOL4jOUsCbD s7oUsu6C0SYG792EAErxf+JpOlzCYo9N0KtZp6TW4QrtIvwerXgzkRmf93XPgPs74zNK DOOEViCfoA4irCztQRKncoa/z0w5zVIBHkPp7T3cwmfQeFI+bTSJREc4ZfYe+HPrePfw 7o+Wv2UUTl8YmGormBtv8f1WVFv84sMbQ8n7ODaJ4SOjFcWcOREvXX17Sm84g4XSRm1W pO/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435985; x=1691040785; 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=mS51ZmJrNJRKzR5R8YYwfuBh1xwTctc46iViNhup/Iw=; b=fSGCtsFZblSEjMbzQ32iHyNEBGZegMGCHALyVXMYWMrxvB5gfyZe2BjjXeCH4hrVZm rQgra1Rm0LPqTEhWFxsRnpC3/5wxcY/+r6Z3KhEI55qxJVjhexvbtmM7rIWxn3mkvVg4 KYQmGTc/sSaHtACbfRB+q++ATlMWeu+QH0ARQdo77cPs2ejRaY5dPRTo+j5zLOB98qLA KV+7nA4ZnP2FJ5iRpIbWB04U1EU89TdkmFA3Ybtl2v3rr3PBKxoXLXY2QW5opHgKaoUs PNybGPjep+9h7MvyG7rEpWbxMd3QoEO58Rvl8iqVMGQaAvs7u5R6MCP0erAHV4DPaGlq KBeA== X-Gm-Message-State: ABy/qLZQM720PszPDHdAw/LSmnjkFVbvMgFfny90oFigzNXSxzg22VQ+ KO3O3C6/U6/L4n6LOby2TiUeEw== X-Received: by 2002:a17:902:e80f:b0:1b8:b436:bef3 with SMTP id u15-20020a170902e80f00b001b8b436bef3mr4111821plg.24.1690435985384; Wed, 26 Jul 2023 22:33:05 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.32.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:05 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 05/42] clk: at91: clk-pll: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:19 +0300 Message-Id: <20230727053156.13587-6-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772550739261518969 X-GMAIL-MSGID: 1772550739261518969 Add support for parent_hw in pll clock driver. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-pll were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 4 ++-- drivers/clk/at91/at91sam9260.c | 4 ++-- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 4 ++-- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-pll.c | 9 ++++++--- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 12 files changed, 20 insertions(+), 17 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index e5a034f208d8..623e232ec9c6 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -119,7 +119,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &at91rm9200_pll_layout, &rm9200_pll_characteristics); if (IS_ERR(hw)) @@ -127,7 +127,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", "mainck", 1, + hw = at91_clk_register_pll(regmap, "pllbck", "mainck", NULL, 1, &at91rm9200_pll_layout, &rm9200_pll_characteristics); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index ae6f126f204a..f39deb3ec00a 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -395,7 +395,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, slck_name = slowxtal_name; } - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, data->plla_layout, data->plla_characteristics); if (IS_ERR(hw)) @@ -403,7 +403,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", "mainck", 1, + hw = at91_clk_register_pll(regmap, "pllbck", "mainck", NULL, 1, data->pllb_layout, data->pllb_characteristics); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 684d2bcb36e8..3436a09a6e8a 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -134,7 +134,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) at91sam9g45_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 9fc20b177b13..80ccd4a49df3 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -160,7 +160,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; @@ -171,7 +171,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", "mainck", 1, + hw = at91_clk_register_pll(regmap, "pllbck", "mainck", NULL, 1, &at91rm9200_pll_layout, &pllb_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 969f809e7d65..0e8657aac491 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -101,7 +101,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &at91rm9200_pll_layout, &sam9rl_plla_characteristics); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 5728cfb9036f..6b8c755fefdf 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -182,7 +182,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, at91sam9x5_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-pll.c b/drivers/clk/at91/clk-pll.c index 249d6a53cedf..afd48cbaa6db 100644 --- a/drivers/clk/at91/clk-pll.c +++ b/drivers/clk/at91/clk-pll.c @@ -310,13 +310,13 @@ static const struct clk_ops pll_ops = { struct clk_hw * __init at91_clk_register_pll(struct regmap *regmap, const char *name, - const char *parent_name, u8 id, + const char *parent_name, struct clk_hw *parent_hw, u8 id, const struct clk_pll_layout *layout, const struct clk_pll_characteristics *characteristics) { struct clk_pll *pll; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int offset = PLL_REG(id); unsigned int pllr; int ret; @@ -330,7 +330,10 @@ at91_clk_register_pll(struct regmap *regmap, const char *name, init.name = name; init.ops = &pll_ops; - init.parent_names = &parent_name; + if (parent_hw) + init.parent_hws = (const struct clk_hw **)&parent_hw; + else + init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index ead99948375b..d8e520e509d8 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -664,7 +664,7 @@ of_at91_clk_pll_setup(struct device_node *np, if (!characteristics) return; - hw = at91_clk_register_pll(regmap, name, parent_name, id, layout, + hw = at91_clk_register_pll(regmap, name, parent_name, NULL, id, layout, characteristics); if (IS_ERR(hw)) goto out_free_characteristics; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 515a3c5595b7..ce68c1b1fb70 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -211,7 +211,7 @@ at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, struct clk_hw * __init at91_clk_register_pll(struct regmap *regmap, const char *name, - const char *parent_name, u8 id, + const char *parent_name, struct clk_hw *parent_hw, u8 id, const struct clk_pll_layout *layout, const struct clk_pll_characteristics *characteristics); struct clk_hw * __init diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 8bbc34e22cda..bc62b9ed4ea0 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -215,7 +215,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 05d0cdd22bc4..9d86c350a1e7 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -161,7 +161,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index da84b4cef827..8491b1e0391d 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -176,7 +176,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0, + hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126661 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp877085vqo; Wed, 26 Jul 2023 23:01:29 -0700 (PDT) X-Google-Smtp-Source: APBJJlE5xumd+xjRWM4Z9kedQib02Rb7GTz7d+m8zgl5wq4rxFvDLT2x/oDGs5C8CFrOixZklPHe X-Received: by 2002:a17:90a:dd84:b0:268:4df5:8b29 with SMTP id l4-20020a17090add8400b002684df58b29mr3218374pjv.19.1690437689370; Wed, 26 Jul 2023 23:01:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437689; cv=none; d=google.com; s=arc-20160816; b=epCqBBv145csg/5kM5qnGGVtxn66IocaXqIMhFHysqBYdXm12bdBKlMhUI35nyccMV zqiNIE6lrFlVV+yBDu31jsvMkgmp0jvQWFtgZSQ11KzCsbli3o8bYmDeX2Sou3V11Yfv RzVFNHliCFKuoTpe7iVgsS2fxepwxWOonlBpyqwwIi/5VHNnIJCub4vbRpYlR9zl/nJU /gbAXKkYfN2q8cQG06sTFgLYC1mxjxhz7zDkpY2VznlnxU5MOYkCDinkRU9TfMUxeFRC zPSx5vhuyc/V6AF2J08q0RkBDru7sVtSE6IwsHqfWY6K11HHZ6RcSzGR+ASdqZ9evzyL IedA== 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=p47IEHM+JZSsAANQ/kyvjM6x0oAWT/q0JwErNba07sU=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=ojkwptK6mGoKDsbHdHNkeHiPydAU+8qeoWoM74u0M4fuLhec1Yep2u7A3I/shLKlJK BjzVuJ98j7l2xp+vndZXi3pijf9f2PVP5iGv5vuXDVSicq4dM7lZ2UK74eRKJCFORd51 zheoY4h8ScVXfRUe5cve/R9d6hEScMn+cqFqdTbrs+lmwUbp83C5yxWVksfsc9tUCCoF CLFthBWGIulJ2k+dqMVFKT8/XwrqZq8y9hTx/Jt9XAJWIt4r7lr+oA8zG3o9c/EexObg +BdNS+T8ND8szFWtH6ZWNRygpDCSLaq3hQTH+yfDCwTg9T94kisCH7EOuoPqhnORTqw3 36ZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Jwa33zZJ; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mp1-20020a17090b190100b002631bfbd8d0si786058pjb.129.2023.07.26.23.01.14; Wed, 26 Jul 2023 23:01:29 -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=@tuxon.dev header.s=google header.b=Jwa33zZJ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231756AbjG0Fdk (ORCPT + 99 others); Thu, 27 Jul 2023 01:33:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52680 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231772AbjG0Fdf (ORCPT ); Thu, 27 Jul 2023 01:33:35 -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 E1A1E2D78 for ; Wed, 26 Jul 2023 22:33:12 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1b8b4748fe4so3783095ad.1 for ; Wed, 26 Jul 2023 22:33:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435992; x=1691040792; 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=p47IEHM+JZSsAANQ/kyvjM6x0oAWT/q0JwErNba07sU=; b=Jwa33zZJtyHQ6H92mgUKLxpuKwc455YJUiTrkI7z8K56ZNWLnw5UeW6SLUP+rNVRni IDIcwsZlCQLAQI/L8464HY/WPdd3RN4xbPZDGno3r3bdbezUcvwy+/pT17jiv3DW26Uk JYP9beEDushkyrKuTpEJaIBFNjnWn7q0ZRvV4hNcQX9wMPeavBy0K9hTbfXWnA8iosxR i3xQDBNBm6nMBkpozyoQJ0vRdI2KG68b1O2rX8lMxQej1bpkg95TAwAoCbeBPX17WXQI vrUYqrjnbTqwD0gCqWNILBwWsmF27jlAcQpSe23WxY7NRlxU6c9hx6ZEHQhPAZSI4eVW WVmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435992; x=1691040792; 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=p47IEHM+JZSsAANQ/kyvjM6x0oAWT/q0JwErNba07sU=; b=XksGBddRmkstxZ+yLcM0EwQQe2WPKNN21JmdQmTwd4G5yhV+RDM9oYDtQQdTVkoC9p VaS6YYH1BUcvTPtryjmN3fEgMm4X4a2wYWFi1L9gEHFeFDuOXLCU8YdgeQbdumKIW5Uz Tfo7EiAcwp8Iol+Qp2Znu/O4wkLsLQRZaGeJEqHdvW0VkNjcQ+aCyvUq09CDsPAEF/91 745lFW+jdCr6o7YNFkMnVl3MBkPAkNYvAldppW2hyu2JqdM9s2DEK+PntFrFKkLlKJp+ SC79lUP8Up0+H43tAP2P0H3sgTKhwDupqpgB5NS8fphEtLJ33fG0PT6l57Pc8ywcW0cu OBnw== X-Gm-Message-State: ABy/qLZBjHY/yLFcGVXM08WVgFwFPEAfBR1dVMPgaPIukQR6s0YJdIxn Zjpl1fuM221fecGcgHgjVEIzDA== X-Received: by 2002:a17:902:7795:b0:1b8:b827:aa8e with SMTP id o21-20020a170902779500b001b8b827aa8emr3089993pll.11.1690435992455; Wed, 26 Jul 2023 22:33:12 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:12 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 06/42] clk: at91: clk-audio-pll: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:20 +0300 Message-Id: <20230727053156.13587-7-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552390743380476 X-GMAIL-MSGID: 1772552390743380476 Add support for parent_hw in audio pll clock drivers. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-audio-pll were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-audio-pll.c | 25 +++++++++++++++++-------- drivers/clk/at91/dt-compat.c | 6 +++--- drivers/clk/at91/pmc.h | 6 +++--- drivers/clk/at91/sama5d2.c | 6 +++--- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/drivers/clk/at91/clk-audio-pll.c b/drivers/clk/at91/clk-audio-pll.c index a92da64c12e1..7a13af95d628 100644 --- a/drivers/clk/at91/clk-audio-pll.c +++ b/drivers/clk/at91/clk-audio-pll.c @@ -450,7 +450,7 @@ static const struct clk_ops audio_pll_pmc_ops = { struct clk_hw * __init at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, - const char *parent_name) + const char *parent_name, struct clk_hw *parent_hw) { struct clk_audio_frac *frac_ck; struct clk_init_data init = {}; @@ -462,7 +462,10 @@ at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, init.name = name; init.ops = &audio_pll_frac_ops; - init.parent_names = &parent_name; + if (parent_hw) + init.parent_hws = (const struct clk_hw **)&parent_hw; + else + init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE; @@ -480,10 +483,10 @@ at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, - const char *parent_name) + const char *parent_name, struct clk_hw *parent_hw) { struct clk_audio_pad *apad_ck; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; apad_ck = kzalloc(sizeof(*apad_ck), GFP_KERNEL); @@ -492,7 +495,10 @@ at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, init.name = name; init.ops = &audio_pll_pad_ops; - init.parent_names = &parent_name; + if (parent_hw) + init.parent_hws = (const struct clk_hw **)&parent_hw; + else + init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | CLK_SET_RATE_PARENT; @@ -511,10 +517,10 @@ at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, - const char *parent_name) + const char *parent_name, struct clk_hw *parent_hw) { struct clk_audio_pmc *apmc_ck; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; apmc_ck = kzalloc(sizeof(*apmc_ck), GFP_KERNEL); @@ -523,7 +529,10 @@ at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, init.name = name; init.ops = &audio_pll_pmc_ops; - init.parent_names = &parent_name; + if (parent_hw) + init.parent_hws = (const struct clk_hw **)&parent_hw; + else + init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | CLK_SET_RATE_PARENT; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index d8e520e509d8..6698a770d45a 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -43,7 +43,7 @@ static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np) parent_name = of_clk_get_parent_name(np, 0); - hw = at91_clk_register_audio_pll_frac(regmap, name, parent_name); + hw = at91_clk_register_audio_pll_frac(regmap, name, parent_name, NULL); if (IS_ERR(hw)) return; @@ -69,7 +69,7 @@ static void __init of_sama5d2_clk_audio_pll_pad_setup(struct device_node *np) parent_name = of_clk_get_parent_name(np, 0); - hw = at91_clk_register_audio_pll_pad(regmap, name, parent_name); + hw = at91_clk_register_audio_pll_pad(regmap, name, parent_name, NULL); if (IS_ERR(hw)) return; @@ -95,7 +95,7 @@ static void __init of_sama5d2_clk_audio_pll_pmc_setup(struct device_node *np) parent_name = of_clk_get_parent_name(np, 0); - hw = at91_clk_register_audio_pll_pmc(regmap, name, parent_name); + hw = at91_clk_register_audio_pll_pmc(regmap, name, parent_name, NULL); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index ce68c1b1fb70..6d541b4d3f50 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -130,15 +130,15 @@ struct clk_hw *of_clk_hw_pmc_get(struct of_phandle_args *clkspec, void *data); struct clk_hw * __init at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, - const char *parent_name); + const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, - const char *parent_name); + const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, - const char *parent_name); + const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index bc62b9ed4ea0..d2af421abddc 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -227,19 +227,19 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->chws[PMC_PLLACK] = hw; hw = at91_clk_register_audio_pll_frac(regmap, "audiopll_fracck", - "mainck"); + "mainck", NULL); if (IS_ERR(hw)) goto err_free; hw = at91_clk_register_audio_pll_pad(regmap, "audiopll_padck", - "audiopll_fracck"); + "audiopll_fracck", NULL); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_AUDIOPINCK] = hw; hw = at91_clk_register_audio_pll_pmc(regmap, "audiopll_pmcck", - "audiopll_fracck"); + "audiopll_fracck", NULL); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126639 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp867374vqo; Wed, 26 Jul 2023 22:38:42 -0700 (PDT) X-Google-Smtp-Source: APBJJlFn5YC0Y7QiI6LuTblynCXd8Q53uU0ph1F8hK0Z1F3tl9PxUTqZgmTZPV4xs5N0gDxg0HCZ X-Received: by 2002:a05:6a00:399c:b0:666:8cbb:6e02 with SMTP id fi28-20020a056a00399c00b006668cbb6e02mr4887860pfb.8.1690436322349; Wed, 26 Jul 2023 22:38:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436322; cv=none; d=google.com; s=arc-20160816; b=WlEUXNzZA+HajtVH8YvqscRO39CBTIoYJTNdXq90KR5XUpCie5DBthZE50kSo3OUYH Cx1Lc5fQqpN9/50Q7gvcBN119VY0Mx2+Q37ztC7MmL6H18zaF1hkj5vT9C64zQ/gwi56 Y5QSn1IA2UwpJZ0BsYxMwI4HQz843wYv841ckRhrJQU0mxXxUeecaj6rEmmin0kVOJA3 +kVAj7HlhtTI+yP3tMsB6Bq32DeOs8TWLX5HGOaXj8F7sYBSdZ4xlmxavsD5ZF2hue5B NMsnGH1Gse9SIysCyFHn7KeekQhpkwlTbpv7mvxbMJpwCM+URMPCwTCOnfHE2mic/z6o auTA== 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=tDrEaG1FrYIYPpIkYqTQ35Nb2gC0x77uQ2+oCiptl8Y=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=zDE1tORQCCvNbBHaUI+36LxVE9/UxDDvfUyn9wcC2dqD2AJCY8I1TorRgU0WjRnaMx pp8fMNH1nwM+I+qEIIzlQbl2aBLpxvkj+/9RF5o32+nce472ExltygOuh5VycV0sNWZ3 rkpQS00cg8Qokq+yks/1TjSFOCFemHRV65f6OkozZsS+ScuSWHYYnr61QsFV/PscC/U3 oNH8CuEBS7iGAwIN8iZptr3shY4Xx9LBrZIwQjZMxXKjHJZUouOtPvGDmKpFhGSsDcs8 rIONW3hm6OOdkTdBEX3pcmuixID08XiwRUz9WwxlXB2RecjBAtcm80Y+b1Pn3mGwsoWC fr9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=TNmQRH6X; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ck8-20020a056a00328800b0067c47ceb886si734064pfb.391.2023.07.26.22.38.29; Wed, 26 Jul 2023 22:38:42 -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=@tuxon.dev header.s=google header.b=TNmQRH6X; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231784AbjG0Fdp (ORCPT + 99 others); Thu, 27 Jul 2023 01:33:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231770AbjG0Fdj (ORCPT ); Thu, 27 Jul 2023 01:33:39 -0400 Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D57430C6 for ; Wed, 26 Jul 2023 22:33:20 -0700 (PDT) Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1b9c5e07c1bso4614265ad.2 for ; Wed, 26 Jul 2023 22:33:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690435999; x=1691040799; 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=tDrEaG1FrYIYPpIkYqTQ35Nb2gC0x77uQ2+oCiptl8Y=; b=TNmQRH6XD/IQqkFuUnbUYHKPbUJtpCP9ZTd7hOjPFstkK4GGw2cOrkEXSJrRdk77Ss qool2eiA9B4NNiEyhGjOTFBRKoV+sCN/vODbxNiO65s2r5MD7FDhRuvbVn0hkwT0puLs lZbMQxJkqD2q1EoeXCK6avn+rNgNfXEH2ESjaDJBIgmjyvv5wgG0cT/ARkKS7mGBLa/h RTsQtwAxUuFX//+UIV4yaPX2gi+awiwQoglYmG+eXfzf0bVPFPNZRG24JgQ6hREbbVvo caVyWLd3gtrnrBIBYu4east4Mz0rJM6fKjwUTVYDM4AJwYNeU85+D4G/Sav7a4b7g3DT RblQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690435999; x=1691040799; 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=tDrEaG1FrYIYPpIkYqTQ35Nb2gC0x77uQ2+oCiptl8Y=; b=c3h/72nEX/Hbd05Xwqf8uD929p/SotPuTRnDhxJ5bN2La8PSdBuutTcQahmC0/wjCN ebJKakUm8jUhiynx0HyPluTkm8RxZl5WuMekqvAM00GFm04XKacLt0BHtsauGvEGfDTm 8nkjrvmShABmciZe+BBGB6TrcCdpCujBqHTJND6CF20X9FVbetXpZQHR9T1eV7f5IQcJ qV4vxk2oCiTuZcerplaidIZ8r+40KPkfkOXBDYP6prh7rIHqruL6/AQpmukzlf4PrWpG k09ro0g5UeQfBSUWRUKyOx2GXTmYGQ2k8JCRtebeqEik2uued2wDtxWGgv2+1VhogeaB 0nuw== X-Gm-Message-State: ABy/qLZa/YWRISRPrYc9qWanf+J9r/8IicOcjXuuKrq5OKGyEjJnpR57 GasPvwqe5N7I60IfpTtIQDyaew== X-Received: by 2002:a17:902:728a:b0:1b8:a19e:a3d3 with SMTP id d10-20020a170902728a00b001b8a19ea3d3mr3388752pll.52.1690435999541; Wed, 26 Jul 2023 22:33:19 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:19 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 07/42] clk: at91: clk-plldiv: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:21 +0300 Message-Id: <20230727053156.13587-8-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772550957140513181 X-GMAIL-MSGID: 1772550957140513181 Add support for parent_hw in plldiv clock driver. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-plldiv were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-plldiv.c | 13 +++++++++---- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 9 files changed, 17 insertions(+), 12 deletions(-) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 3436a09a6e8a..cb98d22c2e30 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -139,7 +139,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack"); + hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 80ccd4a49df3..34dd7645f964 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -165,7 +165,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack"); + hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 6b8c755fefdf..37280852f086 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -187,7 +187,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack"); + hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-plldiv.c b/drivers/clk/at91/clk-plldiv.c index ba3a1839a96d..1d5a0a6d299d 100644 --- a/drivers/clk/at91/clk-plldiv.c +++ b/drivers/clk/at91/clk-plldiv.c @@ -72,11 +72,11 @@ static const struct clk_ops plldiv_ops = { struct clk_hw * __init at91_clk_register_plldiv(struct regmap *regmap, const char *name, - const char *parent_name) + const char *parent_name, struct clk_hw *parent_hw) { struct clk_plldiv *plldiv; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; plldiv = kzalloc(sizeof(*plldiv), GFP_KERNEL); @@ -85,8 +85,13 @@ at91_clk_register_plldiv(struct regmap *regmap, const char *name, init.name = name; init.ops = &plldiv_ops; - init.parent_names = parent_name ? &parent_name : NULL; - init.num_parents = parent_name ? 1 : 0; + if (parent_hw) { + init.parent_hws = (const struct clk_hw **)&parent_hw; + init.num_parents = 1; + } else { + init.parent_names = parent_name ? &parent_name : NULL; + init.num_parents = parent_name ? 1 : 0; + } init.flags = CLK_SET_RATE_GATE; plldiv->hw.init = &init; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 6698a770d45a..6e010b5cb435 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -723,7 +723,7 @@ of_at91sam9x5_clk_plldiv_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91_clk_register_plldiv(regmap, name, parent_name); + hw = at91_clk_register_plldiv(regmap, name, parent_name, NULL); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 6d541b4d3f50..3f7ad79db4db 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -216,7 +216,7 @@ at91_clk_register_pll(struct regmap *regmap, const char *name, const struct clk_pll_characteristics *characteristics); struct clk_hw * __init at91_clk_register_plldiv(struct regmap *regmap, const char *name, - const char *parent_name); + const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index d2af421abddc..7904f2122ed7 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -220,7 +220,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack"); + hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 9d86c350a1e7..7f2ac8f648dd 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -166,7 +166,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack"); + hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 8491b1e0391d..7cda8032653e 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -181,7 +181,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack"); + hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126641 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp867850vqo; Wed, 26 Jul 2023 22:39:56 -0700 (PDT) X-Google-Smtp-Source: APBJJlE/9Y3d/wW/37JmFA16wlJtrxo5y3kd9lkV9EdmvK/Okl66olxO0b2QkvWkqpPrjE5qbZrO X-Received: by 2002:a05:6358:2817:b0:135:89d6:22e9 with SMTP id k23-20020a056358281700b0013589d622e9mr1373112rwb.13.1690436396276; Wed, 26 Jul 2023 22:39:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436396; cv=none; d=google.com; s=arc-20160816; b=xZED0BjUdBdEwe7MXxeM45YdgpNEVMumMCypIs3hMgnAvMz638ILsxLETkjhazvR3R nCOFAsMaHJ8ESoyQHObo0+VEsw+OVCmlvdjSlT2K9ipHUbe4Hi9Gj6N31HqJO10kaH+f 9+MC5vMFqs+CFFOhaYv0jnVEuXhjO1TygpxBCNTPsvPMPm30bKP2cpgbFvu8gBGJDrfI sHH/U3tdrTsSdQ+B7uC7rHknt1j38LaNq8qCCbHKZkZLWNH/RWoyrmLCMt0QhS+0GQ9O /WI8BUP1rP7N65hQNSR4+ztkWgFW/cQHgwUXc141z2S4djXPDvSyn2olcS0ZVLwr0TGP 7N6g== 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=ET3auG+YOLxA4Kz/fjW90vjtO8YNjKzJmKaIU71PEwg=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=Oz38AtZZsdKfy1MEhWBnQRXrauowvIlX3BWGdRfg+dcP0KT+hdOGXQ/yKgeHYSLIfP GY+uOcoXf4CRbCdrKZUBBBQqdfZGEMOViFjXDAKEgUwCH+Zw4EysWqAEcuCj5cHpcMYy UEnIvgCI1FasCXho7A9IuF7PI/3NrtF/5AFjPRKz7/5nJMB3LDi3q5VVIYoGw742XwR7 jPfWvJSgCbnCRpbETd/X5+SjMT+VoP3dlqlavygGDMtdW5LjdCmhL5aBxKSpkUr9V/rD wJDLbl3RMVIYUhml+HYZ85x7pLrjZkvOXKv0lHAX6IPVsMUn5qetmOt1JM/zM8fzovoO 1/7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Qky0ouzr; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b2-20020a056a0002c200b00678ba339933si715157pft.160.2023.07.26.22.39.42; Wed, 26 Jul 2023 22:39:56 -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=@tuxon.dev header.s=google header.b=Qky0ouzr; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231809AbjG0FeP (ORCPT + 99 others); Thu, 27 Jul 2023 01:34:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53084 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231761AbjG0FeM (ORCPT ); Thu, 27 Jul 2023 01:34:12 -0400 Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 53B0E30C5 for ; Wed, 26 Jul 2023 22:33:43 -0700 (PDT) Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1b9e9765f2cso3288005ad.3 for ; Wed, 26 Jul 2023 22:33:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436007; x=1691040807; 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=ET3auG+YOLxA4Kz/fjW90vjtO8YNjKzJmKaIU71PEwg=; b=Qky0ouzrEazF7OV6EacrIQAM3rX40oemivrHJMql2tdK1nPdQkUqW3UsotdaVdtp1O utQ/MHsxc2TDqlW3sNgwqjIBhxQu5qqeKeY26RZ53DY6jPwCHs0W3F1/4EDiUpEAJDdk lU2WWR6bDv5AFIvQ4U1eoprq93jq87qlJ0v/PSGYsgOpYWz5W6W3om4khGaePa48odAp KVCwwcG0OXprw/mPnCjw3X0EylLgiRU6usjob8l8R1O+/WAX5Y2eg4Z3tBdN6zz7RV42 iDSIAbqpMLiPWekaaUPDt3ktUQvfxwzAUxuTg1GYsVsZVIQgx4NMk2WGg1vs90+DjJpk OroA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436007; x=1691040807; 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=ET3auG+YOLxA4Kz/fjW90vjtO8YNjKzJmKaIU71PEwg=; b=O+v63U0EQTi7WwJHnnn4TNjj7VLlHVRoYT/I3GG6CqxRcdIredT0D1v77UlH+TuAzf 9MFFzCGHIGSTBkpcZXUAasj7gjepjEBRPqBnJU81H+ue1DzoMCK2eE628g3V+pZwlzVF 7uzuf+GCozhaovZjw4TdQlzrsxqXdV6BTleA2oMyXIwcy+BcMELlaQnoZIN/kxNqopBM 2d2tQDyvqDciB0uYLAB7BhnNUzTMQpt5FUqpMl1eT9wrbCZF5d14n542nVwP/M4KgpE1 GTPKRAbu61mEYyuTpGW11kX+n28p8yIoi7VlzRBWrZw4BtJyfmwhwDP9ZlFAkKH1mQyu r5EQ== X-Gm-Message-State: ABy/qLZeqhoXxM5TkHXA5oc1PkbQAo5yCeSqjvRaNss+ZIQg9wReWhbN JPMHVMAm1XxDVEZfneOsTvBKYw== X-Received: by 2002:a17:903:22c9:b0:1b8:30d8:bc45 with SMTP id y9-20020a17090322c900b001b830d8bc45mr3989756plg.47.1690436006998; Wed, 26 Jul 2023 22:33:26 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:26 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 08/42] clk: at91: clk-h32mx: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:22 +0300 Message-Id: <20230727053156.13587-9-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551034897906287 X-GMAIL-MSGID: 1772551034897906287 Add support for parent_hw in h32mx clock driver. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-h32mx were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-h32mx.c | 13 +++++++++---- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/clk/at91/clk-h32mx.c b/drivers/clk/at91/clk-h32mx.c index 1e6c12eeda10..d7cdade56454 100644 --- a/drivers/clk/at91/clk-h32mx.c +++ b/drivers/clk/at91/clk-h32mx.c @@ -83,10 +83,10 @@ static const struct clk_ops h32mx_ops = { struct clk_hw * __init at91_clk_register_h32mx(struct regmap *regmap, const char *name, - const char *parent_name) + const char *parent_name, struct clk_hw *parent_hw) { struct clk_sama5d4_h32mx *h32mxclk; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; h32mxclk = kzalloc(sizeof(*h32mxclk), GFP_KERNEL); @@ -95,8 +95,13 @@ at91_clk_register_h32mx(struct regmap *regmap, const char *name, init.name = name; init.ops = &h32mx_ops; - init.parent_names = parent_name ? &parent_name : NULL; - init.num_parents = parent_name ? 1 : 0; + if (parent_hw) { + init.parent_hws = (const struct clk_hw **)&parent_hw; + init.num_parents = 1; + } else { + init.parent_names = parent_name ? &parent_name : NULL; + init.num_parents = parent_name ? 1 : 0; + } init.flags = CLK_SET_RATE_GATE; h32mxclk->hw.init = &init; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 6e010b5cb435..8540234e9d89 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -201,7 +201,7 @@ static void __init of_sama5d4_clk_h32mx_setup(struct device_node *np) parent_name = of_clk_get_parent_name(np, 0); - hw = at91_clk_register_h32mx(regmap, name, parent_name); + hw = at91_clk_register_h32mx(regmap, name, parent_name, NULL); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 3f7ad79db4db..1604b44f2945 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -150,7 +150,7 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, struct clk_hw * __init at91_clk_register_h32mx(struct regmap *regmap, const char *name, - const char *parent_name); + const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 7904f2122ed7..8c7ff0108b41 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -276,7 +276,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->chws[PMC_MCK] = hw; - hw = at91_clk_register_h32mx(regmap, "h32mxck", "masterck_div"); + hw = at91_clk_register_h32mx(regmap, "h32mxck", "masterck_div", NULL); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 7cda8032653e..04c848cd7001 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -214,7 +214,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) sama5d4_pmc->chws[PMC_MCK] = hw; - hw = at91_clk_register_h32mx(regmap, "h32mxck", "masterck_div"); + hw = at91_clk_register_h32mx(regmap, "h32mxck", "masterck_div", NULL); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126646 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp871977vqo; Wed, 26 Jul 2023 22:49:40 -0700 (PDT) X-Google-Smtp-Source: APBJJlGeuffmJ1vix74XBM1obyFiT8KEhI0mpAsE60mJ2Yz0K+r8XwXzUsZ2i2CpX4YHNXWthlGk X-Received: by 2002:a05:6a21:3e0c:b0:11e:e940:441e with SMTP id bk12-20020a056a213e0c00b0011ee940441emr3304692pzc.25.1690436979725; Wed, 26 Jul 2023 22:49:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436979; cv=none; d=google.com; s=arc-20160816; b=oJIdfA9LvjAh+Ly0RiNktDTmixgZ2l8aeYGBvUcoh9wbOPhXTaTBMxspjZ1/ffvdm9 FxE38as14pCyjf0obx+1Ah5WI6CSd/v7dnpNFD1z0V5MX7KxK7x3ZUTIz4vF9Wi62P6v YmaYIbDlBr9XnXZyF3guNQcS504hVIxBqYntai4lurg5/7GxVM3PGoR3jnMwRJISXowO iguhy4OzFfVSU+TGG/gcGTnZcO4vM6BIIoev6ledhKXup6CXhshN5IbPGpBV+RNRzT94 u0MsIxBd2M4KP2TVChLM64VtbnW8zoZvB9b9sTmKYbaMHS9g4inpuHvf6qrIBlzENXI0 lIkw== 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=u6pPVVuf+iHSKHYY4ZFtCS4Q+L5PHxVLLeO9zsDmxdk=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=NFk4t8mWqgrPQ9RY4ZUVdDPBhUC1N/GuPslFI8TiOoYWg9xXb9Bdc+rjA5QuwySMGz /vqlyUIHEFqsbBPMYJnSMLzdy4C88Oh/ok2nzOdMqgpyFf/ddlg0mIeA9MUHBtiHI9qd 3tKRdeNTiqcbCsqK7StQZtrd9beOt8jEzpO4b95oaP/DUozouxvvsO4mTdAUUil7vjE8 2QfNgrTmWSb27UvWMI1VFAgfT+RcWascTDoDDmmGKXyc8qd128QsZsPYQmH/fTR2gloH dllcxWj+XvL0xpoCjazqBwzlsEDnW46WtyIFtBoG85SSE5uJV+nv7F4UwcZvuwZMLfYI prjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b="I40E/Tu+"; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f13-20020a056a00228d00b0067f69d10241si776964pfe.176.2023.07.26.22.49.26; Wed, 26 Jul 2023 22:49:39 -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=@tuxon.dev header.s=google header.b="I40E/Tu+"; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231859AbjG0Fej (ORCPT + 99 others); Thu, 27 Jul 2023 01:34:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231856AbjG0Fec (ORCPT ); Thu, 27 Jul 2023 01:34:32 -0400 Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A51B635B0 for ; Wed, 26 Jul 2023 22:33:56 -0700 (PDT) Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-56345ab18b0so294317a12.3 for ; Wed, 26 Jul 2023 22:33:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436014; x=1691040814; 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=u6pPVVuf+iHSKHYY4ZFtCS4Q+L5PHxVLLeO9zsDmxdk=; b=I40E/Tu+tyrDTZMYc1cPYstrlmBQV6lwHdF/Wtzl6QsK+ppLtgCOOz0mQUFVkkA0/K Pma5M1Mr+XEtJn3bjdcSfgKI6wHMkOMB4ftatqfkjaBo1w5uV02nzkOJk2vq4x7G9IA/ aNWz0J5TfQFmLb7nSVOOk1gKSocVUnBWfxx77HC0LVsw9fbj/JJJmt8O6hz4XEcHgtc3 oGwrCDLHPZfd525go0ZfPDjM2AXs97ZkvraDqTOQdKml1FRv7jUY2Z4oMte7u4UPZWOX 2fvSeBRdKtdhO7ap8JuHbz4LqYV/wVEYjkKhrYafuwp9XtNRnajUgcz3iileulOXZutu /2xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436014; x=1691040814; 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=u6pPVVuf+iHSKHYY4ZFtCS4Q+L5PHxVLLeO9zsDmxdk=; b=ZWLVoz+6NKAiho1NHbADmwsU1yWtyZwhlGeU3NUxSqIF0ZPsp9GA7FQRbjge8WtfjL rL+6R27SBJS1ro5oEGZLWomlX/D15pUCXkHHchrlZuG5AqDy+mSPzSGch6q/ynIKqf+T PXAw3DpgSGYAgsgqfqFaKXUQgotY+5kjkQ1KtwFme9EglGH5oYDnwxCbvOyTKK02pIZu WRR4Xno0+s0yHRg/xuJINIOxqqzAoTMVKvfCO3Ff3EB1vkXVVUgGDl8KfPM3d0EaF8e8 eFdJnNWznf5REQFwvwQrRkEDtIl9QScfpsx9B03psXeaqL+L/cDHO13Lk6rVQWp+8sZq hHqg== X-Gm-Message-State: ABy/qLaFEB17PhhwJunpuvaQCCBiqGR2NSe+Nde7QhIoF7TJnxjm+zBU 3qtf4vFYUdjXuRy03EA9mAF2zQ== X-Received: by 2002:a17:902:c94e:b0:1b6:7f96:42ca with SMTP id i14-20020a170902c94e00b001b67f9642camr3754606pla.66.1690436014261; Wed, 26 Jul 2023 22:33:34 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:33 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 09/42] clk: at91: clk-i2s-mux: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:23 +0300 Message-Id: <20230727053156.13587-10-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551646388812790 X-GMAIL-MSGID: 1772551646388812790 Add support for parent_hw in i2s mux clock driver. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-i2s-mux were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-i2s-mux.c | 7 +++++-- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/clk/at91/clk-i2s-mux.c b/drivers/clk/at91/clk-i2s-mux.c index fe6ce172b8b0..f1981b8ee18d 100644 --- a/drivers/clk/at91/clk-i2s-mux.c +++ b/drivers/clk/at91/clk-i2s-mux.c @@ -50,7 +50,7 @@ static const struct clk_ops clk_i2s_mux_ops = { struct clk_hw * __init at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, - const char * const *parent_names, + const char * const *parent_names, struct clk_hw **parent_hws, unsigned int num_parents, u8 bus_id) { struct clk_init_data init = {}; @@ -63,7 +63,10 @@ at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, init.name = name; init.ops = &clk_i2s_mux_ops; - init.parent_names = parent_names; + if (parent_hws) + init.parent_hws = (const struct clk_hw **)parent_hws; + else + init.parent_names = parent_names; init.num_parents = num_parents; i2s_ck->hw.init = &init; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 8540234e9d89..f0498d9c269c 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -239,7 +239,7 @@ static void __init of_sama5d2_clk_i2s_mux_setup(struct device_node *np) continue; hw = at91_clk_i2s_mux_register(regmap_sfr, i2s_mux_np->name, - parent_names, 2, bus_id); + parent_names, NULL, 2, bus_id); if (IS_ERR(hw)) continue; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 1604b44f2945..e1fd87aebd27 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -154,7 +154,7 @@ at91_clk_register_h32mx(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, - const char * const *parent_names, + const char * const *parent_names, struct clk_hw **parent_hws, unsigned int num_parents, u8 bus_id); struct clk_hw * __init diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 8c7ff0108b41..f5d6c7a96cf2 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -372,7 +372,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_names[0] = "i2s0_clk"; parent_names[1] = "i2s0_gclk"; hw = at91_clk_i2s_mux_register(regmap_sfr, "i2s0_muxclk", - parent_names, 2, 0); + parent_names, NULL, 2, 0); if (IS_ERR(hw)) goto err_free; @@ -381,7 +381,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_names[0] = "i2s1_clk"; parent_names[1] = "i2s1_gclk"; hw = at91_clk_i2s_mux_register(regmap_sfr, "i2s1_muxclk", - parent_names, 2, 1); + parent_names, NULL, 2, 1); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126659 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp875936vqo; Wed, 26 Jul 2023 22:59:37 -0700 (PDT) X-Google-Smtp-Source: APBJJlHNFBMaWVorhva7by2fE9UI4R9mH42Mqzf6XYQUEDiCGyKFkIR9aryd5DPR6AheQQjFF7dL X-Received: by 2002:a17:90a:7bcd:b0:268:96e:31e1 with SMTP id d13-20020a17090a7bcd00b00268096e31e1mr2734699pjl.49.1690437577216; Wed, 26 Jul 2023 22:59:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437577; cv=none; d=google.com; s=arc-20160816; b=gfpmZodex3VyBIv5auqKkCE7CWz/gE/kCkUkbuI632KL0s9CxDw6HA86Afwt9JrzRB UImTtUlp0KskTpgEndix4w+dIzVi5AegpxGOdEgYFlQqVVp3Dsrdll4h3fh+GmMwbemp +4VKW0JfzcBii/n+a+cO7rcWvpCMTheTbF4uoSAl+678+uvp9pdRc1ziJ3tM6Kc8zpHL LqvsMbKKe7wQlGn+mJ+jUIatopzPZ4/B+DdXNjkB/YDyg7bL4SGLi4EpV4BanoYevjy+ pyjDrIJRmfE/Nzz5MKNRnVWvm0H/AUQbxuy3iJoiXDUeMxlaqM2MGkmJph+M3xOOuZNA K0xg== 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=mx4drRTLsTo8BLvzaJxx0gqAvVOnYebcn8FvaHa6RBo=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=OWLONT0LAi5I3TeISZEryH8sL2X/NcE6JYU1u/TZ0c/+f1dymT+5k1QSiOjPvTmqCj XEOWK/9B3F1NDuj7McX5pX78QCdqXTbgAvHeBXZ6fFAD2khWGqrLH2xJ6TAPVH3SzVrX wMORJirqHK6X3JAh16beBmEQYdJmFkJtVWSkNxIAain5/Cy+bd4z7X8huQSH06FaQ1kB ovh5me+N6ZscZxCFgjTDAwUS0evrgVSGEiFlSyYrZ4g4MGDKpC4tUZS4cVKEAmUqnC07 MK9jrjCNtF5TXCiB58x+cR+zQ6B4mSNEODgBodLG/aeXEmKnF3Igt0TuY5gZC7oo8+3P lmEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=m7Y6n6a0; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ij10-20020a170902ab4a00b001bbcc4e0211si746663plb.239.2023.07.26.22.59.24; Wed, 26 Jul 2023 22:59:37 -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=@tuxon.dev header.s=google header.b=m7Y6n6a0; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231874AbjG0Fem (ORCPT + 99 others); Thu, 27 Jul 2023 01:34:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231838AbjG0Fee (ORCPT ); Thu, 27 Jul 2023 01:34:34 -0400 Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C98730F0 for ; Wed, 26 Jul 2023 22:34:00 -0700 (PDT) Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-55c85b4b06bso296059a12.2 for ; Wed, 26 Jul 2023 22:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436022; x=1691040822; 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=mx4drRTLsTo8BLvzaJxx0gqAvVOnYebcn8FvaHa6RBo=; b=m7Y6n6a0biU9wU3OEZlV51PTrYisbU3CVl8mv35Tvoiz8R81ht7ELjhBcuRQ0UM2en fmHlihmt4w6JuP8JXtP6UjWeKS5Re+QESFlaZUzUNUUkL+juKq1FVOMcz3ywENevnO9A cfv7M8A89p+f0yrAdJj4QeTrmWZrCDjvcxCBbv+uPJpqe+3IJKut0FaDmDjZnkSR6meW OvOt9qGB4bBYAtXinToNleXB+Skn2vG5SHGGTYjXhtoc56Cyn8JwbLZ3CYB8GoCYwBUF tXu6T5HwLV/oTdU6i4xIZHRQCgyselBzpkGYSAqHO8nYM9YtAqkwbHLLV2H/JOXudt+9 ZK7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436022; x=1691040822; 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=mx4drRTLsTo8BLvzaJxx0gqAvVOnYebcn8FvaHa6RBo=; b=jngPLzbn+DJdYqBmh1tpeyMNOuHWhg9xlUww03DQpLmvaVfbIYYAlt+s5PauamCISe U5IYhID6zYCLtaF/i207V/+nlGZ6i0O0aAHnJadiKE/Td02mKRiFVlNLpvGs5/QPPVaS UbUNj118dGg+v40LXFZB3k1hEE4fNPCz1FSTli5pRJWffnDQ/zHXYvplma2t4ImnXJE7 2baPeh29M3XtHW2AzCzavrCedMv53Wu446Nr/vTDN8JMwaRbr8jkqczAsuwtCMU8qJdO v5AuWFzlr1La/byunwHrCQdKjXLlNx3+qTJtHxgWcg2wv33Zw4TvcWzYK/sXq6UPBmg2 qU5w== X-Gm-Message-State: ABy/qLbg6N009RgnRVy//Foy6/ABNQW0Y2FJu38Dyn6gCTMHr0Yn1uA5 jpCJ2nh0TdLaQHfwsptWc+YBYg== X-Received: by 2002:a05:6a20:12c1:b0:135:38b5:7e58 with SMTP id v1-20020a056a2012c100b0013538b57e58mr4347746pzg.37.1690436021948; Wed, 26 Jul 2023 22:33:41 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:41 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 10/42] clk: at91: sama5d2: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:24 +0300 Message-Id: <20230727053156.13587-11-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552272723128324 X-GMAIL-MSGID: 1772552272723128324 Switch SAMA5D2 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Extra time saved on registration is ~410us when running at 492MHz. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sama5d2.c | 165 ++++++++++++++++++++----------------- 1 file changed, 89 insertions(+), 76 deletions(-) diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index f5d6c7a96cf2..cdb578059449 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -37,9 +38,9 @@ static const struct clk_pcr_layout sama5d2_pcr_layout = { .pid_mask = GENMASK(6, 0), }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } sama5d2_systemck[] = { @@ -47,14 +48,14 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "lcdck", .p = "masterck_div", .id = 3 }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "pck2", .p = "prog2", .id = 10 }, - { .n = "iscck", .p = "masterck_div", .id = 18 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "lcdck", .id = 3 }, + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "pck2", .id = 10 }, + { .n = "iscck", .id = 18 }, }; static const struct { @@ -164,25 +165,29 @@ static const struct clk_programmable_layout sama5d2_programmable_layout = { static void __init sama5d2_pmc_setup(struct device_node *np) { + struct clk_hw *slow_clk_hw, *main_xtal_hw, *main_rc_hw, *main_osc_hw; + struct clk_hw *hw, *audio_fracck_hw, *usbck_hw, *parent_hws[6]; + static struct clk_parent_data parent_data; struct clk_range range = CLK_RANGE(0, 0); - const char *slck_name, *mainxtal_name; + const char *main_xtal_name = "main_xtal"; struct pmc_data *sama5d2_pmc; - const char *parent_names[6]; struct regmap *regmap, *regmap_sfr; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -195,51 +200,50 @@ static void __init sama5d2_pmc_setup(struct device_node *np) if (!sama5d2_pmc) return; - hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, - 100000000); - if (IS_ERR(hw)) + main_rc_hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, + 100000000); + if (IS_ERR(main_rc_hw)) goto err_free; bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, - bypass); - if (IS_ERR(hw)) + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + bypass); + if (IS_ERR(main_osc_hw)) goto err_free; - parent_names[0] = "main_rc_osc"; - parent_names[1] = "main_osc"; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_names, NULL, 2); + parent_hws[0] = main_rc_hw; + parent_hws[1] = main_osc_hw; + hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_MAIN] = hw; - - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, sama5d2_pmc->chws[PMC_MAIN], 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); + hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_audio_pll_frac(regmap, "audiopll_fracck", - "mainck", NULL); - if (IS_ERR(hw)) + audio_fracck_hw = at91_clk_register_audio_pll_frac(regmap, "audiopll_fracck", + NULL, sama5d2_pmc->chws[PMC_MAIN]); + if (IS_ERR(audio_fracck_hw)) goto err_free; - hw = at91_clk_register_audio_pll_pad(regmap, "audiopll_padck", - "audiopll_fracck", NULL); + hw = at91_clk_register_audio_pll_pad(regmap, "audiopll_padck", NULL, audio_fracck_hw); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_AUDIOPINCK] = hw; - hw = at91_clk_register_audio_pll_pmc(regmap, "audiopll_pmcck", - "audiopll_fracck", NULL); + hw = at91_clk_register_audio_pll_pmc(regmap, "audiopll_pmcck", NULL, audio_fracck_hw); if (IS_ERR(hw)) goto err_free; @@ -249,25 +253,25 @@ static void __init sama5d2_pmc_setup(struct device_node *np) if (IS_ERR(regmap_sfr)) regmap_sfr = NULL; - hw = at91_clk_register_utmi(regmap, regmap_sfr, "utmick", "mainck", NULL); + hw = at91_clk_register_utmi(regmap, regmap_sfr, "utmick", NULL, + sama5d2_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = sama5d2_pmc->chws[PMC_MAIN]; + parent_hws[2] = sama5d2_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d2_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); @@ -276,31 +280,31 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->chws[PMC_MCK] = hw; - hw = at91_clk_register_h32mx(regmap, "h32mxck", "masterck_div", NULL); + hw = at91_clk_register_h32mx(regmap, "h32mxck", NULL, sama5d2_pmc->chws[PMC_MCK]); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_MCK2] = hw; - parent_names[0] = "plladivck"; - parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = sama5d2_pmc->chws[PMC_PLLACK]; + parent_hws[1] = sama5d2_pmc->chws[PMC_UTMI]; + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; - parent_names[5] = "audiopll_pmcck"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = sama5d2_pmc->chws[PMC_MAIN]; + parent_hws[2] = sama5d2_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d2_pmc->chws[PMC_UTMI]; + parent_hws[4] = sama5d2_pmc->chws[PMC_MCK]; + parent_hws[5] = sama5d2_pmc->chws[PMC_AUDIOPLLCK]; for (i = 0; i < 3; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 6, i, + NULL, parent_hws, 6, i, &sama5d2_programmable_layout, NULL); if (IS_ERR(hw)) @@ -309,9 +313,18 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + sama5d2_systemck[0].parent_hw = sama5d2_pmc->chws[PMC_MCK]; + sama5d2_systemck[1].parent_hw = sama5d2_pmc->chws[PMC_MCK]; + sama5d2_systemck[2].parent_hw = usbck_hw; + sama5d2_systemck[3].parent_hw = usbck_hw; + sama5d2_systemck[4].parent_hw = sama5d2_pmc->pchws[0]; + sama5d2_systemck[5].parent_hw = sama5d2_pmc->pchws[1]; + sama5d2_systemck[6].parent_hw = sama5d2_pmc->pchws[2]; + sama5d2_systemck[7].parent_hw = sama5d2_pmc->chws[PMC_MCK]; for (i = 0; i < ARRAY_SIZE(sama5d2_systemck); i++) { hw = at91_clk_register_system(regmap, sama5d2_systemck[i].n, - sama5d2_systemck[i].p, NULL, + NULL, sama5d2_systemck[i].parent_hw, sama5d2_systemck[i].id, sama5d2_systemck[i].flags); if (IS_ERR(hw)) @@ -324,7 +337,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_periphck[i].n, - "masterck_div", NULL, + NULL, sama5d2_pmc->chws[PMC_MCK], sama5d2_periphck[i].id, &range, INT_MIN, sama5d2_periphck[i].flags); @@ -338,7 +351,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_periph32ck[i].n, - "h32mxck", NULL, + NULL, sama5d2_pmc->chws[PMC_MCK2], sama5d2_periph32ck[i].id, &sama5d2_periph32ck[i].r, INT_MIN, 0); @@ -348,17 +361,17 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->phws[sama5d2_periph32ck[i].id] = hw; } - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; - parent_names[5] = "audiopll_pmcck"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = sama5d2_pmc->chws[PMC_MAIN]; + parent_hws[2] = sama5d2_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d2_pmc->chws[PMC_UTMI]; + parent_hws[4] = sama5d2_pmc->chws[PMC_MCK]; + parent_hws[5] = sama5d2_pmc->chws[PMC_AUDIOPLLCK]; for (i = 0; i < ARRAY_SIZE(sama5d2_gck); i++) { hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_gck[i].n, - parent_names, NULL, NULL, 6, + NULL, parent_hws, NULL, 6, sama5d2_gck[i].id, &sama5d2_gck[i].r, sama5d2_gck[i].chg_pid); @@ -369,19 +382,19 @@ static void __init sama5d2_pmc_setup(struct device_node *np) } if (regmap_sfr) { - parent_names[0] = "i2s0_clk"; - parent_names[1] = "i2s0_gclk"; + parent_hws[0] = sama5d2_pmc->phws[54]; /* i2s0_clk */ + parent_hws[1] = sama5d2_pmc->phws[54]; /* i2s0_gclk */ hw = at91_clk_i2s_mux_register(regmap_sfr, "i2s0_muxclk", - parent_names, NULL, 2, 0); + NULL, parent_hws, 2, 0); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_I2S0_MUX] = hw; - parent_names[0] = "i2s1_clk"; - parent_names[1] = "i2s1_gclk"; + parent_hws[0] = sama5d2_pmc->phws[55]; /* i2s1_clk */ + parent_hws[1] = sama5d2_pmc->ghws[55]; /* i2s1_gclk */ hw = at91_clk_i2s_mux_register(regmap_sfr, "i2s1_muxclk", - parent_names, NULL, 2, 1); + NULL, parent_hws, 2, 1); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126647 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp872227vqo; Wed, 26 Jul 2023 22:50:17 -0700 (PDT) X-Google-Smtp-Source: APBJJlEXIthGVEoKNGIOV1JXYZ9zXHd7Ggg1zRl1nuD9un8O86YyX3R0ccpC9MfV1vxwAAjEcboS X-Received: by 2002:a05:620a:3881:b0:768:b6aa:ea2d with SMTP id qp1-20020a05620a388100b00768b6aaea2dmr3371902qkn.13.1690437017201; Wed, 26 Jul 2023 22:50:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437017; cv=none; d=google.com; s=arc-20160816; b=YGFjov7toHQz3cXaEqnjMi7szWzZkyMq024xtNI2000oX74IOP90v9Bz8MbtZZv3x9 3lCB3VXYYD81prUWeLu6/s3RS/tc6ysM2gDpGoHHryGTIzd1SxYZHoGWiek6VMdttpSt y3LOxOYXXmYezrNZITUKa0glKsN16XqXXIVCD3bsxLVq608SMT2nqHLZbU7eOT+dls+m DlyXdFxETWIuh04EdAQyy1yg4mfR8xzAsNdA90i6CQN0R6ypETGphlHR5DiDiyw8aL3d Ktg/oUCe1UAp+dHfyeCJWAthzIqvOQaVtx+kNY7f+V5isNyHufCjVbB2yWnSugl+XeSL Z35w== 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=jm/m0e6p3OI9IQEk5rZymWEUT0ucuiLYWwUROUbSNCM=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=RAUZYS1e41OmEHttyv9QGWHuFhFr9ihkS36nLKsck9srapCrF10JqLpfRIGc1MLJOk 2k1hx3ITreILeuyOXFNwujTzzWKA+ZybE8WgjldEOi6c9TCXQy+ddsIw9kJVtquLUcG5 RuSc6+CbUlnEshE687jeE/fsXyT/b15dYSs9JMLyOTkOOJSbc5vmeruqdFRWn6ovZ+71 JsSFmVRunyj1XblTQsYgHZtDfzORZLAm6t3FxzB74zSbRTP/sJm8X7zLwVk0W4rEp3Ca Lqz8UQiCuqMCLKXZtDNVncKWD69uF3rXKrRkWZVFIn595BJPUHnbLGKPnlnEWE9I/Pwc QHJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=LRKNwtfg; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x35-20020a17090a6c2600b00265ca1c461asi2249368pjj.175.2023.07.26.22.50.04; Wed, 26 Jul 2023 22:50:17 -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=@tuxon.dev header.s=google header.b=LRKNwtfg; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231925AbjG0Fes (ORCPT + 99 others); Thu, 27 Jul 2023 01:34:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231890AbjG0Fef (ORCPT ); Thu, 27 Jul 2023 01:34:35 -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 07A772733 for ; Wed, 26 Jul 2023 22:34:05 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1bbd03cb7c1so3409565ad.3 for ; Wed, 26 Jul 2023 22:34:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436029; x=1691040829; 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=jm/m0e6p3OI9IQEk5rZymWEUT0ucuiLYWwUROUbSNCM=; b=LRKNwtfgw+/7uaq/ShJREdXltre+wvD8ytba7Jl1febDV3zkicZqG0LuPKUMz85FVz jh6TEBNC6CJjxz/svE8Ut6ZE0+eqIDy6oMGtIBrjnEhjtOyqM9TPUKpXxicgKkp+IAnG Bo1NhLeMPX9PeVPcpSrWpFCbCwHSeVMXZfTCNYbVCl7BAcDTRFa8GIbneaTFkBZQWyRy ZwhlFgS9//RYBu021feAcA7161D+4z+COoWXRPDKx9gCjX9rFzfr/RK+zihOhMqDoDK3 P5wdxPxZfXsLb6j0dxB1qgH7SN25iXHTB+/8OMYKfcXvvmy+DYn9xuLVXWjRjjZXe0cg /7pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436029; x=1691040829; 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=jm/m0e6p3OI9IQEk5rZymWEUT0ucuiLYWwUROUbSNCM=; b=EgVdgwAQB8DItiEyojOKbV4i43FI2gM0vMbxoKjrgBH86xQhNo1y8pNCrS9W2Dnajb ff6ArXhx4qD4mv1K2A1qdtAt/gitb2UvRu+FaRr5jQ9k9KLIjFDXi9ZYI1FKSH3vmaJd m2a1t2VTsQMQB7HSCMAyNqDyu9C+b6qjvREORDHoSVv8/C9YIrRNlOw3c7+zkp7fPKsp w7VH01V2GJsu5N/xqwli0jvuuOyxO2xrytd4s3OXBiqXDTk7t00pVs7knQ8uQUW39awc 31ID4YHTjPdBbcSb5ZWS1IYlUEec04HM64fDKCMGjf0DX7EqiWpyNXyTwHRr4WbB2O1Q ejRw== X-Gm-Message-State: ABy/qLZKqdxXg9pINi3cjBhQU3X9XSRkxmGANyKErJrpC73lebibS7nL hr8EY7c2mMRaIzO61hXvhsi3qw== X-Received: by 2002:a17:902:c106:b0:1bb:8f37:dd0f with SMTP id 6-20020a170902c10600b001bb8f37dd0fmr3289035pli.45.1690436029073; Wed, 26 Jul 2023 22:33:49 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:48 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 11/42] clk: at91: clk-smd: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:25 +0300 Message-Id: <20230727053156.13587-12-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551685972942937 X-GMAIL-MSGID: 1772551685972942937 Add support for parent_hw in smd clock drivers. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-smd were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-smd.c | 10 +++++++--- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 3 ++- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 37280852f086..13331e015dd7 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -226,7 +226,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, if (IS_ERR(hw)) goto err_free; - hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, 2); + hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-smd.c b/drivers/clk/at91/clk-smd.c index 09c649c8598e..2c8432cc2fe6 100644 --- a/drivers/clk/at91/clk-smd.c +++ b/drivers/clk/at91/clk-smd.c @@ -111,11 +111,12 @@ static const struct clk_ops at91sam9x5_smd_ops = { struct clk_hw * __init at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents) + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents) { struct at91sam9x5_clk_smd *smd; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; smd = kzalloc(sizeof(*smd), GFP_KERNEL); @@ -124,7 +125,10 @@ at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91sam9x5_smd_ops; - init.parent_names = parent_names; + if (parent_hws) + init.parent_hws = (const struct clk_hw **)parent_hws; + else + init.parent_names = parent_names; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index f0498d9c269c..f464e125c9fd 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -858,7 +858,7 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9x5_clk_register_smd(regmap, name, parent_names, + hw = at91sam9x5_clk_register_smd(regmap, name, parent_names, NULL, num_parents); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index e1fd87aebd27..541d2ba2fea5 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -248,7 +248,8 @@ at91_clk_register_sam9260_slow(struct regmap *regmap, struct clk_hw * __init at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, - const char **parent_names, u8 num_parents); + const char **parent_names, struct clk_hw **parent_hws, + u8 num_parents); struct clk_hw * __init at91_clk_register_system(struct regmap *regmap, const char *name, diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 7f2ac8f648dd..8326bb6a291c 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -205,7 +205,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, 2); + hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 04c848cd7001..1ff9286148da 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -228,7 +228,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) parent_names[0] = "plladivck"; parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, 2); + hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126654 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873853vqo; Wed, 26 Jul 2023 22:53:58 -0700 (PDT) X-Google-Smtp-Source: APBJJlEsH/0ldEmt33nDHnl1iqWMpJ8B8tfG+sNl+A5n3HzmtkJQFuTZf4Jh2/SHMsDHJQCJ7dR8 X-Received: by 2002:a17:90b:3ecb:b0:263:eef:1465 with SMTP id rm11-20020a17090b3ecb00b002630eef1465mr3111403pjb.44.1690437238357; Wed, 26 Jul 2023 22:53:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437238; cv=none; d=google.com; s=arc-20160816; b=X+Bsyk1rIFJ5B6rwLzD8epk5q/Ul/Jse41Xjoi9c6yrxCdmVuMagvqasr01nLMt8iH 4zXrLRqLS1kUcuTzzG9Oy4SmwcjwXstbPvc8NmMbWwqRL1xBza6PA+NwUcoanne9QyOT v9JzfSA7DuEsMxZFujaOofL5Foi6XT2UUoYgTNLvyvwjxeSooaUMca/awignF80WGsdL lnNoOhdNAmtRj+ymNo8A9ESFS7G52zwgPIWx4shO69lS3qfl9AR9CJb7BywC9TazN+AP SMvL03n8gDS20QqrsxVlr8fTHUGb7Idl5NrK3W0pwqzTIymD7xgqKf2W2DafXR/QJ1W/ 8Y0w== 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=t4C9Oz1kltIRm38suchn59UxyDsm/QbdYXqrBIKy7eU=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=iUpsZ2sTp69Z+lQR5kOGmvAHNEsEs+x4jVsPhXZ+FjdKeKtk33c2Dn5+rZjy/lTMfx AhycSCQsFEHBVXyuAruW14YOcnc/Ms8ae2eXYZhLbmxh+usxfOrDv3UPDSX1cTO5Hniy FrkChKW9yhNKNq9EStInas57HbK4BSLF74zhM7pmpavF4/d291CHXNJaUrsqHMmhxzxV VmOAVatyRdYsZXOPgssfoKJhAp3dlaUFwT9Dna3n+t87Ff4UqHKf0pl26wXOEZp3G5V/ 00f3kJikyNfj/uGmMQj28lnk9WKyWILhRTQLwtwhC6Sm6CXJw9UJ/GW6X/5DPWwFEoxI 9sQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b="lv/ar83B"; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c7-20020a17090a558700b00267f33cf006si2296385pji.67.2023.07.26.22.53.45; Wed, 26 Jul 2023 22:53:58 -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=@tuxon.dev header.s=google header.b="lv/ar83B"; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232010AbjG0Fe6 (ORCPT + 99 others); Thu, 27 Jul 2023 01:34:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231857AbjG0Fei (ORCPT ); Thu, 27 Jul 2023 01:34:38 -0400 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C36392D43 for ; Wed, 26 Jul 2023 22:34:09 -0700 (PDT) Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-55ae2075990so316811a12.0 for ; Wed, 26 Jul 2023 22:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436036; x=1691040836; 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=t4C9Oz1kltIRm38suchn59UxyDsm/QbdYXqrBIKy7eU=; b=lv/ar83B0jbhwKY2ab3VcuRlDhYDF+3c5B8hcYTNMY74KXuEXXKB/YBrL8Bo+2nmtu gpXuhKWBLJX+voHBzq1OMevlcmX1cQiYuK5S06/yiVHSeGtXkOPO0pO6fHnnA5+5sBsB Xk+EhkG/G8tRFH58Mu1TLs0/kK9Ich2nsn95w30V54QTfAtN6c2xaMBN+mi2gMwAiuGT gSCXke/FCLKPQk53BNBobq39MYi4Otcfb9FGVD0B/a1ZLfj5HH6dw0fpIl4tPP0yC34B qarlvw3ivcno8hZZbl7MA+dKt8Il3bGreiIYPSwKqhm51ErBIe3wPNpxQ2zy2QlRqGWD 8OMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436036; x=1691040836; 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=t4C9Oz1kltIRm38suchn59UxyDsm/QbdYXqrBIKy7eU=; b=EvsPtiqVBlznrndQlBzcqj8shyTJXOQINCYSwF4EPcRGTJBJGlpOawtLEv0JST8H08 t0dxzwQaY8kKkbsRfJv3z/xviM7Cc7ZPropnXT444N9BbozMWOo5mJ78PXXRc8H8zDkj AP+XJCRmrDnIK0LMpbf/klCQ3gmhycH1H3F++cqx783CTCOihm78u1ks0kZCnzhgG5Lg VtHHTOD2iltWLqliF7IIfVCPjqSa3PQgvsxSI4E6hc+6ciqv2wd1XA6o3SqT9My/Ppj4 XzDHrQ0ZLEBMGp2440YDpJXgPhQnyABw+vjZAUq+ReiNApfjghJfYj7onNnU+UzkNlHN haaA== X-Gm-Message-State: ABy/qLZE/0Zaeu4gUY7vGg1ytuYbgo9QkAdEvN2N1tAy6Zl6h/YoLa8P 1KSdgo06E2eZpwBsH339Je6BpGARpTmGy6P3Xj4vttVk X-Received: by 2002:a17:903:234c:b0:1a9:40d5:b0ae with SMTP id c12-20020a170903234c00b001a940d5b0aemr3852843plh.12.1690436036369; Wed, 26 Jul 2023 22:33:56 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:33:56 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 12/42] clk: at91: sama5d3: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:26 +0300 Message-Id: <20230727053156.13587-13-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551917970360566 X-GMAIL-MSGID: 1772551917970360566 Switch SAMA5D3 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sama5d3.c | 124 +++++++++++++++++++++---------------- 1 file changed, 70 insertions(+), 54 deletions(-) diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 8326bb6a291c..db0c66e24091 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -37,9 +38,9 @@ static const struct clk_pcr_layout sama5d3_pcr_layout = { .div_mask = GENMASK(17, 16), }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } sama5d3_systemck[] = { @@ -47,14 +48,14 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "lcdck", .p = "masterck_div", .id = 3 }, - { .n = "smdck", .p = "smdclk", .id = 4 }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "pck2", .p = "prog2", .id = 10 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "lcdck", .id = 3 }, + { .n = "smdck", .id = 4 }, + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "pck2", .id = 10 }, }; static const struct { @@ -114,24 +115,28 @@ static const struct { static void __init sama5d3_pmc_setup(struct device_node *np) { - const char *slck_name, *mainxtal_name; + struct clk_hw *slow_clk_hw, *main_xtal_hw, *main_rc_hw, *main_osc_hw, *mainck_hw; + struct clk_hw *parent_hws[5], *smdck_hw, *usbck_hw, *hw; + static struct clk_parent_data parent_data; + const char *main_xtal_name = "main_xtal"; struct pmc_data *sama5d3_pmc; - const char *parent_names[5]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (!IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -143,54 +148,56 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (!sama5d3_pmc) return; - hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, - 50000000); - if (IS_ERR(hw)) + main_rc_hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, + 50000000); + if (IS_ERR(main_rc_hw)) goto err_free; bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, - bypass); - if (IS_ERR(hw)) + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + bypass); + if (IS_ERR(main_osc_hw)) goto err_free; - parent_names[0] = "main_rc_osc"; - parent_names[1] = "main_osc"; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = main_rc_hw; + parent_hws[1] = main_osc_hw; + mainck_hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + if (IS_ERR(mainck_hw)) goto err_free; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, mainck_hw, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); + hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); if (IS_ERR(hw)) goto err_free; sama5d3_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck", NULL); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, mainck_hw); if (IS_ERR(hw)) goto err_free; sama5d3_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = mainck_hw; + parent_hws[2] = sama5d3_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d3_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + NULL, hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); @@ -199,28 +206,28 @@ static void __init sama5d3_pmc_setup(struct device_node *np) sama5d3_pmc->chws[PMC_MCK] = hw; - parent_names[0] = "plladivck"; - parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = sama5d3_pmc->chws[PMC_PLLACK]; + parent_hws[1] = sama5d3_pmc->chws[PMC_UTMI]; + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + if (IS_ERR(usbck_hw)) goto err_free; - hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, NULL, 2); - if (IS_ERR(hw)) + smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", NULL, parent_hws, 2); + if (IS_ERR(smdck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = mainck_hw; + parent_hws[2] = sama5d3_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d3_pmc->chws[PMC_UTMI]; + parent_hws[4] = sama5d3_pmc->chws[PMC_MCK]; for (i = 0; i < 3; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 5, i, + NULL, parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) @@ -229,9 +236,18 @@ static void __init sama5d3_pmc_setup(struct device_node *np) sama5d3_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + sama5d3_systemck[0].parent_hw = sama5d3_pmc->chws[PMC_MCK]; + sama5d3_systemck[1].parent_hw = sama5d3_pmc->chws[PMC_MCK]; + sama5d3_systemck[2].parent_hw = smdck_hw; + sama5d3_systemck[3].parent_hw = usbck_hw; + sama5d3_systemck[4].parent_hw = usbck_hw; + sama5d3_systemck[5].parent_hw = sama5d3_pmc->pchws[0]; + sama5d3_systemck[6].parent_hw = sama5d3_pmc->pchws[1]; + sama5d3_systemck[7].parent_hw = sama5d3_pmc->pchws[2]; for (i = 0; i < ARRAY_SIZE(sama5d3_systemck); i++) { hw = at91_clk_register_system(regmap, sama5d3_systemck[i].n, - sama5d3_systemck[i].p, NULL, + NULL, sama5d3_systemck[i].parent_hw, sama5d3_systemck[i].id, sama5d3_systemck[i].flags); if (IS_ERR(hw)) @@ -244,7 +260,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d3_pcr_layout, sama5d3_periphck[i].n, - "masterck_div", NULL, + NULL, sama5d3_pmc->chws[PMC_MCK], sama5d3_periphck[i].id, &sama5d3_periphck[i].r, INT_MIN, From patchwork Thu Jul 27 05:31:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126651 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873439vqo; Wed, 26 Jul 2023 22:52:57 -0700 (PDT) X-Google-Smtp-Source: APBJJlEZlu4sWcxOhlbqqMjHwH78ubMmzGwafYxiUnr+QdGhUk0b2/vXGwGTUOh3Z+nPaGx3R6L+ X-Received: by 2002:a05:6358:5292:b0:137:881b:fc73 with SMTP id g18-20020a056358529200b00137881bfc73mr665535rwa.2.1690437177008; Wed, 26 Jul 2023 22:52:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437176; cv=none; d=google.com; s=arc-20160816; b=e4Okjz13LBlBqabvO5dmhWPvg8TQNkaI/orz7KJ7feVzJ6lrGzwvmenE7xc7jrtaPj d9uqDRDXCem4ZKoF8zTLMpf3FZ/iLxd0XbZ94D1OUN0BIKUuDFb/VYA/xqeUZJobirUR tvFaG+ZFxnlyYAo2sZXVHW1VDnIjcOWmPlrWP8gPzKAgAszIK1JGFAU8O9fHx/j3QITp MpwMMjKqfEJjcftoedLf1YTyzPrvO4SBm52vTfFl1yNZvJ89lntQoFaqDPt46D5Imlkq xyoidX+yPEw1+b12UxJCGDKjlfEmTBGvpYvEqc4etd8QRFagsD3ukYBrbIZCf1nbI2Ve OuHQ== 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=wj/zrL8WwstmXnH1Iv4DJ7LsdbSE0/SZKmUpfuJWIbY=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=mKKimim/2+uotPaD6AG4BCPfSuGMqXRYjcZUwFF1TC4mp3W0qQmq3UDcDr3DM6SY8F 0eP7t/BKzSxwavR4ek0e256eHFVLzthImQxqQmz+rCuvhjKTv5+sDYWvOBFTVHxEuXj7 HpeGyWs+w0OeJGFr2Un50UsRHhyF4vHbm5LM1vWayw827iR5L+VjrY1iOFK01vHVDNyC gHMqDu+83gt6V7RrhmZMFrY3XKhei3TnH+84fE/DQWY9SvOpEu2tD1H7ZWMclyzitQyY GqaPRNLBHjL6JFK6TqHbXT/q810cds9Ym6TcCjH9TSAg9V6xVUEyblB6/7dM9nBRovGq 2HwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=SkwKPnpO; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s3-20020a63d043000000b005636f6c7f56si686637pgi.25.2023.07.26.22.52.44; Wed, 26 Jul 2023 22:52:56 -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=@tuxon.dev header.s=google header.b=SkwKPnpO; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231880AbjG0FfB (ORCPT + 99 others); Thu, 27 Jul 2023 01:35:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231862AbjG0Fei (ORCPT ); Thu, 27 Jul 2023 01:34:38 -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 9BE7C271B for ; Wed, 26 Jul 2023 22:34:12 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1b8ad8383faso4782515ad.0 for ; Wed, 26 Jul 2023 22:34:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436043; x=1691040843; 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=wj/zrL8WwstmXnH1Iv4DJ7LsdbSE0/SZKmUpfuJWIbY=; b=SkwKPnpOR8Z5XGlFbjS/UMoDRkdlP11vGl2TiPxlx6nUE8ssAcqu22tL8udwSA4B8r V5g9pDV1XNvMVDbrfzyxJM2GEtIVDLYBD05OkibLfrzFGYKf5f00cEcLI78gzljDn5h5 t0ozMF4W91aI52nesrSWZNuYtNBLqkZ2A7oU3nvNqbBzCRsyp5LfQl0O7BlX5SneCa1A TiRyc8d89yPv9/geLCZXvT48uuNX6KnXlu4F4ij9awAkQqWoVSBtqb+DS/nduw8+oQwR k2FhahE3AyOji7/roqQXLCW0wFqHjEGXPHiSC+Vc4XrPJuSJdp1wh+cQ3R6XHn2jobQz 01Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436043; x=1691040843; 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=wj/zrL8WwstmXnH1Iv4DJ7LsdbSE0/SZKmUpfuJWIbY=; b=GHAS7VTNmPgs1D8yZwLfS+j4DPZTSc3ttF5k5MgyIkOcrSbPxqnd0qSnKxMm/xA5rD VOokBRRqCJSuv75AgrAW89tKltkoZZv0JRfUf0WCIFueq08FPMDvVFuy/5DhH2vAAo+V nrcJMZrIUT4WgPVzHM/MGE6JFPjm5WMuIcqA4z1m7boUAY+cM+Aa2luUcjeBfODq77Mi c1CygBXXy7HhbVO+GSW2sHDDn+amPa14NUYDqjx3AjUZ6KNV7awS9VGQ2kxB765dh9E+ YI1LpPiMjlCCDQYFEkuDZfHOKID27u6NphqnHjMiCR+iS7JNdW3Vh8+pLq3TDX0jiz5N oerg== X-Gm-Message-State: ABy/qLYl0Czp7j4Kq0f9MG1E7BOio5alFlErd5gHS88vNbyCz1fzIdHE 8h7+vfQLeJmie5ChQmOfSne3SQ== X-Received: by 2002:a17:902:c941:b0:1b8:a4e5:1735 with SMTP id i1-20020a170902c94100b001b8a4e51735mr5146515pla.61.1690436043560; Wed, 26 Jul 2023 22:34:03 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.33.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:03 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 13/42] clk: at91: sama5d3: make checkpatch.pl happy Date: Thu, 27 Jul 2023 08:31:27 +0300 Message-Id: <20230727053156.13587-14-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551853581038757 X-GMAIL-MSGID: 1772551853581038757 Remove the following checkpatch.pl CHECK: Please use a blank line after function/struct/union/enum declarations. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sama5d3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index db0c66e24091..e1c1ba907e3a 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -278,6 +278,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) err_free: kfree(sama5d3_pmc); } + /* * The TCB is used as the clocksource so its clock is needed early. This means * this can't be a platform driver. From patchwork Thu Jul 27 05:31:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126682 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp895159vqo; Wed, 26 Jul 2023 23:39:55 -0700 (PDT) X-Google-Smtp-Source: APBJJlEx2zDm8QM0YfPzl9eOC81nmRVVY/hV7SIybK7QAAmFmp7dr0cx1FGO9bm4L7pb74pZ3dQ3 X-Received: by 2002:a17:906:74d8:b0:99b:cb78:8537 with SMTP id z24-20020a17090674d800b0099bcb788537mr1175174ejl.11.1690439995366; Wed, 26 Jul 2023 23:39:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439995; cv=none; d=google.com; s=arc-20160816; b=uC1ULhrM2u6LUGwmFnrCMwPGGK4KM9B81Y1DvvhwAZspRoMF15CDOtYWH8dX75tty1 C5RRkzweJP1ihg4ymLDOEz2Xf9TvZLbcGixGVjT9shwTAeWmOUcyosyB94JRMUL/wTaw EW5fe970UIScjA9oqCuBm3lSuL5DG8ghdHVsY99NMk0Id5AyEpSrFXyJgG+62XnGpu0v aVgvxVGas1o1Td2Tjb1f626FwDtktUejiLvL08qrdtjx1A2UunPTY9sB9UGBq2oUmky0 bB+xKsCpidhm1YCoxAzmQkyey+iZIB0ungNL92e3sHNUK+btVgHbtoPyowOOzj2ef1j3 fjdw== 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=S/H1fFwwjqngvhNBP4nbjwJK1x037U3/vvPMvetEGEQ=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=nGpTN8MmGq4fZlUmdcQOaURPbxaX3/T3Y2ibG1PL0+r5NQR5r7+Y0F2YSd0V1WwcFY +i/3aCy5zApb1zDrEKucpgPQjkKFZkPUTerNFTGgnkv3c9zPRylFD3eMtWfIg9lp84+W U2Q8hL320jcWwfYv5hWuw2mYMFUtQudFkEzRiQbP7ULk0RYTIvlokqf0d+bgvPo7qRFV fazF2Ssjkyra0q4GZcpUYjgT7Z579Bjj86wLOsyXKEmygF0YN6FDQv3zm+Z1XP3JS9E/ JusEQvrnsFhWeble+n8jiqO9HggzWtI1tLGOEwGkyepDgRKaSBOm8q7PGrHgpnwtnQfb 6V+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=cCou1bY1; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j13-20020a17090686cd00b0098e42bef73asi569049ejy.98.2023.07.26.23.39.31; Wed, 26 Jul 2023 23:39:55 -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=@tuxon.dev header.s=google header.b=cCou1bY1; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231663AbjG0FfE (ORCPT + 99 others); Thu, 27 Jul 2023 01:35:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231867AbjG0Fek (ORCPT ); Thu, 27 Jul 2023 01:34:40 -0400 Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4B0C52D59 for ; Wed, 26 Jul 2023 22:34:14 -0700 (PDT) Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-686b91c2744so467092b3a.0 for ; Wed, 26 Jul 2023 22:34:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436051; x=1691040851; 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=S/H1fFwwjqngvhNBP4nbjwJK1x037U3/vvPMvetEGEQ=; b=cCou1bY1xsAlB2b6a4i1I7lerXT5fsZkJvyRpw5Mo4MywIyStAQwDk9yq+EDJcACv+ h2SmYuQVZHU9kkmlOCKr1y+dS1nE+6HHS7IBwZ3cOYpwVss3HTw0KFT1F94ryGUj64lm SoPQOUfi/KhpZhMTINH5TLS4kuodTPnVVhfW31eCZHirZ0UAs2z4ul9GwbfySyvvdA3d K6lZcQC2Chzdedy8/ZqZ8Q8ymfVJ/9sen1+twv3SLcbjp4s0DNUEWCQNVCzAFczwJjF7 BeO+Suhc57pDm8guAqAEW3eeDbwZ6vJ91DMZocS59FqJDRlxyzrN8tncrjrxZzQiFKFW aLLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436051; x=1691040851; 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=S/H1fFwwjqngvhNBP4nbjwJK1x037U3/vvPMvetEGEQ=; b=C5aBhxg7RRfum67+nilUIOWdGRjiocAU8b+I4NHMIAUAhFxqm+Db7NF/1pmP1v8fnj frL/lBsW66kqG8nNtzQXzkQsyiZL7ezLStv/h7n9Ehnhjj5qWJweM9eP3UmTJ4dcqxeu RId7C2zD155OF+gxFr4lPk5+uB/vOfJ9fxHxDRR2iEJsX6e09cJ+Al+PhEgVGhO4VWK8 wiGgsBKXnlTuTqsDvNl56NHwnGKku1+ydxeC7PGUnTpe9HfuSjgBFdPu7VWnLViVvtw2 SA++r4YEifXGP8npcJ5Q7FtJHjnOl1IlNxvH3bkW7TARHRd7LtVxAB3/WfZwZwkmVm6T h+BQ== X-Gm-Message-State: ABy/qLby52hWKf/nGC2S7vmdW1QSx+53UpTbymt0QnZ50sNmEDv/8tmX t3N8hzm87uz0VcnXdZmekpl11g== X-Received: by 2002:a05:6a21:a105:b0:135:38b5:7e63 with SMTP id aq5-20020a056a21a10500b0013538b57e63mr3366868pzc.46.1690436050915; Wed, 26 Jul 2023 22:34:10 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:10 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 14/42] clk: at91: sama5d4: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:28 +0300 Message-Id: <20230727053156.13587-15-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554808165720677 X-GMAIL-MSGID: 1772554808165720677 Switch SAMA5D4 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/sama5d4.c | 131 +++++++++++++++++++++---------------- 1 file changed, 73 insertions(+), 58 deletions(-) diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 1ff9286148da..ac7565b26dce 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -36,9 +37,9 @@ static const struct clk_pcr_layout sama5d4_pcr_layout = { .pid_mask = GENMASK(6, 0), }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } sama5d4_systemck[] = { @@ -46,14 +47,14 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "lcdck", .p = "masterck_div", .id = 3 }, - { .n = "smdck", .p = "smdclk", .id = 4 }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "pck2", .p = "prog2", .id = 10 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "lcdck", .id = 3 }, + { .n = "smdck", .id = 4 }, + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "pck2", .id = 10 }, }; static const struct { @@ -128,25 +129,29 @@ static const struct { static void __init sama5d4_pmc_setup(struct device_node *np) { + struct clk_hw *slow_clk_hw, *main_xtal_hw, *main_rc_hw, *main_osc_hw, *mainck_hw; + struct clk_hw *parent_hws[5], *smdck_hw, *usbck_hw, *hw; + static struct clk_parent_data parent_data; struct clk_range range = CLK_RANGE(0, 0); - const char *slck_name, *mainxtal_name; + const char *main_xtal_name = "main_xtal"; struct pmc_data *sama5d4_pmc; - const char *parent_names[5]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -158,54 +163,55 @@ static void __init sama5d4_pmc_setup(struct device_node *np) if (!sama5d4_pmc) return; - hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, - 100000000); - if (IS_ERR(hw)) + main_rc_hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, + 100000000); + if (IS_ERR(main_rc_hw)) goto err_free; bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, - bypass); - if (IS_ERR(hw)) + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + bypass); + if (IS_ERR(main_osc_hw)) goto err_free; - parent_names[0] = "main_rc_osc"; - parent_names[1] = "main_osc"; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_names, NULL, 2); + parent_hws[0] = main_rc_hw; + parent_hws[1] = main_osc_hw; + mainck_hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, mainck_hw, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); + hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); if (IS_ERR(hw)) goto err_free; sama5d4_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck", NULL); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, mainck_hw); if (IS_ERR(hw)) goto err_free; sama5d4_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = mainck_hw; + parent_hws[2] = sama5d4_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d4_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); @@ -214,36 +220,36 @@ static void __init sama5d4_pmc_setup(struct device_node *np) sama5d4_pmc->chws[PMC_MCK] = hw; - hw = at91_clk_register_h32mx(regmap, "h32mxck", "masterck_div", NULL); + hw = at91_clk_register_h32mx(regmap, "h32mxck", NULL, sama5d4_pmc->chws[PMC_MCK]); if (IS_ERR(hw)) goto err_free; sama5d4_pmc->chws[PMC_MCK2] = hw; - parent_names[0] = "plladivck"; - parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = sama5d4_pmc->chws[PMC_PLLACK]; + parent_hws[1] = sama5d4_pmc->chws[PMC_UTMI]; + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = "plladivck"; - parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = sama5d4_pmc->chws[PMC_PLLACK]; + parent_hws[1] = sama5d4_pmc->chws[PMC_UTMI]; + smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", NULL, parent_hws, 2); + if (IS_ERR(smdck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = mainck_hw; + parent_hws[2] = sama5d4_pmc->chws[PMC_PLLACK]; + parent_hws[3] = sama5d4_pmc->chws[PMC_UTMI]; + parent_hws[4] = sama5d4_pmc->chws[PMC_MCK]; for (i = 0; i < 3; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 5, i, + NULL, parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) @@ -252,9 +258,18 @@ static void __init sama5d4_pmc_setup(struct device_node *np) sama5d4_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + sama5d4_systemck[0].parent_hw = sama5d4_pmc->chws[PMC_MCK]; + sama5d4_systemck[1].parent_hw = sama5d4_pmc->chws[PMC_MCK]; + sama5d4_systemck[2].parent_hw = smdck_hw; + sama5d4_systemck[3].parent_hw = usbck_hw; + sama5d4_systemck[4].parent_hw = usbck_hw; + sama5d4_systemck[5].parent_hw = sama5d4_pmc->pchws[0]; + sama5d4_systemck[6].parent_hw = sama5d4_pmc->pchws[1]; + sama5d4_systemck[7].parent_hw = sama5d4_pmc->pchws[2]; for (i = 0; i < ARRAY_SIZE(sama5d4_systemck); i++) { hw = at91_clk_register_system(regmap, sama5d4_systemck[i].n, - sama5d4_systemck[i].p, NULL, + NULL, sama5d4_systemck[i].parent_hw, sama5d4_systemck[i].id, sama5d4_systemck[i].flags); if (IS_ERR(hw)) @@ -267,7 +282,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d4_pcr_layout, sama5d4_periphck[i].n, - "masterck_div", NULL, + NULL, sama5d4_pmc->chws[PMC_MCK], sama5d4_periphck[i].id, &range, INT_MIN, sama5d4_periphck[i].flags); @@ -281,7 +296,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d4_pcr_layout, sama5d4_periph32ck[i].n, - "h32mxck", NULL, + NULL, sama5d4_pmc->chws[PMC_MCK2], sama5d4_periph32ck[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) From patchwork Thu Jul 27 05:31:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126677 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp894170vqo; Wed, 26 Jul 2023 23:37:31 -0700 (PDT) X-Google-Smtp-Source: APBJJlFXlBCV+b2QE3L+8MlFWmNUf25wQPQcTDiXvAZ+zbIA9yOAVyLcQ/qAfVnMZjO6H+k96eZ7 X-Received: by 2002:aca:2414:0:b0:3a4:2c7a:5fc7 with SMTP id n20-20020aca2414000000b003a42c7a5fc7mr1973031oic.33.1690439851563; Wed, 26 Jul 2023 23:37:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439851; cv=none; d=google.com; s=arc-20160816; b=gOSNhpIYG99fdeDFr1/wVnNUoMihZzsOjByxGBJyGo93ItMtuyX/EMT9fVg/eq1Bzo CDTYYpZje4mlcaE8qVTYjvHXUqVSe1xk6n1nL5iaspZLWiPjC4w7zmu2uWJ5I3IsWMNa vRfsuCegXAY6dxHuanPqbnJrYgxW8iv0N75bSpCXz/RiA826WxgaZCQzUPneruSA8I1c IQveh1lMyiQMmQWEQkPRNo8xoBJetjGy/A6ZSf8bQno8sIZpOUoCDwq+qmcWB/qtHtu6 HIZCLpyMz0mUH23HjQUSrGNN0nbSse/bZcvJTStKz4/VaTx6uHAW53YMtMTadAxSn5fp 3wUA== 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=vv/BMVL/ZNeEbINcL/4raUcc3c4bebGIY3s5gcWMzMg=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=fTww+JlDkdemWg0t2xUStqZivDCkqXV+qgigxGScKsEF0jOS83ban9/imxXtNHSeXv 0IyUUPeb+dKqWNRvAjg5ZaXJG+046q7V62Hi5V+llyEi2dWZg5tYHrVpo2ADk+bFSqaV 848r33DCJnSIDmRiG8cNb2nPoaQt+kHCTnhGJJ1xRjZw+7/ubHx1eQhZohq3S7tAQSIK v2kZXnstxQAnAz/0fbkqa3OiZ+MZJr+VxoZXxP/iIdw6Mmw+KQY7BEHo0t2dNRvYfpVk j0Z8KYKhrGEKvo08pRi4JrwV4WSVddL8N2DugQel2KaZLr1d8Z05ARZFFCNqgdcMG5ze kFHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=AwhaRTb2; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g11-20020a65580b000000b00557622c1ca0si704972pgr.554.2023.07.26.23.37.18; Wed, 26 Jul 2023 23:37:31 -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=@tuxon.dev header.s=google header.b=AwhaRTb2; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232086AbjG0FfQ (ORCPT + 99 others); Thu, 27 Jul 2023 01:35:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231911AbjG0Feq (ORCPT ); Thu, 27 Jul 2023 01:34:46 -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 611472D7D for ; Wed, 26 Jul 2023 22:34:21 -0700 (PDT) Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-563f752774fso285577a12.1 for ; Wed, 26 Jul 2023 22:34:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436058; x=1691040858; 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=vv/BMVL/ZNeEbINcL/4raUcc3c4bebGIY3s5gcWMzMg=; b=AwhaRTb2XGZ8++zthKDFi0GoOgt4+AVSjoTKSwiALiQQfTPGrPlFN+zCC8OWvcLTbq MfvVbI0dWwjGzIUIpdfqUWOoDD7RfOuW1jr4X0z1bxyzLoZp+QhMiemlaWzsQ92tzTDl HWr1XP4mnBkJMuq8q5Mdow078dYC7uM8hw4ZEqpNUfi17JkcwscH3UuKakFdKk9soN45 uowuT5dCIe0i391ceDEtUOH4lCXXGgwceVzTOCS31daBC+Mfz8N42/z8HsQ8hh9RMKu3 D/EsXHz2kOh9f0k48Wi93ky423/BsO7uWgWKY/S76mc+QuPCTTwelVeweANl3HkRimjS /c6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436058; x=1691040858; 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=vv/BMVL/ZNeEbINcL/4raUcc3c4bebGIY3s5gcWMzMg=; b=br8vjz5XJecjYjFCTZEQZqtJwIH9xxguOBLJ7gFLq/ZJqoun2CPgYcM25ynnbW3SIA 9loblRjtP7ACbU/t321iGunbHiautiCaZzUD0jpfVLbXrYq3F+C9Yqb++0y3TnSOPPjB mv6WEQjE8kgM+DM55+BaCuUnbmEHtXx18lrED1JqMOS88czLmSVUGZCDNSwwnUcvxUA3 RBIbReEbJcnUrayYWT3C4imDTW1yVI7KdyD8YyqGOJQFvx0ir3mYimHpLF6++EktBvaJ 33AbcHucAKdq6MWMExty+YDGP0cGtb54bODxB83EnAqNZos/J/wQVNoD5ya00iStOS4l VCKw== X-Gm-Message-State: ABy/qLboc/OIaJZDzAX/p58ZVjq3zzdGuu9IEaMQQAsHVTvqqx4umtav tJf4cCrooHWuc5TLXaJzuMrWlw== X-Received: by 2002:a17:902:8210:b0:1b8:9552:2249 with SMTP id x16-20020a170902821000b001b895522249mr3216329pln.43.1690436058098; Wed, 26 Jul 2023 22:34:18 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:17 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 15/42] clk: at91: at91sam9x5: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:29 +0300 Message-Id: <20230727053156.13587-16-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554657790589168 X-GMAIL-MSGID: 1772554657790589168 Switch AT91SAM9X5 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9x5.c | 123 +++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 55 deletions(-) diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 13331e015dd7..8b2747091b03 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -38,9 +39,9 @@ static const struct clk_pll_characteristics plla_characteristics = { .out = plla_out, }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } at91sam9x5_systemck[] = { @@ -48,12 +49,12 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "smdck", .p = "smdclk", .id = 4 }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "smdck", .id = 4 }, + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, }; static const struct clk_pcr_layout at91sam9x5_pcr_layout = { @@ -133,25 +134,29 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, const struct pck *extra_pcks, bool has_lcdck) { + struct clk_hw *slow_clk_hw, *main_xtal_hw, *main_rc_hw, *main_osc_hw; + struct clk_hw *parent_hws[6], *smdck_hw, *usbck_hw, *hw; + static struct clk_parent_data parent_data; struct clk_range range = CLK_RANGE(0, 0); - const char *slck_name, *mainxtal_name; + const char *main_xtal_name = "main_xtal"; struct pmc_data *at91sam9x5_pmc; - const char *parent_names[6]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -162,56 +167,57 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, if (!at91sam9x5_pmc) return; - hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, - 50000000); - if (IS_ERR(hw)) + main_rc_hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, + 50000000); + if (IS_ERR(main_rc_hw)) goto err_free; bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, - bypass); - if (IS_ERR(hw)) + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + bypass); + if (IS_ERR(main_osc_hw)) goto err_free; - parent_names[0] = "main_rc_osc"; - parent_names[1] = "main_osc"; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_names, NULL, 2); + parent_hws[0] = main_rc_hw; + parent_hws[1] = main_osc_hw; + hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); if (IS_ERR(hw)) goto err_free; at91sam9x5_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9x5_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); + hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); if (IS_ERR(hw)) goto err_free; at91sam9x5_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck", NULL); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, at91sam9x5_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; at91sam9x5_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9x5_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9x5_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9x5_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); @@ -220,28 +226,28 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, at91sam9x5_pmc->chws[PMC_MCK] = hw; - parent_names[0] = "plladivck"; - parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = at91sam9x5_pmc->chws[PMC_PLLACK]; + parent_hws[1] = at91sam9x5_pmc->chws[PMC_UTMI]; + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + if (IS_ERR(usbck_hw)) goto err_free; - hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_names, NULL, 2); - if (IS_ERR(hw)) + smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", NULL, parent_hws, 2); + if (IS_ERR(smdck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9x5_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9x5_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9x5_pmc->chws[PMC_UTMI]; + parent_hws[4] = at91sam9x5_pmc->chws[PMC_MCK]; for (i = 0; i < 2; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 5, i, + NULL, parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) @@ -250,9 +256,16 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, at91sam9x5_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + at91sam9x5_systemck[0].parent_hw = at91sam9x5_pmc->chws[PMC_MCK]; + at91sam9x5_systemck[1].parent_hw = smdck_hw; + at91sam9x5_systemck[2].parent_hw = usbck_hw; + at91sam9x5_systemck[3].parent_hw = usbck_hw; + at91sam9x5_systemck[4].parent_hw = at91sam9x5_pmc->pchws[0]; + at91sam9x5_systemck[5].parent_hw = at91sam9x5_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9x5_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9x5_systemck[i].n, - at91sam9x5_systemck[i].p, NULL, + NULL, at91sam9x5_systemck[i].parent_hw, at91sam9x5_systemck[i].id, at91sam9x5_systemck[i].flags); if (IS_ERR(hw)) @@ -262,8 +275,8 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, } if (has_lcdck) { - hw = at91_clk_register_system(regmap, "lcdck", "masterck_div", - NULL, 3, 0); + hw = at91_clk_register_system(regmap, "lcdck", NULL, + at91sam9x5_pmc->chws[PMC_MCK], 3, 0); if (IS_ERR(hw)) goto err_free; @@ -274,7 +287,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9x5_pcr_layout, at91sam9x5_periphck[i].n, - "masterck_div", NULL, + NULL, at91sam9x5_pmc->chws[PMC_MCK], at91sam9x5_periphck[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) @@ -287,7 +300,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9x5_pcr_layout, extra_pcks[i].n, - "masterck_div", NULL, + NULL, at91sam9x5_pmc->chws[PMC_MCK], extra_pcks[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) From patchwork Thu Jul 27 05:31:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126645 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp871379vqo; Wed, 26 Jul 2023 22:48:05 -0700 (PDT) X-Google-Smtp-Source: APBJJlFQnk7TEu/gHzayGJnIotkElWboFQ7IexvbSHTN0IaZ0wU5WySSqFs4wJ5FrUuIBgxEysqT X-Received: by 2002:a05:6e02:13ce:b0:32c:9c5e:900c with SMTP id v14-20020a056e0213ce00b0032c9c5e900cmr4390278ilj.8.1690436884991; Wed, 26 Jul 2023 22:48:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436884; cv=none; d=google.com; s=arc-20160816; b=uus4Lu8T1obdG/BuML0EqWwieu/jg2JaSXJsok0F/fAdQlC0kKPPzVCr+cO+ZIgnZG w55LBtiSbWtXDRx3cYovR/pUadTRvhN55+IXYpVEFBb4a6s9MAfkCYR2IwEWbepmm4VU LSXnTw5tqOVHlF2ACl7V/Hnajw+lOBRMUA1htTxEvKC4Ju72BcBxO05gwAI21fjKi/DR bO635yNwAq+Rq6PJ5XMxy8yhqx4WdRV678J5YmYI76BgZwOqgus28mtgKQGZUvp9yZ74 8mJNwKZQyFgTwVyPp1Ug5vbQuwy92r4QQwY4i3FjQOOHto0nP88tS+0ClfG9bPQ7IsaG sydw== 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=kid366wiUoXwgFB76gRtzNPUPTmnA2Hry2ysnz0JRIc=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=GZga3QJYrsUjdQlExSRQwDTw8/Vc6dyfD9p+WMy9L+sPVQD7OAlIEVVm+0cjOQZttH 56JdEwXEMt5+YWsg9WjAv33EiXdekWyEE0WF245EUFBv1BlbyOF3b6Bds/dvJMupIt5V IYTuLbFBmzaQfOSBiXGdooNVEeV4c62OVk2X/ezozNHFOjI/ubJsoCHdoCH6l9+2/PZy T6awA089LTxQ+Ppw9Wj3OkpcnIzwWn1kfcM6+Kq9FebrfIJ/ODpsb1BLfuMLDvbl4O7L eTbe8AEOafaiV6zs43m+ZmNS/9oggDaLcQVhT3SZf8jlq94c5Mzo/TIEbSJikddViI/s Ue8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=iTwFAaZo; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j3-20020a170903028300b001b3f6d89579si730093plr.513.2023.07.26.22.47.51; Wed, 26 Jul 2023 22:48: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=@tuxon.dev header.s=google header.b=iTwFAaZo; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232101AbjG0FfS (ORCPT + 99 others); Thu, 27 Jul 2023 01:35:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231823AbjG0Fex (ORCPT ); Thu, 27 Jul 2023 01:34:53 -0400 Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D6304358A for ; Wed, 26 Jul 2023 22:34:25 -0700 (PDT) Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1b9c5e07c1bso4618535ad.2 for ; Wed, 26 Jul 2023 22:34:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436065; x=1691040865; 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=kid366wiUoXwgFB76gRtzNPUPTmnA2Hry2ysnz0JRIc=; b=iTwFAaZoQR0slAJQ6ZFA/OIw+wZMhPqKMeCFKKIIIz6uKqzdUa+gbJasrMqdi9lWEq hBecxsx7vGEPk7T+2ns7Wrt6FXL6w2JgAUWH0ysS6/qSMRS/yy8g5MYf4w9CzdrC0GCV h4ZoAnSYM/gy1yDYzORz6Q0DeDA9BKWE/fSnhW/xelNXOtNKNqp/la9Fiqc7Mx9VxKig jbbHK5r4tYpfdJ2UE+u6xg0W6mc1+163RQ7vcRaUp7jQvv1Q719naD4ehEfChm64WjXn jhvCxUOncdCEqipYRVj8QdunhyxuaoxLD37GgrEWsFciZ95NbgIq5ccR5H2NcKxt5Exm lY9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436065; x=1691040865; 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=kid366wiUoXwgFB76gRtzNPUPTmnA2Hry2ysnz0JRIc=; b=ZL5V5J1ykbzj8FDWrWT70DCsOia20E0C9u2oQMxXjj9rnTL7kW8+pOBHh8xWqFhHQN CQ9K6wFScDG2wVIpz3064k/D4CRkqaCWu54qOWvbRG98Qi7oCBSKwH9ouyVSkZuEF6qU eS9H4Rumm7rOwu8wSH9qhCNrwSz5FdvX3Hda/EYFWJqAYIce0lK5wb+2xFKrIBlezhDp oGZo8pSi0CXMYWQclgl+YUdwiAGgVPvonjdC8zbd8rlhozyR7JBOgPan7o0eXfXloepU KuX2EL99+aq6FV4XtbXtlR5FyZaoO2JH/XTNDNIWoe1Sbg/vKvpOhptH2tdzXv4euNwb mEvA== X-Gm-Message-State: ABy/qLaNpObR8jUxxWgPvIBVxI1vDT4vE/UJcCRLkmnBHKFZmERDj05F O5v0kVcHxv0y7/1J7CaGughN/Sv0eRpUWQW96v/zVefO X-Received: by 2002:a17:902:ec8c:b0:1ab:11c8:777a with SMTP id x12-20020a170902ec8c00b001ab11c8777amr5186878plg.13.1690436065269; Wed, 26 Jul 2023 22:34:25 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:25 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 16/42] clk: at91: at91rm9200: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:30 +0300 Message-Id: <20230727053156.13587-17-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551546842099045 X-GMAIL-MSGID: 1772551546842099045 Switch AT91RM9200 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 96 ++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 41 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 623e232ec9c6..87fd7b1609bd 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -11,7 +12,7 @@ static DEFINE_SPINLOCK(rm9200_mck_lock); struct sck { char *n; - char *p; + struct clk_hw *parent_hw; u8 id; }; @@ -39,13 +40,13 @@ static const struct clk_pll_characteristics rm9200_pll_characteristics = { .out = rm9200_pll_out, }; -static const struct sck at91rm9200_systemck[] = { - { .n = "udpck", .p = "usbck", .id = 1 }, - { .n = "uhpck", .p = "usbck", .id = 4 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "pck2", .p = "prog2", .id = 10 }, - { .n = "pck3", .p = "prog3", .id = 11 }, +static struct sck at91rm9200_systemck[] = { + { .n = "udpck", .id = 1 }, + { .n = "uhpck", .id = 4 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "pck2", .id = 10 }, + { .n = "pck3", .id = 11 }, }; static const struct pck at91rm9200_periphck[] = { @@ -76,25 +77,29 @@ static const struct pck at91rm9200_periphck[] = { static void __init at91rm9200_pmc_setup(struct device_node *np) { - const char *slowxtal_name, *mainxtal_name; + struct clk_hw *slow_xtal_hw, *main_xtal_hw, *main_osc_hw; + struct clk_hw *parent_hws[6], *usbck_hw, *hw; + static struct clk_parent_data parent_data; + const char *main_xtal_name = "main_xtal"; struct pmc_data *at91rm9200_pmc; u32 usb_div[] = { 1, 2, 0, 0 }; - const char *parent_names[6]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_xtal"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_xtal"); + if (IS_ERR(clk)) return; - - slowxtal_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_xtal_hw = __clk_get_hw(clk); + if (!slow_xtal_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -108,18 +113,20 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, - bypass); - if (IS_ERR(hw)) + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + bypass); + if (IS_ERR(main_osc_hw)) goto err_free; - hw = at91_clk_register_rm9200_main(regmap, "mainck", "main_osc", NULL); + hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, main_osc_hw); if (IS_ERR(hw)) goto err_free; at91rm9200_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, at91rm9200_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &rm9200_pll_characteristics); if (IS_ERR(hw)) @@ -127,7 +134,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", "mainck", NULL, 1, + hw = at91_clk_register_pll(regmap, "pllbck", NULL, at91rm9200_pmc->chws[PMC_MAIN], 1, &at91rm9200_pll_layout, &rm9200_pll_characteristics); if (IS_ERR(hw)) @@ -135,20 +142,19 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_PLLBCK] = hw; - parent_names[0] = slowxtal_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack"; - parent_names[3] = "pllbck"; + parent_hws[0] = slow_xtal_hw; + parent_hws[1] = at91rm9200_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91rm9200_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91rm9200_pmc->chws[PMC_PLLBCK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91rm9200_master_layout, &rm9200_mck_characteristics, &rm9200_mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, &at91rm9200_master_layout, &rm9200_mck_characteristics, &rm9200_mck_lock, CLK_SET_RATE_GATE, 0); @@ -157,21 +163,22 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_MCK] = hw; - hw = at91rm9200_clk_register_usb(regmap, "usbck", "pllbck", NULL, usb_div); - if (IS_ERR(hw)) + usbck_hw = at91rm9200_clk_register_usb(regmap, "usbck", NULL, + at91rm9200_pmc->chws[PMC_PLLBCK], usb_div); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = slowxtal_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack"; - parent_names[3] = "pllbck"; + parent_hws[0] = slow_xtal_hw; + parent_hws[1] = at91rm9200_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91rm9200_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91rm9200_pmc->chws[PMC_PLLBCK]; for (i = 0; i < 4; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 4, i, + NULL, parent_hws, 4, i, &at91rm9200_programmable_layout, NULL); if (IS_ERR(hw)) @@ -180,9 +187,16 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + at91rm9200_systemck[0].parent_hw = usbck_hw; + at91rm9200_systemck[1].parent_hw = usbck_hw; + at91rm9200_systemck[2].parent_hw = at91rm9200_pmc->pchws[0]; + at91rm9200_systemck[3].parent_hw = at91rm9200_pmc->pchws[1]; + at91rm9200_systemck[4].parent_hw = at91rm9200_pmc->pchws[2]; + at91rm9200_systemck[5].parent_hw = at91rm9200_pmc->pchws[3]; for (i = 0; i < ARRAY_SIZE(at91rm9200_systemck); i++) { hw = at91_clk_register_system(regmap, at91rm9200_systemck[i].n, - at91rm9200_systemck[i].p, NULL, + NULL, at91rm9200_systemck[i].parent_hw, at91rm9200_systemck[i].id, 0); if (IS_ERR(hw)) goto err_free; @@ -193,7 +207,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(at91rm9200_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91rm9200_periphck[i].n, - "masterck_div", NULL, + NULL, at91rm9200_pmc->chws[PMC_MCK], at91rm9200_periphck[i].id); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126638 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp867359vqo; Wed, 26 Jul 2023 22:38:41 -0700 (PDT) X-Google-Smtp-Source: APBJJlHlGC4kFUVBjXgratH8tcAOQYZSQFEAdHWqUEID3nK4f/Ldd+lqTUmCgV6x9RlQxmkk1vIJ X-Received: by 2002:a17:903:191:b0:1b8:862:74ee with SMTP id z17-20020a170903019100b001b8086274eemr4489462plg.11.1690436320908; Wed, 26 Jul 2023 22:38:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436320; cv=none; d=google.com; s=arc-20160816; b=uJUdJbj1U1JPrrvbR4HIxRC6eG5bxftmECIYzri0FySgBsvuLWTlSdz2iWp3nQCmOH 9LJcC8IJI2eMInfJsBkjLhij8qPzTszhMudUN8Ds9Lxyasfn+TMh936nchrMFUZInw0K uaCic4aT0wKfpCTmHgrB9ftQBdYO39PlFgTdK08GPnf9ar9nARnhFEEof/40g3Pf81xx 7/MY7+Yfx/crM9TiFJLfI3n+SIGVctxyNdAvkamlkXnuVqJ7vZgQOZyR6nkyS7ZXmghS yciilQaXz37ZcUYId5og3jRfNuAU5iphnmPa/Nyt7uG+2wM81WgL7LaDH0N0J3ZLYYln 3OhA== 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=ebMv2zCUuI7+v0WKO0rdWUfZu6i4M/aH4M1ZWTbcC5E=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=wleurDcX3moWWBoCjKHciq6lCeIH9awNyHEZIMBWLYvCosAfvz1WeM/DtAAzvhFJlK OevxjL7pPBWDVnhpqP2Bd/ZwOG1B69w+fan5U69DxkV/gGJ17bb6rsaihiGKJ2PC4SA9 U9jWd1s/UZKpfHyya6kzQlXir6pdF2EjyhrD3BlYt9JT1Lv4RV8S9eW15Eaf/Fjx7hgr 2/BssNphVho3Gk6sFl2E8O3Q173ZNFKgpPGiXlP/T/+SfpfQ9dtijAvQ8cmanPF96Vi8 P7CQVW60Fpce0g8D+A02n1hJSyTDMV9tlMTRrWAnCn4wpojOwZal5Drd9geLQHuQsC1F Qluw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=UESfxiMc; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e11-20020a170902e0cb00b001a6f0eab385si691642pla.55.2023.07.26.22.38.27; Wed, 26 Jul 2023 22:38:40 -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=@tuxon.dev header.s=google header.b=UESfxiMc; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232017AbjG0Fff (ORCPT + 99 others); Thu, 27 Jul 2023 01:35:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231997AbjG0Fe5 (ORCPT ); Thu, 27 Jul 2023 01:34:57 -0400 Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42A713595 for ; Wed, 26 Jul 2023 22:34:35 -0700 (PDT) Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1bba04b9df3so4572805ad.0 for ; Wed, 26 Jul 2023 22:34:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436072; x=1691040872; 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=ebMv2zCUuI7+v0WKO0rdWUfZu6i4M/aH4M1ZWTbcC5E=; b=UESfxiMcGDxlM1+U0+b3DvIMqaPqSBSzUy3qM/gkfnnNlkWAG3ZdIzl53O0z4qltun Wl/n+L6woG9wbC3LMG3mtRaejY5DGnpaqLKSvRN9Rw3k8nLKJg3Y49JO0chE1iXgG1YB nNNBIDDYt2qO0F9ettcIpre/DqAds659sTcWeJm/E+rTrvvX6dThgvGHB/o57lkUJFG9 DHK6Unam/w1yTXcjLk3krIxIdDZvFslyF3c6yillKuUBGh91LxQ7aWQITjc9n4KV2ddT hyp6s5V8DI/vhTaTeaq6h+/mexJOq3Z6zy6CF7VlBcLVSNp/3cURn4TcWHk8mO77eaCN j2hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436072; x=1691040872; 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=ebMv2zCUuI7+v0WKO0rdWUfZu6i4M/aH4M1ZWTbcC5E=; b=HPxKWmxOAyg82hoMidAwmipTP6nQ9AI3q5u4pCUl/VypKLr+V/EdUti6WL2JsntAv5 ttHZS892k1dG0xFzM4Ee5fkoxHpYI5fdI2hM0RzuOg+DFHRR/6cfnitkbSBK1Ja8GSPh q35HFus+OVPownSFaOcbjv/dAQ/ZJ4XwY7mYF0lXPJg52TAcDIfgy/QjZqbdPTVo2X/I 2B6QQaAU4lmk2fgzkVZlQpk75haG9MVCb/JKZwgoNlJno8eHRUDIu5qxmwPxvVewXerl YhOLHKtUEm5P8EG/uMZnV6i7LzSWy75EtmE2Rh4TqQBofUdHvGLApBt1sNyjB4QKjFRH B9Fw== X-Gm-Message-State: ABy/qLbzuZohAPGOuKw/XGR2yhkBz/ixuMjYgL2/ycUVXuXtxXzStaW7 jyoFmzEy+ajvu2bnTtoocz/zTQ== X-Received: by 2002:a17:903:22d1:b0:1b8:b2c6:7e8d with SMTP id y17-20020a17090322d100b001b8b2c67e8dmr4820694plg.66.1690436072684; Wed, 26 Jul 2023 22:34:32 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:32 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 17/42] clk: at91: at91rm9200: fix checkpatch.pl check Date: Thu, 27 Jul 2023 08:31:31 +0300 Message-Id: <20230727053156.13587-18-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772550955711849612 X-GMAIL-MSGID: 1772550955711849612 Fix the following checkpatch.pl check: drivers/clk/at91/at91rm9200.c:100: CHECK: Alignment should match open parenthesis Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 87fd7b1609bd..a862a0a18972 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -106,8 +106,8 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) return; at91rm9200_pmc = pmc_data_allocate(PMC_PLLBCK + 1, - nck(at91rm9200_systemck), - nck(at91rm9200_periphck), 0, 4); + nck(at91rm9200_systemck), + nck(at91rm9200_periphck), 0, 4); if (!at91rm9200_pmc) return; From patchwork Thu Jul 27 05:31:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126650 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873225vqo; Wed, 26 Jul 2023 22:52:26 -0700 (PDT) X-Google-Smtp-Source: APBJJlE/pFJie+YPn4gMbFesI8vxcan6wFKGoyvRDijrH7gLvyUkP8p++4tnPeb7rc52aiaWd5at X-Received: by 2002:a05:6358:988d:b0:130:afe8:43de with SMTP id q13-20020a056358988d00b00130afe843demr1592431rwa.30.1690437146607; Wed, 26 Jul 2023 22:52:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437146; cv=none; d=google.com; s=arc-20160816; b=VUYGA7t27/OovGMWORQnGV3jUzCWxlONZ0VTWnxGlSZtgt3S/5T2RZUJIPI+kPqC7+ 4nSqLVVd5EnX5L4rFG+dFzRyXdW2C9cMkM3+y/qGGTT9PMO0osyeoj38HTvxb+l2x96f lUSLn0bwoP9+6fjf3TfpiGVvjLdvLpzYinloO8Q2jDY/9WzB//tSj9iX99If9KXZXZnR lRCnkqIowPWUN3eW9CJhQi55N1JtMqgdlQsUspRvJuQIcbrw7kIOt832Yek5M7X3y0J9 yGvg6qaQLrMYFzXLyJplhmtrTzh+6pWPPpAK5x6NBYWQcbqJlJ/VMGD+ioOKZ9kvHMkC PMFw== 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=fRCZH4GGM1E14D8FGmRam/hRPth71ctX83uTK0gxaqc=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=oZ0+xw0uXqwXKTvVqVSuaP2Vk/4q4uM8qNOaS6Wk7hDF4YAYsLo8VHDADWkJ1YQZ8s pMhtzMevJ/PNSUUmcGs27+wNoO8uwmj4pLMCpyDRKqASVJPtt7HcVKNnEycwLI9e5cRf 2HlzdiC+WT7cxpQb4oncV+y4WlC0OaRnj/ES5vGTeKh5faA8Fd9EVMhBSX0h0Tcy/sKo OkqX6KJ2zVo6Bs6ji6FelRPqn7OS/AnUHep4MD5XhEiFXMP/Baclwylf9z/0MY4Ibf1Y FnaeaVv6YlOyjwximuRRSThqsY1/awhytcM8PnQJorvWARXn5SYG514VJmFRm6/zcyme I1JQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Adlbqsjb; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l20-20020a63ea54000000b0055be9543340si632217pgk.872.2023.07.26.22.52.13; Wed, 26 Jul 2023 22:52:26 -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=@tuxon.dev header.s=google header.b=Adlbqsjb; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232134AbjG0FgC (ORCPT + 99 others); Thu, 27 Jul 2023 01:36:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54284 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232056AbjG0Ffo (ORCPT ); Thu, 27 Jul 2023 01:35:44 -0400 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C13112D5D for ; Wed, 26 Jul 2023 22:34:59 -0700 (PDT) Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1b8c81e36c0so3583685ad.0 for ; Wed, 26 Jul 2023 22:34:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436079; x=1691040879; 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=fRCZH4GGM1E14D8FGmRam/hRPth71ctX83uTK0gxaqc=; b=AdlbqsjbBdcn/EdEJb2LCLEioo8YFANuQmf67SxKzZPYqENGC4s6ucFjuztzOJpoCc JM2FxjqtAvMkz9Szl++ADE8A9hw5jIZS3jl1XCByzdIPVfulumg8/lwE/xIHNZU+06Li r/k7QyUkbC0k2nVSbXbZJWJ7KXRPTA76hqcbmgoOM7c7yYMf6wBtRsNH8EO93Z8hiPkB AEQNGuqMxSL+CnWsw9SH5Y3CWij+9RRW5M3WSuT1ULKAVnYjpnLhJfeRQ8Foco/0SxdR VexKYCKFFwTcZj2Y2plyxp+M0SXbDvG4HCGrDNBcncCAAV3rsymp2jAr8Y3cigaAOcU/ XEYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436079; x=1691040879; 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=fRCZH4GGM1E14D8FGmRam/hRPth71ctX83uTK0gxaqc=; b=Y7ODr3Vg2M2ie4LGEgKTDfWKRuKFZDmQT3V1nki/hDzTTzcG5MoxoociJFAGYh+lht TSl4S4hYVybcIfJ3dgwYYPcIO/p0bRK6EoAf7AXsWy4sZ3RvT0t87ePAKEpAycbJixyW QSwIwfWChtoFDn8D+rCCFkb9QHNzrOyKOB5+RaypZjAgpSplIYaucRpZpJwAycDgmpwY KRmZOglOHIF1voP5GLhE4lDakx+GvaPsB/b5KxofsvKg+GVcktRlEE11TIxNEpzhp6uD ucIG5JVT2a19Jo8MekvJBbCFdrgvFabWS/JDITHENVYIJaxFIGy0u+7X66kvt/zpPT08 DSgw== X-Gm-Message-State: ABy/qLZDf9AMiAX8aqTo9u3RObt4lb8MBGe8R7YlVZEFzPWGXbdV9W/s 28SWxtz1gOQ4W/4yBFXmlQhC2DibMsf45+xfAHU3Hqp8 X-Received: by 2002:a17:902:7047:b0:1b3:9d13:34b3 with SMTP id h7-20020a170902704700b001b39d1334b3mr3348176plt.37.1690436079762; Wed, 26 Jul 2023 22:34:39 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:39 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 18/42] clk: at91: at91rm9200: fix checkpatch.pl check Date: Thu, 27 Jul 2023 08:31:32 +0300 Message-Id: <20230727053156.13587-19-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772550955711849612 X-GMAIL-MSGID: 1772551820983267754 Fix the following checkpatch.pl check: drivers/clk/at91/at91rm9200.c:216: CHECK: Please use a blank line after function/struct/union/enum declarations Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index a862a0a18972..e0418ab5d65c 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -222,6 +222,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) err_free: kfree(at91rm9200_pmc); } + /* * While the TCB can be used as the clocksource, the system timer is most likely * to be used instead. However, the pinctrl driver doesn't support probe From patchwork Thu Jul 27 05:31:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126664 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp880036vqo; Wed, 26 Jul 2023 23:06:04 -0700 (PDT) X-Google-Smtp-Source: APBJJlFqHGZh57rDBUW+7mo2kkZ+YvLqrEOFUnzWyIC8Hbbr41UoEhi2IkQVDyexee74aK5la1eC X-Received: by 2002:a05:6808:14d6:b0:3a3:47c5:1de3 with SMTP id f22-20020a05680814d600b003a347c51de3mr2509055oiw.49.1690437964264; Wed, 26 Jul 2023 23:06:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437964; cv=none; d=google.com; s=arc-20160816; b=kQx/mxfO0WMfG4OgFBKc1YOol8KueGgSA583M+n9nCDLm/SzsyTg5ySKgASLNx4P+L p87c7rHY1BXsIANiO+78HXzRLR95U4MsEdCnZNDQQ/NlAJIuOoq6PEbDymgGnfmXImPz KhpdiAz8Cl/hHlLG+2K6RWJyhjvo4hcddlwuYtb2RSejya+3MB6U1mgiwWbTZid1mUnw YNjVpu7T4uX4xeOVhDFqff081Aj19Y/Ko87zRhsr60nPpd2SJ6kf3LEHqHhr2cI2Hpal HyQA+lgZ92j8audhSHiiE4kQ1J/dbjVeTMna6+2cO/rIFAAzjeKP3IXeQvZ6QAf9+bCI 7Wog== 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=o/6KrvhXqa5iLUixbjzuBMiv5UYsjXjQw1Ru7hJmwyo=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=fPwsNaukUUYT+TWf3eNWG2UI4M0KvGCPyx9PAnvbG5I6j7OP2d5mMc+fQ7esnbBS1E bQYhpqxdMEsk70L36RBrj9zQO/2jwBYqaglnJzR4zFVGUxnNcCa6bdpaq3mbbtEdijKp B2HYL50TYAB+Jid7+QvAqYTfdY79P1TcSMMpCgHJxHnhmG9TnPeGHVQFS5p48WivMr+p yCekq+0f6R+mJON0Pp8Q/ahJe8IMVj86/CC/pOwxLCsD6E/ArQw7tSCuuKn3rI6/pwEg mFInEdHXG8cYjGQBqUwpNKJuJs4bH2PHSayGG+m8LjXFpGbyyepwgjNteWJALcgQqD2O uDmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=p7tqgkwF; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 207-20020a6300d8000000b00563d6a2aab9si678906pga.588.2023.07.26.23.05.50; Wed, 26 Jul 2023 23:06: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=@tuxon.dev header.s=google header.b=p7tqgkwF; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231908AbjG0FgL (ORCPT + 99 others); Thu, 27 Jul 2023 01:36:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232071AbjG0Fft (ORCPT ); Thu, 27 Jul 2023 01:35:49 -0400 Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB5D13AAE for ; Wed, 26 Jul 2023 22:35:04 -0700 (PDT) Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1bb8e45185bso3486635ad.1 for ; Wed, 26 Jul 2023 22:35:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436087; x=1691040887; 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=o/6KrvhXqa5iLUixbjzuBMiv5UYsjXjQw1Ru7hJmwyo=; b=p7tqgkwFoLsNlG4MKl0lVbtVdD+bXOGOQxOh6qFvDVQ71iCs2xwdGom9AGn/uqw8l3 uo/Ts0xEX36uzQgg8NN28OubEeAM+X41hXn52DW/S/pNFHiIKFKDN1VolkzW0MkY8UHf TFVdbFpTVlsPy0vYRQ+qZcQHSONLtM3/qxZ94DiudPxmDxfeUPDw/fbOGW9Z1gavoavn E66e3X8MNL2EhipQO5qxbTepxclX8z1Monf/djmATYpDtnCVuYWiwdKfde7LrVuakRsR 4aNS2WZIqB+hUeYktFBs7F50JstPJzh+HGoH1R9nXSSj8+wd2MqNmN6XdKqG8PWv2tyI KVlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436087; x=1691040887; 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=o/6KrvhXqa5iLUixbjzuBMiv5UYsjXjQw1Ru7hJmwyo=; b=fQItVWlpLL0jx/8zf/TOzUT/9CG85QqUcikZkODJUf6q2zzYQOmfNyG/FKPCM2sZA/ e9Hi/8wZJvzbJGTAwnfLKUpfQYBcsJY8iED4zMHPGkSjh4+BdQc7UMLl/jfsuicIlQnr hZuyEvHD25M4gahFUEqBaRf4UuXYMggpi+exZYE8FITAf4DQi9UCyhW7P1YhGBeM3RZo WWtqpqaQb3V7pP7ByOnVM/W+B6pQM/NGim3/9T8YVD9GNr2uLJN3MurYrCi0MB3wOMqx wpt3uakitQj4grZ0rKY5gn/rcA70WnsQDMeW4AiOBpN9B6HM/pEzByYpkNUorDT8YQmr xXiQ== X-Gm-Message-State: ABy/qLZZtWFQx4YPbxUyF/o+z/WpSUSOuQH25OR+fXWm0+v1hn6ZuQOb FcvNWDd+6fgFGPnCvLuyMPiApA== X-Received: by 2002:a17:902:b60a:b0:1b6:80f0:d969 with SMTP id b10-20020a170902b60a00b001b680f0d969mr2928961pls.11.1690436086872; Wed, 26 Jul 2023 22:34:46 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:46 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 19/42] clk: at91: clk-slow: add support for parent_hw Date: Thu, 27 Jul 2023 08:31:33 +0300 Message-Id: <20230727053156.13587-20-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552678671581516 X-GMAIL-MSGID: 1772552678671581516 Add support for parent_hw in slow clock drivers. With this parent-child relation is described with pointers rather than strings making registration a bit faster. All the SoC based drivers that rely on clk-slow were adapted to the new API change. The switch itself for SoCs will be done in subsequent patches. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/clk-slow.c | 8 ++++++-- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index f39deb3ec00a..55350331b07e 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -385,7 +385,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, parent_names[0] = "slow_rc_osc"; parent_names[1] = "slow_xtal"; hw = at91_clk_register_sam9260_slow(regmap, "slck", - parent_names, 2); + parent_names, NULL, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-slow.c b/drivers/clk/at91/clk-slow.c index ac9f7a48b76e..bea66216ed82 100644 --- a/drivers/clk/at91/clk-slow.c +++ b/drivers/clk/at91/clk-slow.c @@ -39,11 +39,12 @@ struct clk_hw * __init at91_clk_register_sam9260_slow(struct regmap *regmap, const char *name, const char **parent_names, + struct clk_hw **parent_hws, int num_parents) { struct clk_sam9260_slow *slowck; struct clk_hw *hw; - struct clk_init_data init; + struct clk_init_data init = {}; int ret; if (!name) @@ -58,7 +59,10 @@ at91_clk_register_sam9260_slow(struct regmap *regmap, init.name = name; init.ops = &sam9260_slow_ops; - init.parent_names = parent_names; + if (parent_hws) + init.parent_hws = (const struct clk_hw **)&parent_hws; + else + init.parent_names = parent_names; init.num_parents = num_parents; init.flags = 0; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index f464e125c9fd..dbc59ac44828 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -822,7 +822,7 @@ static void __init of_at91sam9260_clk_slow_setup(struct device_node *np) of_property_read_string(np, "clock-output-names", &name); - hw = at91_clk_register_sam9260_slow(regmap, name, parent_names, + hw = at91_clk_register_sam9260_slow(regmap, name, parent_names, NULL, num_parents); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 541d2ba2fea5..6816e350d6d6 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -244,6 +244,7 @@ struct clk_hw * __init at91_clk_register_sam9260_slow(struct regmap *regmap, const char *name, const char **parent_names, + struct clk_hw **parent_hws, int num_parents); struct clk_hw * __init From patchwork Thu Jul 27 05:31:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126652 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873500vqo; Wed, 26 Jul 2023 22:53:03 -0700 (PDT) X-Google-Smtp-Source: APBJJlFC4Zj6dqyRZgzSFuMqueG5kX+Ulef+ycn6Kp8A7AuMJGqjaTUFQoAqEWI4DIvCIbKwZMth X-Received: by 2002:a05:6a21:790a:b0:137:6958:d517 with SMTP id bg10-20020a056a21790a00b001376958d517mr3354351pzc.24.1690437183614; Wed, 26 Jul 2023 22:53:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437183; cv=none; d=google.com; s=arc-20160816; b=mufP5ye7cL5oHg33qxijZiVmhKolJkJcOgFsSxmD524h9h7tNr789xqKXNeofgB9U1 LneMlosEFtu6CTOCR3ARcUCShOtxPi47vu0jHG7TRdw/lkXikKg62VMROPu3fYwN6vm0 lBCE68xZphO5tGFbdXIN1cS68MiVAmfbnXmBL2A07jFQIpFFH7M4YdHgVB0c/OOi3ua8 k1ZKwxNIrajh1zkJzaKX5nXbiC2HZyMGe5xZR/VsWbfR4OfKia0gajEXaq2OO/bIxj0i 0UjlsLH27AAdxvlsUBfRCCJVicORBrZZ+wOrwLUFO1G+d6ZWm0qV8eB2hejRfMb4aLjn cy8w== 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=EBbNugk5HlQlfZHqiOgCV5xi8h3KCTbkMOfTcf6vRhA=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=If2gr2LoLmrqCK9ObS5h+rq5Tc5k7HlADhHFe91nhcUc52LYKyb3o5q8ZdfSzRMxuv z6cs/BVe5l8pUlsQxhc8bRJHwXL73yvyPt9KYRyC/hWw4Cn5pBQTwGpeGrsOduDo+0pu Jwr61ivLk2MfL3o2+0vpTFsF/Xz3e14XQTeZXZZYyOvIsANhP3+VuMPux0WAnbosgmgG mwyw2RkAobcIJt7h1pIeq5Xy/YTqD099dKqwnDsmsZZl2DZPt6beGQaR72nzlxYQqbtY 4SWmYCIXeWwODGObtVI84cH14B4rwjcwOCJuHwi8jiaFHStMaPxM3Pe//kqhIQrhFhdY Hm0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Id14NP7y; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c1-20020a170902d48100b001b890b3a512si727805plg.615.2023.07.26.22.52.50; Wed, 26 Jul 2023 22:53:03 -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=@tuxon.dev header.s=google header.b=Id14NP7y; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232102AbjG0FgZ (ORCPT + 99 others); Thu, 27 Jul 2023 01:36:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232103AbjG0Ffx (ORCPT ); Thu, 27 Jul 2023 01:35:53 -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 4E4833C02 for ; Wed, 26 Jul 2023 22:35:10 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1bbc7b2133fso3474395ad.1 for ; Wed, 26 Jul 2023 22:35:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436094; x=1691040894; 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=EBbNugk5HlQlfZHqiOgCV5xi8h3KCTbkMOfTcf6vRhA=; b=Id14NP7yd/JImdN8lyAnXofVzX4iaeIgUf9JDxY6LmHBdN3I3aS4+ju0haYsHe0p4O R25ny66K46hZ6FcqWIzeG5IRTHDFkGhw2r6xnkmWxb9rG4MoMOlmS+IhucZuHlEhNOeA d9g2DSO6oT8sVGbxBNznGD0FkGfWtou4JIcMDRIpZ4J8YTRmjV3NeGnrY3N4tJTf49Ks OG1o36YclVqsj3xGm4CcLcO8ixR0jjlbxxMn+wXycc8vj3ENto2eL7zLIFOIx0ooe5cM fBhHXOcyoAfPRlIOAL0JI0OUDsxgLQS4X0Uo7HGMpBbffrYkBPF8M9oh9sW27JzkrsSm F/jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436094; x=1691040894; 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=EBbNugk5HlQlfZHqiOgCV5xi8h3KCTbkMOfTcf6vRhA=; b=M5IMrUB3wj9C+f1zScWUKTFkJSqNvNSOp7JtjEEkw1f8lV3soBRet573hLnFuTrciO YvUDXyGhvrY+Y3DC9Qt3ygOpYWW0AfX3heMsM05YszgjPSJh3Dd0yzuYpeTR9JE0LcLZ gqEn7RbDbplWeuEyq7DoSiEmPg+MtXMGGNmvio9x/tHpuk0G80tMx49HeZEdcQXlQTWr Kh2Cxb78tt8YU+6czDP1jkhl7nl8PvhLsnwIV0jIoDbjjtMK+8FO/l5fIOUpuaROCTaJ k7Z+uF23YrhuziERskb6H3VUL60XGL5ZdvI8xgvtDcOuO7aFdRuw1+ucGXzO77ezdn2B 5NIg== X-Gm-Message-State: ABy/qLbXdI8gLT1KU4xZ7bXpyZNmEWNiklw0u5bD2rwxCGYs4kMT9QBQ CUIKHQ6Lg1HW+1XCoLDFwC/2Wg== X-Received: by 2002:a17:902:6ac3:b0:1b3:fafd:11c5 with SMTP id i3-20020a1709026ac300b001b3fafd11c5mr3247438plt.44.1690436093938; Wed, 26 Jul 2023 22:34:53 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:34:53 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 20/42] clk: at91: at91sam9260: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:34 +0300 Message-Id: <20230727053156.13587-21-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551860597596428 X-GMAIL-MSGID: 1772551860597596428 Switch AT91SAM92600 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9260.c | 139 ++++++++++++++++++--------------- 1 file changed, 78 insertions(+), 61 deletions(-) diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 55350331b07e..1ef7c02bee63 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -9,7 +10,7 @@ struct sck { char *n; - char *p; + struct clk_hw *parent_hw; u8 id; }; @@ -24,7 +25,7 @@ struct at91sam926x_data { const struct clk_pll_layout *pllb_layout; const struct clk_pll_characteristics *pllb_characteristics; const struct clk_master_characteristics *mck_characteristics; - const struct sck *sck; + struct sck *sck; const struct pck *pck; u8 num_sck; u8 num_pck; @@ -72,11 +73,11 @@ static const struct clk_pll_characteristics sam9260_pllb_characteristics = { .out = sam9260_pllb_out, }; -static const struct sck at91sam9260_systemck[] = { - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, +static struct sck at91sam9260_systemck[] = { + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, }; static const struct pck at91sam9260_periphck[] = { @@ -213,15 +214,15 @@ static const struct clk_pll_characteristics sam9261_pllb_characteristics = { .out = sam9261_pllb_out, }; -static const struct sck at91sam9261_systemck[] = { - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "pck2", .p = "prog2", .id = 10 }, - { .n = "pck3", .p = "prog3", .id = 11 }, - { .n = "hclk0", .p = "masterck_div", .id = 16 }, - { .n = "hclk1", .p = "masterck_div", .id = 17 }, +static struct sck at91sam9261_systemck[] = { + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "pck2", .id = 10 }, + { .n = "pck3", .id = 11 }, + { .n = "hclk0", .id = 16 }, + { .n = "hclk1", .id = 17 }, }; static const struct pck at91sam9261_periphck[] = { @@ -277,13 +278,13 @@ static const struct clk_pll_characteristics sam9263_pll_characteristics = { .out = sam9260_plla_out, }; -static const struct sck at91sam9263_systemck[] = { - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, - { .n = "pck2", .p = "prog2", .id = 10 }, - { .n = "pck3", .p = "prog3", .id = 11 }, +static struct sck at91sam9263_systemck[] = { + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, + { .n = "pck2", .id = 10 }, + { .n = "pck3", .id = 11 }, }; static const struct pck at91sam9263_periphck[] = { @@ -329,26 +330,29 @@ static struct at91sam926x_data at91sam9263_data = { static void __init at91sam926x_pmc_setup(struct device_node *np, struct at91sam926x_data *data) { - const char *slowxtal_name, *mainxtal_name; + struct clk_hw *slow_xtal_hw, *main_xtal_hw; + struct clk_hw *parent_hws[4], *usbck_hw, *hw; + static struct clk_parent_data parent_data; + const char *main_xtal_name = "main_xtal"; struct pmc_data *at91sam9260_pmc; u32 usb_div[] = { 1, 2, 4, 0 }; - const char *parent_names[6]; - const char *slck_name; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_xtal"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_xtal"); + if (IS_ERR(clk)) return; - - slowxtal_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_xtal_hw = __clk_get_hw(clk); + if (!slow_xtal_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -363,12 +367,14 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, bypass); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_rm9200_main(regmap, "mainck", "main_osc", NULL); + hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, hw); if (IS_ERR(hw)) goto err_free; @@ -382,20 +388,17 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, if (IS_ERR(hw)) goto err_free; - parent_names[0] = "slow_rc_osc"; - parent_names[1] = "slow_xtal"; - hw = at91_clk_register_sam9260_slow(regmap, "slck", - parent_names, NULL, 2); + parent_hws[0] = hw; + parent_hws[1] = slow_xtal_hw; + hw = at91_clk_register_sam9260_slow(regmap, "slck", NULL, parent_hws, 2); if (IS_ERR(hw)) goto err_free; at91sam9260_pmc->chws[PMC_SLOW] = hw; - slck_name = "slck"; - } else { - slck_name = slowxtal_name; + slow_xtal_hw = hw; } - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9260_pmc->chws[PMC_MAIN], 0, data->plla_layout, data->plla_characteristics); if (IS_ERR(hw)) @@ -403,7 +406,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", "mainck", NULL, 1, + hw = at91_clk_register_pll(regmap, "pllbck", NULL, at91sam9260_pmc->chws[PMC_MAIN], 1, data->pllb_layout, data->pllb_characteristics); if (IS_ERR(hw)) @@ -411,12 +414,12 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_PLLBCK] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack"; - parent_names[3] = "pllbck"; + parent_hws[0] = slow_xtal_hw; + parent_hws[1] = at91sam9260_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9260_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9260_pmc->chws[PMC_PLLBCK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91rm9200_master_layout, data->mck_characteristics, &at91sam9260_mck_lock); @@ -424,7 +427,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + NULL, hw, &at91rm9200_master_layout, data->mck_characteristics, &at91sam9260_mck_lock, @@ -434,21 +437,22 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_MCK] = hw; - hw = at91rm9200_clk_register_usb(regmap, "usbck", "pllbck", NULL, usb_div); - if (IS_ERR(hw)) + usbck_hw = at91rm9200_clk_register_usb(regmap, "usbck", NULL, + at91sam9260_pmc->chws[PMC_PLLBCK], usb_div); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack"; - parent_names[3] = "pllbck"; + parent_hws[0] = slow_xtal_hw; + parent_hws[1] = at91sam9260_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9260_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9260_pmc->chws[PMC_PLLBCK]; for (i = 0; i < data->num_progck; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 4, i, + NULL, parent_hws, 4, i, &at91rm9200_programmable_layout, NULL); if (IS_ERR(hw)) @@ -457,9 +461,22 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + data->sck[0].parent_hw = usbck_hw; + data->sck[1].parent_hw = usbck_hw; + data->sck[2].parent_hw = at91sam9260_pmc->pchws[0]; + data->sck[3].parent_hw = at91sam9260_pmc->pchws[1]; + if (data->num_sck == 6) { + data->sck[4].parent_hw = at91sam9260_pmc->pchws[2]; + data->sck[5].parent_hw = at91sam9260_pmc->pchws[3]; + } + if (data->num_sck == 8) { + data->sck[6].parent_hw = at91sam9260_pmc->chws[PMC_MCK]; + data->sck[7].parent_hw = at91sam9260_pmc->chws[PMC_MCK]; + } for (i = 0; i < data->num_sck; i++) { hw = at91_clk_register_system(regmap, data->sck[i].n, - data->sck[i].p, NULL, + NULL, data->sck[i].parent_hw, data->sck[i].id, 0); if (IS_ERR(hw)) goto err_free; @@ -470,7 +487,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, for (i = 0; i < data->num_pck; i++) { hw = at91_clk_register_peripheral(regmap, data->pck[i].n, - "masterck_div", NULL, + NULL, at91sam9260_pmc->chws[PMC_MCK], data->pck[i].id); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126653 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873791vqo; Wed, 26 Jul 2023 22:53:50 -0700 (PDT) X-Google-Smtp-Source: APBJJlHOIHJUyFqU8xGkiiX3qcJ941A+vIr2nG8X3QySAaX40HWUrX5YJKtdIgIfWSelDipDXj1x X-Received: by 2002:a05:6300:8089:b0:116:d935:f742 with SMTP id ap9-20020a056300808900b00116d935f742mr4961064pzc.20.1690437230495; Wed, 26 Jul 2023 22:53:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437230; cv=none; d=google.com; s=arc-20160816; b=Bz8/qs6yRgJvvqflsSvsOh61r675Uh16UVGs/rElJcoW2wGXG/oBfCGu88+amuSmyu wrEcwP1smtqsIZuvXBgrGh7u7GBRGQ9NF4ekiEbsgNroRJIwhgYgaDemKRz7S13DNspS PYuANydUJSuial2CuNE9gLS4BT3BYD+XypGGIT9ALo92S4X8bsYUtLAEHG8m8TW6v2Rr kZUZuXfBsY0N+QJx1Y6r/d5CXCUUT49KtwIKNUSIJSn4JX2gI7COmYTW67Cw+qruDzj5 2l4ruJGAVazjMZf06VMS/Oh9fA15x1YjpKm0XtPmqpKYZBG49ibd2foboKssSkQKqDBd anww== 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=IPc4xkfMOnwN3v1hN3TZE1CkBeQhVeO0+VXhvPhtWPg=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=TbXC8qf6cWPEl1ieCcYh5kn53WgdcHx+VN8GVT8l3iXW2HD7oooWv0BUCqlzMOKx9T j4nb1d3Hv/giLtXXX1R5HnX4jY+qo4tiC3G9L+Q1fLUIDlwom0szb8zHuK1XRDcXhKhy s9bRcDaYXrPFYjTo5wEHJWJ4jCB39Q3UyTlDtnJYH11nHzMH7oZ+EDF3Bm6tMDD0v17r KkXrkdwMyKXe+RdolpRjPsd0CqRsaL/Gvbf+XQIw0YdXRGZGf+OevHWX62u6GpHuXR8P UCscud7+bEZMwsDPPQy0sVygUgPaNfCLqGUhKc4IaACUIAq510+uA2bhfc7By3aT94Jr GLOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=GMmp5BcX; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by11-20020a056a00400b00b0067a39a4c158si795467pfb.2.2023.07.26.22.53.37; Wed, 26 Jul 2023 22:53:50 -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=@tuxon.dev header.s=google header.b=GMmp5BcX; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231871AbjG0Fge (ORCPT + 99 others); Thu, 27 Jul 2023 01:36:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232019AbjG0Ff6 (ORCPT ); Thu, 27 Jul 2023 01:35:58 -0400 Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 325693584 for ; Wed, 26 Jul 2023 22:35:20 -0700 (PDT) Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1b8ad9eede0so4502475ad.1 for ; Wed, 26 Jul 2023 22:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436102; x=1691040902; 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=IPc4xkfMOnwN3v1hN3TZE1CkBeQhVeO0+VXhvPhtWPg=; b=GMmp5BcXZd9dB3f7uXMLXzpogGD0Qvb2qTdk7XviCAzh1sJjgA89Cm7hs9GVw/wu29 JA7HMRoKd0Tymzjq9Z6A8mdPmDjBh9EVesGrYmnKFbL20CMdb9u+57njwBKvMYwtCa7a SZb+sW4OYK+YrdDxEL/983P9ZSl/KXoNkl4VqRdUhW108Tj+NVgjKVckbKKeXM0isDn4 dDJa0roLpUO76vhPH+sy4a8XQupAh5CAuRPXUq4TpaYrE6lZjIvejCbBdNnsOzj9yKId i4joV5DpVrJIJ2PxJkXxqTvDT+EiKBtSxkT1baX/p/wzzEkydmJ1eNIu/3EiXSVyW9ol Pw2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436102; x=1691040902; 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=IPc4xkfMOnwN3v1hN3TZE1CkBeQhVeO0+VXhvPhtWPg=; b=gNAAD6SHoEo5TclL5UzJhOM/U8UFCJgS++7cn9KhYswDYTiPNAXfu0i/EHRArX7dug wdmwkH8FvJwmBKD9OxMI+SWvMNZ5PjQIwjSnKqHKmONqg3T44Zymlgxfu3UvD2RaHjGw V2iLOCgX57mP9yBzyiyklXWP55tmwmD8oOZxhrWnwrkNmpIJluQSzT4M0kE+rfmfh1Id dZ+b5a1KmBAR3uW2ePmwIzXKgb7Vua4HrUXoSLS0sckEUh8NyAazwL3EXKitrBhMzuTs ZvUCMivmZE/u/NrwqHQFrZ4O09I/Uk6ZbZeZcKXUs+nBH6wfq9kpfTI43t+9fORg+h7o hW5w== X-Gm-Message-State: ABy/qLZpZk2w9HkKwMDdfvCyGh01y7kUpe01wQADMt8WdQFAuNF9XOqm zh4ILVTK6vhK6r5V0h2Vwf1F7/m5uqzomD/xq3rhI35S X-Received: by 2002:a17:902:830c:b0:1bb:83cd:ad83 with SMTP id bd12-20020a170902830c00b001bb83cdad83mr3513348plb.28.1690436101995; Wed, 26 Jul 2023 22:35:01 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.34.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:01 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 21/42] clk: at91: at91sam9g45: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:35 +0300 Message-Id: <20230727053156.13587-22-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551909408205616 X-GMAIL-MSGID: 1772551909408205616 Switch AT91SAM9G45 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9g45.c | 92 +++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index cb98d22c2e30..684ce0f79d3b 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -37,9 +38,9 @@ static const struct clk_pll_characteristics plla_characteristics = { .out = plla_out, }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } at91sam9g45_systemck[] = { @@ -47,10 +48,10 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "uhpck", .id = 6 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, }; struct pck { @@ -92,24 +93,28 @@ static const struct pck at91sam9g45_periphck[] = { static void __init at91sam9g45_pmc_setup(struct device_node *np) { - const char *slck_name, *mainxtal_name; + struct clk_hw *parent_hws[5], *usbck_hw, *hw; + struct clk_hw *slow_clk_hw, *main_xtal_hw; + static struct clk_parent_data parent_data; + const char *main_xtal_name = "main_xtal"; struct pmc_data *at91sam9g45_pmc; - const char *parent_names[6]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -123,40 +128,42 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, bypass); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_rm9200_main(regmap, "mainck", "main_osc", NULL); + hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, hw); if (IS_ERR(hw)) goto err_free; at91sam9g45_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9g45_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); + hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); if (IS_ERR(hw)) goto err_free; at91sam9g45_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck", NULL); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, at91sam9g45_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; at91sam9g45_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9g45_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9g45_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9g45_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91rm9200_master_layout, &mck_characteristics, &at91sam9g45_mck_lock); @@ -164,7 +171,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + NULL, hw, &at91rm9200_master_layout, &mck_characteristics, &at91sam9g45_mck_lock, @@ -174,24 +181,24 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) at91sam9g45_pmc->chws[PMC_MCK] = hw; - parent_names[0] = "plladivck"; - parent_names[1] = "utmick"; - hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, NULL, 2); - if (IS_ERR(hw)) + parent_hws[0] = at91sam9g45_pmc->chws[PMC_PLLACK]; + parent_hws[1] = at91sam9g45_pmc->chws[PMC_UTMI]; + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9g45_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9g45_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9g45_pmc->chws[PMC_UTMI]; + parent_hws[4] = at91sam9g45_pmc->chws[PMC_MCK]; for (i = 0; i < 2; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 5, i, + NULL, parent_hws, 5, i, &at91sam9g45_programmable_layout, NULL); if (IS_ERR(hw)) @@ -200,9 +207,14 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) at91sam9g45_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + at91sam9g45_systemck[0].parent_hw = at91sam9g45_pmc->chws[PMC_MCK]; + at91sam9g45_systemck[1].parent_hw = usbck_hw; + at91sam9g45_systemck[2].parent_hw = at91sam9g45_pmc->pchws[0]; + at91sam9g45_systemck[3].parent_hw = at91sam9g45_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9g45_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9g45_systemck[i].n, - at91sam9g45_systemck[i].p, NULL, + NULL, at91sam9g45_systemck[i].parent_hw, at91sam9g45_systemck[i].id, at91sam9g45_systemck[i].flags); if (IS_ERR(hw)) @@ -214,7 +226,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(at91sam9g45_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91sam9g45_periphck[i].n, - "masterck_div", NULL, + NULL, at91sam9g45_pmc->chws[PMC_MCK], at91sam9g45_periphck[i].id); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126643 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp868734vqo; Wed, 26 Jul 2023 22:42:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlGTfJI1arAS5+YhkUuH6mOK9c0cfHqhskqYkIzP6Pg1ZkskJU4joZK3vv0IkZJXp2MorKho X-Received: by 2002:a81:a091:0:b0:583:a8da:c8a9 with SMTP id x139-20020a81a091000000b00583a8dac8a9mr4147564ywg.35.1690436521849; Wed, 26 Jul 2023 22:42:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436521; cv=none; d=google.com; s=arc-20160816; b=WTYnAcwx/Z4aOT949gYiPnIxDtoDPPtZEj4xHO00FH2a6D9o37iYJmHTMxAm+Cq/H8 gJrashfg8Bi73xinVxMZwzsdJhCk5SJ+e/EO+N4c1wKrBfIdzaSeSePiLEUiDFeQI2FE TlgK+zFqVCREQalg98jy97QbmPTDCQZjDmdL4hjdOkoxdtpcLhVsmL0IgNLmJfLFhxpk 1SGtK2Tts3dPt0Ja0uwXQLeSwbX4XylK3Nukph6wuNjVzIqRL620Mt1tx11qZkHR97J9 CqoNEVpylrl5WdM0Ajh7h/bEmDphmZo+jU0OKdkxyJYtzyUDflo6Ggsk1d73NU7/NMc7 tTvg== 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=8W9kuJkMcvh5EIR1rkxuFuZSM/bg9HqW6C8Akxa9PTk=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=qSJroTcFLjk82n9mBo/MfQqtF4kuW/nwyfvQg8y3pM45XyjDufz6T7ieDV8ePopPQ4 Pl9O0iEGaOdEXG06cFjSMLDo2GZrhcXTUDFQ8g1Lz5tTekp1NGASO3Oy3k3Vam8XJ6Q/ HYNbRyyn8l+bI1VfR1LMKW4cAM6TbxmfrquCguZ/lf505sS6jp0BFTnkD2R4iScdT7um MnaDIwy2vq9VPO8/n2XymgxW/V3011s75dptWuCgUrflnF7rgiF3XnFdl5MshG+3BvS4 aBfa/QdfuEJ5X56XaKdGaAQ/FW/UaRFVDWxHE2n+bhr74LVZDMoizcuqye+XzzKTUdJd cINQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=MAZHn9Fs; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a2-20020a17090a854200b00250ce1755e9si765428pjw.14.2023.07.26.22.41.48; Wed, 26 Jul 2023 22:42:01 -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=@tuxon.dev header.s=google header.b=MAZHn9Fs; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232172AbjG0Fgv (ORCPT + 99 others); Thu, 27 Jul 2023 01:36:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231843AbjG0FgZ (ORCPT ); Thu, 27 Jul 2023 01:36:25 -0400 Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 796C935B7 for ; Wed, 26 Jul 2023 22:35:41 -0700 (PDT) Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-54290603887so306315a12.1 for ; Wed, 26 Jul 2023 22:35:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436109; x=1691040909; 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=8W9kuJkMcvh5EIR1rkxuFuZSM/bg9HqW6C8Akxa9PTk=; b=MAZHn9Fs1Wr+ausou3GNnGfYd0iaJfcvXuvDmVV4J2mG8A+3uOhRVMt8nm3s3Nt6vU bVximShHZdGu014nr4d6xPoEe+l+c8gB2SQAj2TfvLXuBqVMZrTUfXO3kVZn4ZOvoy37 x0jk4RQWC5H2z93dSdPA5LD4AOdc153GcNjevwQAB5OGi4fcIF42ojaYCa+qV2x25ZHg eWXelqBUDlGXQovf3yuKS36D8pj3/kou+O/w3+EPKx7lqAmifruQhFuBlwW2jFYLuced y5y1ktmPRP3ehZnky6767tc4N6Zt/kA1YOOMkB/98vjvqtLovB+iXof5mSGqYcIpMBDk 2mLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436109; x=1691040909; 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=8W9kuJkMcvh5EIR1rkxuFuZSM/bg9HqW6C8Akxa9PTk=; b=UgI5SpatABjQAmaQyR736oZqZ7hOfqvBQZSLjAjZvQLEieC+EhN9Q27pbGJqCaCBQs bcmXRvFyE74YaWAMugV/1D1wxN5BvaN+z8nHTag+mpKm3wdGAcaHbUW7GKW4KCb3r24/ pnPOGkTnGFpxoyQ9x7+wg758eZ0Io58YtA0JpYHelgg79CosENIf3cfD8pfzgpFNL6ds 74M/0lQkzxDu61ty421VwXy2AxZMDfR5PQMIvX8wNCRMrv2iaPey4ulsUbeVDTM/Dwln SMA0xmNYRolhXhn8eoSDvE7HAsNsGGDuG5CpYxN4RU/Iv7XOZBZyXZAV8BsQHL0sqoBS /5Vw== X-Gm-Message-State: ABy/qLaqlrja4EdAaTLosGw5BtT+/+yVQIGdQ/lt4rZH+0q7JTlHsTFH lzqMxei+4uEToRRm0nfStJBocw== X-Received: by 2002:a05:6a20:7347:b0:133:6e6e:2b11 with SMTP id v7-20020a056a20734700b001336e6e2b11mr3207205pzc.2.1690436108919; Wed, 26 Jul 2023 22:35:08 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:08 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 22/42] clk: at91: at91sam9g45: fix checkpatch.pl check Date: Thu, 27 Jul 2023 08:31:36 +0300 Message-Id: <20230727053156.13587-23-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551166243721577 X-GMAIL-MSGID: 1772551166243721577 Fix the following checkpatch.pl check: drivers/clk/at91/at91sam9g45.c:235: CHECK: Please use a blank line after function/struct/union/enum declarations Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9g45.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 684ce0f79d3b..868897fad3f0 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -241,6 +241,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) err_free: kfree(at91sam9g45_pmc); } + /* * The TCB is used as the clocksource so its clock is needed early. This means * this can't be a platform driver. From patchwork Thu Jul 27 05:31:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126644 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp870958vqo; Wed, 26 Jul 2023 22:47:11 -0700 (PDT) X-Google-Smtp-Source: APBJJlGggccAdVHHlMMyQ0buUhWq2YZj5PqMAgIt0FA6MvMHz0mW8M33FuLHqYFVXJB5Xe+e4PjV X-Received: by 2002:a05:6a21:998c:b0:13a:e955:d958 with SMTP id ve12-20020a056a21998c00b0013ae955d958mr4206797pzb.7.1690436830934; Wed, 26 Jul 2023 22:47:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690436830; cv=none; d=google.com; s=arc-20160816; b=FqU/eA+s3on0pMkKSofuHkOQ/O2DgrS3kwl5m5dGZLeB5qTw8rU+8uhJfOcn7EBrEB PFquou29+XXddZ6ow/EI1ABgjaS2o9oB7lXnhB31rwqBkOXQ+nmtLuuRHj33HJjEDK5B lpgVjInUiB6xkbZk6Ki0RpDXTMfem2RDluiI6cVkUzisByiJpAULrc9doqAqafZmQw+u OYZI9yTCoW7v7glkrAafDqwOfjMMRiRSncrwP6QS4IqkCDA93tr6Eonr6S7R9oVbMJ3X VJB5VM11sTqgrf35aYeS9GUfwQmRXFDIKofI/4rZ27GZnqDXPsBBHjJC2n7JdqE+aBrM xuDg== 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=SA2TrheluzQnAFbCVQ+vAz4zJ4LsOThO95zEdvuZGfo=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=sesDy7/xBMXeyK429B9UmQKKM+S8EMd27IRPtBgD16HoG/wn8Fh5SLbO8y9JQ+ZxM9 AvB+cfqqRESv5Tis98vlhIqYrzpfRVoa/9+g1I/hOZ1E9xTwl3lkJ9sb2kuDhf8ONsKO FYwVSlnnTxflDVrUyQpg53m292KEth4nuQYO4++Vf0/kwygdDXpOQ8H3Ebh7sNQRsmTe tNTjGVnmJ2lXV1vgiMCVWoclcEbqYgu99hjs41x3nB6RV9FjL77/w4l3svwIhVjPLB3H G17Y5/P6Lflpw1fZ3DUenk9wwRxPwk1bDALhZJFL2saNuSIr3cQJI4TtX4DbuN32xGlt 5hkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=EkFF4gPw; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j22-20020a63fc16000000b0055c79b73046si615237pgi.494.2023.07.26.22.46.57; Wed, 26 Jul 2023 22:47:10 -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=@tuxon.dev header.s=google header.b=EkFF4gPw; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232138AbjG0FhH (ORCPT + 99 others); Thu, 27 Jul 2023 01:37:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231720AbjG0Fgm (ORCPT ); Thu, 27 Jul 2023 01:36:42 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B0A635AC for ; Wed, 26 Jul 2023 22:35:54 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1b89d47ffb6so3421805ad.2 for ; Wed, 26 Jul 2023 22:35:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436116; x=1691040916; 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=SA2TrheluzQnAFbCVQ+vAz4zJ4LsOThO95zEdvuZGfo=; b=EkFF4gPwxDnbKx/J7LkqyC3bIRRwG52czDWaorcgXR6HrgdZ4jyxRV7FP+wbQJr4RB tn1xQmZIaBehGueBCk18NcjvkUGndC3danISrC3TxPSiyfylohNlZi5lXcqm/4CZOPKl Uttv5Y/8HDk1gLq1quYhFC/6OTM2E4c5Nd4/bTpq8UkAZ4SmACiUdY1FSlKwnH4KBGVR UvoMu3M1vFeBGeM4wH8UARSvJIJDzm6suo5Lznue0tUR1oXn5lnYpllFKIbZpvTPrXBE LGRaF2IpkCoLlwJE+vpLABswUF5IgwCqJqhpXdqzETC4X929DRTCsJ+o6oNLFMsEGjyR 7V4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436116; x=1691040916; 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=SA2TrheluzQnAFbCVQ+vAz4zJ4LsOThO95zEdvuZGfo=; b=eAKuqydojm23LQmqSzMPhZVS6gRAKqJqxfTSE++gAZn5eDMmPGoeyzB2DGHqhfd2BW agikXQuOCUb4b4C4dUQn6JcD1jCj37u6qtvbpVdpZLVs5eEzC9Yx7Wc8NJCPlNu0vwdx lKkqfxn/v1YlgTM5oeFHgxxtRDKCpBMIZf1zkMbYbtlQKAkpJjAiGBXljVB1lUbHqC/j s6NBctZZkGDNULHr5kDdH8/gVctiNmbwVRr6ykI7Y+C+XWFyrhfPfzBmbPkJpU1Aj/AX uqe8VCrNWcviqFH1Y6eHVGV6FKYjPvjkp21DrJkYTiLthhNL57aFK2FVWQY/jmW3o8vY XL/w== X-Gm-Message-State: ABy/qLbL4Q9PHwi06O7cO+spRngYJ8qlf5ddfw3MFSAgKqG/CJ3/IKOd kv0iU4HEt1Woh8kpOySL27mFRA== X-Received: by 2002:a17:902:ee55:b0:1b8:3dec:48de with SMTP id 21-20020a170902ee5500b001b83dec48demr3404846plo.47.1690436116638; Wed, 26 Jul 2023 22:35:16 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:16 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 23/42] clk: at91: at91sam9n12: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:37 +0300 Message-Id: <20230727053156.13587-24-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551490645877287 X-GMAIL-MSGID: 1772551490645877287 Switch AT91SAM9N12 clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9n12.c | 109 +++++++++++++++++++-------------- 1 file changed, 62 insertions(+), 47 deletions(-) diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 34dd7645f964..d8dcff9ffaaa 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -51,9 +52,9 @@ static const struct clk_pll_characteristics pllb_characteristics = { .out = pllb_out, }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; unsigned long flags; u8 id; } at91sam9n12_systemck[] = { @@ -61,12 +62,12 @@ static const struct { * ddrck feeds DDR controller and is enabled by bootloader thus we need * to keep it enabled in case there is no Linux consumer for it. */ - { .n = "ddrck", .p = "masterck_div", .id = 2, .flags = CLK_IS_CRITICAL }, - { .n = "lcdck", .p = "masterck_div", .id = 3 }, - { .n = "uhpck", .p = "usbck", .id = 6 }, - { .n = "udpck", .p = "usbck", .id = 7 }, - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, + { .n = "ddrck", .id = 2, .flags = CLK_IS_CRITICAL }, + { .n = "lcdck", .id = 3 }, + { .n = "uhpck", .id = 6 }, + { .n = "udpck", .id = 7 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, }; static const struct clk_pcr_layout at91sam9n12_pcr_layout = { @@ -111,25 +112,29 @@ static const struct pck at91sam9n12_periphck[] = { static void __init at91sam9n12_pmc_setup(struct device_node *np) { + struct clk_hw *parent_hws[5], *usbck_hw, *main_rc_hw, *main_osc_hw, *hw; + struct clk_hw *slow_clk_hw, *main_xtal_hw; + static struct clk_parent_data parent_data; + const char *main_xtal_name = "main_xtal"; struct clk_range range = CLK_RANGE(0, 0); - const char *slck_name, *mainxtal_name; struct pmc_data *at91sam9n12_pmc; - const char *parent_names[6]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; bool bypass; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -140,50 +145,52 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) if (!at91sam9n12_pmc) return; - hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, - 50000000); - if (IS_ERR(hw)) + main_rc_hw = at91_clk_register_main_rc_osc(regmap, "main_rc_osc", 12000000, + 50000000); + if (IS_ERR(main_rc_hw)) goto err_free; bypass = of_property_read_bool(np, "atmel,osc-bypass"); - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, NULL, - bypass); - if (IS_ERR(hw)) + parent_data.name = main_xtal_name; + parent_data.fw_name = main_xtal_name; + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + bypass); + if (IS_ERR(main_osc_hw)) goto err_free; - parent_names[0] = "main_rc_osc"; - parent_names[1] = "main_osc"; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_names, NULL, 2); + parent_hws[0] = main_rc_hw; + parent_hws[1] = main_osc_hw; + hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); if (IS_ERR(hw)) goto err_free; at91sam9n12_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9n12_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack", NULL); + hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); if (IS_ERR(hw)) goto err_free; at91sam9n12_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", "mainck", NULL, 1, + hw = at91_clk_register_pll(regmap, "pllbck", NULL, at91sam9n12_pmc->chws[PMC_MAIN], 1, &at91rm9200_pll_layout, &pllb_characteristics); if (IS_ERR(hw)) goto err_free; at91sam9n12_pmc->chws[PMC_PLLBCK] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "pllbck"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9n12_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9n12_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9n12_pmc->chws[PMC_PLLBCK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &at91sam9n12_mck_lock); @@ -191,7 +198,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + NULL, hw, &at91sam9x5_master_layout, &mck_characteristics, &at91sam9n12_mck_lock, @@ -201,22 +208,23 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_MCK] = hw; - hw = at91sam9n12_clk_register_usb(regmap, "usbck", "pllbck", NULL); - if (IS_ERR(hw)) + usbck_hw = at91sam9n12_clk_register_usb(regmap, "usbck", NULL, + at91sam9n12_pmc->chws[PMC_PLLBCK]); + if (IS_ERR(usbck_hw)) goto err_free; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "plladivck"; - parent_names[3] = "pllbck"; - parent_names[4] = "masterck_div"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9n12_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9n12_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9n12_pmc->chws[PMC_PLLBCK]; + parent_hws[4] = at91sam9n12_pmc->chws[PMC_MCK]; for (i = 0; i < 2; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 5, i, + NULL, parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) @@ -225,9 +233,16 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + at91sam9n12_systemck[0].parent_hw = at91sam9n12_pmc->chws[PMC_MCK]; + at91sam9n12_systemck[1].parent_hw = at91sam9n12_pmc->chws[PMC_MCK]; + at91sam9n12_systemck[2].parent_hw = usbck_hw; + at91sam9n12_systemck[3].parent_hw = usbck_hw; + at91sam9n12_systemck[4].parent_hw = at91sam9n12_pmc->pchws[0]; + at91sam9n12_systemck[5].parent_hw = at91sam9n12_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9n12_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9n12_systemck[i].n, - at91sam9n12_systemck[i].p, NULL, + NULL, at91sam9n12_systemck[i].parent_hw, at91sam9n12_systemck[i].id, at91sam9n12_systemck[i].flags); if (IS_ERR(hw)) @@ -240,7 +255,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9n12_pcr_layout, at91sam9n12_periphck[i].n, - "masterck_div", NULL, + NULL, at91sam9n12_pmc->chws[PMC_MCK], at91sam9n12_periphck[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) From patchwork Thu Jul 27 05:31:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126660 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp876161vqo; Wed, 26 Jul 2023 23:00:06 -0700 (PDT) X-Google-Smtp-Source: APBJJlFBWO+JyTmaPZ+pEtRxeKw7oXJQzikGNXfU9BZiMLEaaKJijGH3+zTCFWJbk0RFml3XKKm2 X-Received: by 2002:ac2:4e82:0:b0:4fb:7666:3bc0 with SMTP id o2-20020ac24e82000000b004fb76663bc0mr814171lfr.47.1690437605935; Wed, 26 Jul 2023 23:00:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437605; cv=none; d=google.com; s=arc-20160816; b=EPOzU8yTJ97bAPdWHFFeBi9kDPW/PbaUDOIdEj/1ZrDuOdQjTuLUR0ug5HiuBvQF+S n91MsFvvXQFA0ux18EkHiq2budJqNMKSQnHRyvRnC6GHsBqfZ6aWf1o5ZO4IzfaovSdX r9wnQ9sbD12EphOqz7VHTyluobZkXf7spik7izvrbCUoW6RGz7kNgZv2aIKkGlD8UpD/ VZWM7g5bv9czfbPf0CL0GH4W2ZWWbyI0Utn4aH+uAEA12+HQz9WfpHF5MCpxEFPiysDW DswDy1MouEATDg2tU1XetfW4yAMCxdLzy4hUX46R8FBX4RpiNHslwh+sZYz6TlgQ21+9 5RoQ== 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=GiPKeEp/OnJVAeiXOlEa57rkvX7TbeABjU0rqvFwffg=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=VETFoypKIGxcWEHhEaAw9uWnKLx/s8/IiH3XQlPfdGwRw6TbC5GL3TdmogS+Q+Yh1N mewFNf8ez0ZxjjA82g+WT+Gt/rdkjcuCdj5yC1MHg8Dle7rpfCYriJtELxGLzyTqeKUw YaDDiFiiHSAt+tea7ZcHZqAvUW8rI9ds5ehD9a5bB1ZZY2Q/S+5LE3ZBCi2MYt+QVQbj r4fv162VfiAZKdFKHEIxZR2QT0BbS43WMJd5rh39E7MOZ69DV7FitlsuQ/3IjQBeJUMM LobX9MdUhiJvKmYV5Ha8DSXCcGUv6FVgv+pktP9dODa/eNmNg+w07USuEQf7pQAiy5GL k3Bw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Gv96cxC9; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q23-20020a170906a09700b00997e71d0377si478071ejy.366.2023.07.26.22.59.41; Wed, 26 Jul 2023 23:00:05 -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=@tuxon.dev header.s=google header.b=Gv96cxC9; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231743AbjG0Fh2 (ORCPT + 99 others); Thu, 27 Jul 2023 01:37:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231722AbjG0FhF (ORCPT ); Thu, 27 Jul 2023 01:37:05 -0400 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 706513C3B for ; Wed, 26 Jul 2023 22:36:15 -0700 (PDT) Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-1bba48b0bd2so3392105ad.3 for ; Wed, 26 Jul 2023 22:36:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436124; x=1691040924; 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=GiPKeEp/OnJVAeiXOlEa57rkvX7TbeABjU0rqvFwffg=; b=Gv96cxC9tN5YDqs7yjb8N7ef2X97pLKH1U6k0a/M+7tHu8ixpB52+7qb1oORhVB0D9 QkghtXksO+DJ6mH9Ou167j/oqRrieRoLajl4KNITe73qT9k0D8MdIjABMwEyBCEnKcm6 5pKAoy2HnAHJeBxmcMndj6w+lRwA7MQgCfWd+dKLXwByYc3pk/Avu9Mq/RWtIptpTATY MhAfL+v0oAo3OUyfTBIk9DZhrtBBPowoCsTF0Pb35LvC4Ay7OqTgUOgPg6Mvob8Fo6UU 1GwTxynTvs7fGBrhezkxYimDWOz9A+a7XXUqAz7hes8x014htOJF3wjy3WLVQmvEJ61w vycQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436124; x=1691040924; 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=GiPKeEp/OnJVAeiXOlEa57rkvX7TbeABjU0rqvFwffg=; b=RISIE2C5FqFC1zjr2AmkonO3ZvCcCJ15JlX2vKb+stUKhvuU7ESJX0E/TBgONLlb7K 5ZTANvClhvnDREwCLO1qPB6g4f2hAIx2l5hOZzga2ljaNkNRyjfTdc8hRcRP0gNrFKMu xMxF3yScwrRHCUbHbpCIFzZIu9F9zvR3ydZF3+OO0xX/Ej30e6nlne8PaNCBhHvq4PuV b79qikD8Wn0AxaSkzyM2YoUx9VyS8RdnlrWtaXdtnSTvwJX+/6tiZvUIVduoF8GPqyzH UZ4sayp6jx2XqsNxsLzPob98cNXffsLGP3tPAP2hJNTEigBMXcMmO0E+rNJHa3af3bHJ 9xlQ== X-Gm-Message-State: ABy/qLbrQ4sbufVEtJjj0qw//h0lfW5ofqmWjARHffoSSMNRBxb5p+IE y9L/5jRJPPORZsme1S8sbNVv2w== X-Received: by 2002:a17:902:c1d4:b0:1bb:98e8:5db2 with SMTP id c20-20020a170902c1d400b001bb98e85db2mr3420427plc.26.1690436123881; Wed, 26 Jul 2023 22:35:23 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:23 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 24/42] clk: at91: at91sam9n12: remove checkpatch.pl checks Date: Thu, 27 Jul 2023 08:31:38 +0300 Message-Id: <20230727053156.13587-25-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552303491640742 X-GMAIL-MSGID: 1772552303491640742 Remove the following checkpatch.pl checks: drivers/clk/at91/at91sam9n12.c:135: CHECK: Alignment should match open parenthesis drivers/clk/at91/at91sam9n12.c:264: CHECK: Please use a blank line after function/struct/union/enum declarations Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9n12.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index d8dcff9ffaaa..01d943ebb680 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -141,7 +141,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) return; at91sam9n12_pmc = pmc_data_allocate(PMC_PLLBCK + 1, - nck(at91sam9n12_systemck), 31, 0, 2); + nck(at91sam9n12_systemck), 31, 0, 2); if (!at91sam9n12_pmc) return; @@ -271,6 +271,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) err_free: kfree(at91sam9n12_pmc); } + /* * The TCB is used as the clocksource so its clock is needed early. This means * this can't be a platform driver. From patchwork Thu Jul 27 05:31:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126656 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp874313vqo; Wed, 26 Jul 2023 22:55:14 -0700 (PDT) X-Google-Smtp-Source: APBJJlH9/KqPFtBCq3qZBX6QvgolvEuolrHYt8fZ4pCCjpyx7TxBve5C15xJ1ycWQiT0+FtoBAit X-Received: by 2002:a05:6a20:9188:b0:12c:f124:5b72 with SMTP id v8-20020a056a20918800b0012cf1245b72mr4007840pzd.43.1690437313801; Wed, 26 Jul 2023 22:55:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437313; cv=none; d=google.com; s=arc-20160816; b=RErF6MCI3bZllYLkIPsPeI/zT4K0Sgf+s3qmvuJJNXsc6Vz5aEH4d44WRScFLFseUx dEzFQMrH+jaOEiHdUOihyaJD3PTjzvpaq2YeAi88R7UZjlj4cHtJqgtUKdkJtEe9KU4J Wv51oXGSqduALF4x0Jw3wnw20G+IUQLSQMogH2cIbkuEqbLdBLcXIxoZY1+PzS9g8MnS UHrKATe/oQXK6qAYqqaLdfLFO7B0TRdPHsc9RhKv9bDzmd+TVf0qNpztMoRarYwGSHOP hYb08jEHtav7s+mCFEVHzGn+eA9tssuxUXWc7Jt6q5cYwhmeduQr+dro5VS5ziwzmYRd Rl3g== 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=2eV7FwAQnhqmKgtMd0G6R4TLPgqzhAKhV6ZHHlFmK5M=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=YTpSimIrhPWdE6GrPuNKSC1zmL2IjVwuUgHV2sAawCvpmMh6EIvQCiZBGV5ARGlB0T 1UQ8QjK2W5IPftkgelU0JIzK0rnDT2dzx3jcLW5awxGrlGc855tBq403FQtoENJraFAU +1jYRr80Ym78treXrQHgRH6qcPug7Tmfo9N+wORB8u9/IxL/l8guYZJ82HyPUYqWC1i0 39O6cXNRz/9ggC+cHmTO3VeYAHQ0jhkdEY5Jn1wLzv4N1W9zVlb2kr0FnRiOn10/Tx7j NoqGGaoqyXvmnmtyOdabBq+nAtMX1WuhoycASpjncP990ijoV/i505mkIEqTGJHuq5SD 42ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=mra48eD2; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cb8-20020a056a00430800b006688c47e5b4si750614pfb.399.2023.07.26.22.54.59; Wed, 26 Jul 2023 22:55: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=@tuxon.dev header.s=google header.b=mra48eD2; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232127AbjG0Fht (ORCPT + 99 others); Thu, 27 Jul 2023 01:37:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232149AbjG0Fh0 (ORCPT ); Thu, 27 Jul 2023 01:37:26 -0400 Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5EC5E3582 for ; Wed, 26 Jul 2023 22:36:33 -0700 (PDT) Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1b89d47ffb6so3422455ad.2 for ; Wed, 26 Jul 2023 22:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436131; x=1691040931; 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=2eV7FwAQnhqmKgtMd0G6R4TLPgqzhAKhV6ZHHlFmK5M=; b=mra48eD2kN04BmlLuyAEvoEKjENVGmX08ZtHeBWV3TrnVT8w9cDYeNjDK+3LTUo9pg BMHCmE8isRPu0hr1Br50C0+6Dv3T1FQvw1R3Q8iGjbu3mc/1+ctEz37Hto6vI34nn3sd VsXpIHD3auMSYQzDlH6e7Adai3jRYKt3dzxNDWJiXRZirk2k2a8qfbAkGGu/j3PTbjaV RQlKgl8oI8g/eOIUdKJN6x+RB9Xw6gDIQIMDr9WnyydaJv2Kbu3CHdWPztkN7nX+ojDg OKx8pcW2FkGy6WlJPOOYqbUG26xl+6B1LY9oqVX0mutOICzTvJ0lyzsyLfOxgT58bqc6 vf1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436131; x=1691040931; 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=2eV7FwAQnhqmKgtMd0G6R4TLPgqzhAKhV6ZHHlFmK5M=; b=VFb0OBwfpE0HE83EWgCcB8FnQYdqTRN+sKN1ZsBoxr8cnEifDYK19kCidpmyI2qYMf SwzM9py6ZovIA+4Qn9Hm7B/Zchd5qBTkPlLJ1YJYVsykQ2mRABIahpmhOEE0NXa8NQl4 IPF0GQ3C0ZMyBlViZECuhVjZVw9CkTs6IKcjIqWjFLPcrRocdk32dv3uz8GnzXa2GS5D nQaSOYWKDpiASP8Kmq+/wX6j1cTCzQqROndQhSbHPTgvD1swtUXhZ702crkJJi74SbKr nTnoTPzPHxDfJTj84WgQhgEK0uw6I76KXwQ3fU8j8966SzplZtio5RVF8mdPH175JQrt XA/Q== X-Gm-Message-State: ABy/qLbMEIEO6h6ne1CQOp+I0zF4bwp/FhMuzwD2RwJRG8ERu129H5fw Vw+4BxMZ0pxTicNbHIUT0tNJxw== X-Received: by 2002:a17:903:11d1:b0:1bb:7b0a:374 with SMTP id q17-20020a17090311d100b001bb7b0a0374mr4165915plh.4.1690436131299; Wed, 26 Jul 2023 22:35:31 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:31 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 25/42] clk: at91: at91sam9rl: switch to parent_hw Date: Thu, 27 Jul 2023 08:31:39 +0300 Message-Id: <20230727053156.13587-26-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551996970341082 X-GMAIL-MSGID: 1772551996970341082 Switch AT91SAM9RL clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9rl.c | 70 +++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 0e8657aac491..29f24a5b1fef 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -28,13 +29,13 @@ static const struct clk_pll_characteristics sam9rl_plla_characteristics = { .out = sam9rl_plla_out, }; -static const struct { +static struct { char *n; - char *p; + struct clk_hw *parent_hw; u8 id; } at91sam9rl_systemck[] = { - { .n = "pck0", .p = "prog0", .id = 8 }, - { .n = "pck1", .p = "prog1", .id = 9 }, + { .n = "pck0", .id = 8 }, + { .n = "pck1", .id = 9 }, }; static const struct { @@ -67,23 +68,25 @@ static const struct { static void __init at91sam9rl_pmc_setup(struct device_node *np) { - const char *slck_name, *mainxtal_name; + struct clk_hw *parent_hws[5], *hw, *slow_clk_hw, *main_xtal_hw; + const char *main_xtal_name = "main_xtal"; struct pmc_data *at91sam9rl_pmc; - const char *parent_names[6]; struct regmap *regmap; - struct clk_hw *hw; + struct clk *clk; int i; - i = of_property_match_string(np, "clock-names", "slow_clk"); - if (i < 0) + clk = of_clk_get_by_name(np, "slow_clk"); + if (IS_ERR(clk)) return; - - slck_name = of_clk_get_parent_name(np, i); - - i = of_property_match_string(np, "clock-names", "main_xtal"); - if (i < 0) + slow_clk_hw = __clk_get_hw(clk); + if (!slow_clk_hw) + return; + clk = of_clk_get_by_name(np, main_xtal_name); + if (IS_ERR(clk)) + return; + main_xtal_hw = __clk_get_hw(clk); + if (!main_xtal_hw) return; - mainxtal_name = of_clk_get_parent_name(np, i); regmap = device_node_to_regmap(np); if (IS_ERR(regmap)) @@ -95,13 +98,13 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) if (!at91sam9rl_pmc) return; - hw = at91_clk_register_rm9200_main(regmap, "mainck", mainxtal_name, NULL); + hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, main_xtal_hw); if (IS_ERR(hw)) goto err_free; at91sam9rl_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", "mainck", NULL, 0, + hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9rl_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &sam9rl_plla_characteristics); if (IS_ERR(hw)) @@ -109,18 +112,18 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck", NULL); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, at91sam9rl_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; at91sam9rl_pmc->chws[PMC_UTMI] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack"; - parent_names[3] = "utmick"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9rl_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9rl_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9rl_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - parent_names, NULL, + NULL, parent_hws, &at91rm9200_master_layout, &sam9rl_mck_characteristics, &sam9rl_mck_lock); @@ -128,7 +131,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - "masterck_pres", NULL, + NULL, hw, &at91rm9200_master_layout, &sam9rl_mck_characteristics, &sam9rl_mck_lock, CLK_SET_RATE_GATE, 0); @@ -137,18 +140,18 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_pmc->chws[PMC_MCK] = hw; - parent_names[0] = slck_name; - parent_names[1] = "mainck"; - parent_names[2] = "pllack"; - parent_names[3] = "utmick"; - parent_names[4] = "masterck_div"; + parent_hws[0] = slow_clk_hw; + parent_hws[1] = at91sam9rl_pmc->chws[PMC_MAIN]; + parent_hws[2] = at91sam9rl_pmc->chws[PMC_PLLACK]; + parent_hws[3] = at91sam9rl_pmc->chws[PMC_UTMI]; + parent_hws[4] = at91sam9rl_pmc->chws[PMC_MCK]; for (i = 0; i < 2; i++) { char name[6]; snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, 5, i, + NULL, parent_hws, 5, i, &at91rm9200_programmable_layout, NULL); if (IS_ERR(hw)) @@ -157,9 +160,12 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_pmc->pchws[i] = hw; } + /* Set systemck parent hws. */ + at91sam9rl_systemck[0].parent_hw = at91sam9rl_pmc->pchws[0]; + at91sam9rl_systemck[1].parent_hw = at91sam9rl_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9rl_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9rl_systemck[i].n, - at91sam9rl_systemck[i].p, NULL, + NULL, at91sam9rl_systemck[i].parent_hw, at91sam9rl_systemck[i].id, 0); if (IS_ERR(hw)) goto err_free; @@ -170,7 +176,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(at91sam9rl_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91sam9rl_periphck[i].n, - "masterck_div", NULL, + NULL, at91sam9rl_pmc->chws[PMC_MCK], at91sam9rl_periphck[i].id); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126662 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp877438vqo; Wed, 26 Jul 2023 23:01:56 -0700 (PDT) X-Google-Smtp-Source: APBJJlHm8MFu3eQkKH+4vHXMTjx/OXLUYYs+i7bH50OLCDSu3OZ2BuawpvAp60keRt2hlJBcQdDM X-Received: by 2002:a17:906:749c:b0:99b:c0da:5028 with SMTP id e28-20020a170906749c00b0099bc0da5028mr980909ejl.62.1690437716363; Wed, 26 Jul 2023 23:01:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437716; cv=none; d=google.com; s=arc-20160816; b=N6easV+Yu40qe5feTKJxNXgpVuiqiovdu9NcE2bJ6pd+Vcqjj3wqKtTHfzadt2Hz7Z Hp0vU6GSEzDzKgrTf/RgxFupXxV//JTwXIOIz/U1IiEajQORrxsAS/rsWc0gmBYi7h0c qV23wsKaZIllqax41mqm6ygaOiWxUiZnmgOqFUhwrFhrR2vPbZG1lPMO8LFEvRKYSFpK a52Kpc5Kl2gf6ccyEhM4jweb3XKI8rHa1ERT1uCnQycW7MNx4s6UGXgNMeIVWvXiDzSP nFuc+6xvRUWFIXzWcQdDw9LU4IU330oObk7f4MQ3ieJc2fxp5eKflIrTsMJNw9YGmuV6 JmUA== 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=yQlXbwoci/ewwucHyWtCCTQ2+X4L0Fz5xsjb1IQcag4=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=EzUnknrv5PPCrrtzdNb6TEKNhM/cKKO0PyiJUuKEPGb+BnG57gafxWwCzxghjrYLmf lZdyMhKO9W+ISt1ScWOd1s189WiGB2YiwXIv1BNtuW46CPHVRW1RzLi7pSgNV0sPt40q i5LvoIZvVlbFrkfbzyOLnrm5R6KJP0dhLsrL9NCiNpedCL0s/f6sBaTjPdAwqqyqGVEk gafv+481m+IG4KG4+qHRRrGTxaASphXhEXRysYx4Jru6iy+nlB8OWYcAeCWDi+vEFKbF UAQJ6gR0pS/aNf6+DSxtYus3qZ6OvFh6J5GltN2yk/4RjKhE2CwTD5UB/PJ1/9h2ISEL rkUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Bg5yjQAj; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y20-20020a17090629d400b00992f1a3b9dcsi482763eje.845.2023.07.26.23.01.32; Wed, 26 Jul 2023 23:01:56 -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=@tuxon.dev header.s=google header.b=Bg5yjQAj; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232051AbjG0FiV (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231157AbjG0Fhv (ORCPT ); Thu, 27 Jul 2023 01:37:51 -0400 Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93B362728 for ; Wed, 26 Jul 2023 22:37:00 -0700 (PDT) Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1bb775625e2so3332315ad.1 for ; Wed, 26 Jul 2023 22:37:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436139; x=1691040939; 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=yQlXbwoci/ewwucHyWtCCTQ2+X4L0Fz5xsjb1IQcag4=; b=Bg5yjQAjktp2tJN/SXnI4Hbxj/NHVgUV4xq2Aq1auahzR1Uc+3pqQO1aOt8K2rE2Vh 9S/5SYQbxmkPVwaFQQqurFrabLky1ex30remLU9wCYUbRBhdwNmgsqQCMP9pjh3qJOaF RlLL5pfKUQ6F/HOrNjjebOXkb3+9ZdefSZVrAQiQ7MCW64ortIe3AMxkBysncZBoy/i/ o207ddtT7pYA7NCUIxD/m1AnPWwcjDV31mYa56A9BAD4V1a17UlN23zqU20OAfZ4wcYc IU89p/pQyc9/M6cNV31hcc4J1CoWIi0FSAGWlb73PvUJbjB14GYUhq6oQpRS8852jBn4 YwdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436139; x=1691040939; 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=yQlXbwoci/ewwucHyWtCCTQ2+X4L0Fz5xsjb1IQcag4=; b=lV53i/UP+JVdUZ4S59CN9LwY3QJdfro5MAoVifPCunewrJBfVOgPab1Kq4LOZgYCnu GRoByEwJY2xIdHPei+SHHdJkX+AOFS08kBmD8TtS/LDnLJwYm+8PGZW+yAenyILM4tzx 5B/1ZiwIsLbVxp+Q2uI2XadQyeBpp3wr0JdSetO25TArc2bJhgViyxPPFcIkfUjTejC7 Kh6fAO1n1ea7POuFMgVW/WkuQagVsqetzg6H5oOMG797FtuR+QjMXPA6q2DCku3zqxp7 Ot6LkM13XdL4kShLoBxQfoBLDN/zBj8EQOGp7o1p+eflF78QKGaP5wWdFv5zGPuqs6Fn o2Nw== X-Gm-Message-State: ABy/qLZ8oXf5nydREFncjuGptJMte1hW9mk8JYaYnNfZp9ssYT17mMRZ TYp65HcmJYaiYNEvZ7ZXiHfzLw== X-Received: by 2002:a17:902:8c86:b0:1b8:c63:4b79 with SMTP id t6-20020a1709028c8600b001b80c634b79mr1658635plo.19.1690436138684; Wed, 26 Jul 2023 22:35:38 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:38 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 26/42] clk: at91: dt-compat: switch to parent_hw and parent_data Date: Thu, 27 Jul 2023 08:31:40 +0300 Message-Id: <20230727053156.13587-27-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_FILL_THIS_FORM_SHORT,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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552418960931346 X-GMAIL-MSGID: 1772552418960931346 Switch old dt-compat clocks to use parent_hw and parent_data. Having parent_hw instead of parent names improves to clock registration speed and re-parenting. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/dt-compat.c | 328 +++++++++++++++++++++++++---------- 1 file changed, 232 insertions(+), 96 deletions(-) diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index dbc59ac44828..044e1fc821e2 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include @@ -29,11 +30,11 @@ static DEFINE_SPINLOCK(mck_lock); #ifdef CONFIG_HAVE_AT91_AUDIO_PLL static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np) { - struct clk_hw *hw; + struct clk_hw *hw, *parent_hw; const char *name = np->name; - const char *parent_name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; parent_np = of_get_parent(np); regmap = syscon_node_to_regmap(parent_np); @@ -41,9 +42,15 @@ static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np) if (IS_ERR(regmap)) return; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; - hw = at91_clk_register_audio_pll_frac(regmap, name, parent_name, NULL); + hw = at91_clk_register_audio_pll_frac(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -55,11 +62,11 @@ CLK_OF_DECLARE(of_sama5d2_clk_audio_pll_frac_setup, static void __init of_sama5d2_clk_audio_pll_pad_setup(struct device_node *np) { - struct clk_hw *hw; + struct clk_hw *hw, *parent_hw; const char *name = np->name; - const char *parent_name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; parent_np = of_get_parent(np); regmap = syscon_node_to_regmap(parent_np); @@ -67,9 +74,15 @@ static void __init of_sama5d2_clk_audio_pll_pad_setup(struct device_node *np) if (IS_ERR(regmap)) return; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; - hw = at91_clk_register_audio_pll_pad(regmap, name, parent_name, NULL); + hw = at91_clk_register_audio_pll_pad(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -81,11 +94,11 @@ CLK_OF_DECLARE(of_sama5d2_clk_audio_pll_pad_setup, static void __init of_sama5d2_clk_audio_pll_pmc_setup(struct device_node *np) { - struct clk_hw *hw; + struct clk_hw *hw, *parent_hw; const char *name = np->name; - const char *parent_name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; parent_np = of_get_parent(np); regmap = syscon_node_to_regmap(parent_np); @@ -93,9 +106,15 @@ static void __init of_sama5d2_clk_audio_pll_pmc_setup(struct device_node *np) if (IS_ERR(regmap)) return; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; - hw = at91_clk_register_audio_pll_pmc(regmap, name, parent_name, NULL); + hw = at91_clk_register_audio_pll_pmc(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -126,18 +145,26 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np) int num; u32 id; const char *name; - struct clk_hw *hw; - unsigned int num_parents; - const char *parent_names[GENERATED_SOURCE_MAX]; + struct clk_hw *hw, *parent_hws[GENERATED_SOURCE_MAX]; + unsigned int num_parents, i; struct device_node *gcknp, *parent_np; struct clk_range range = CLK_RANGE(0, 0); struct regmap *regmap; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > GENERATED_SOURCE_MAX) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < num_parents; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } num = of_get_child_count(np); if (!num || num > PERIPHERAL_MAX) @@ -171,7 +198,7 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np) hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &dt_pcr_layout, name, - parent_names, NULL, NULL, + NULL, parent_hws, NULL, num_parents, id, &range, chg_pid); if (IS_ERR(hw)) @@ -187,11 +214,11 @@ CLK_OF_DECLARE(of_sama5d2_clk_generated_setup, "atmel,sama5d2-clk-generated", #ifdef CONFIG_HAVE_AT91_H32MX static void __init of_sama5d4_clk_h32mx_setup(struct device_node *np) { - struct clk_hw *hw; + struct clk_hw *hw, *parent_hw; const char *name = np->name; - const char *parent_name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; parent_np = of_get_parent(np); regmap = syscon_node_to_regmap(parent_np); @@ -199,9 +226,15 @@ static void __init of_sama5d4_clk_h32mx_setup(struct device_node *np) if (IS_ERR(regmap)) return; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; - hw = at91_clk_register_h32mx(regmap, name, parent_name, NULL); + hw = at91_clk_register_h32mx(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -217,11 +250,10 @@ CLK_OF_DECLARE(of_sama5d4_clk_h32mx_setup, "atmel,sama5d4-clk-h32mx", static void __init of_sama5d2_clk_i2s_mux_setup(struct device_node *np) { struct regmap *regmap_sfr; - u8 bus_id; - const char *parent_names[2]; + u8 bus_id, i; struct device_node *i2s_mux_np; - struct clk_hw *hw; - int ret; + struct clk_hw *hw, *parent_hws[2] = {}; + struct clk *clk; regmap_sfr = syscon_regmap_lookup_by_compatible("atmel,sama5d2-sfr"); if (IS_ERR(regmap_sfr)) @@ -234,16 +266,26 @@ static void __init of_sama5d2_clk_i2s_mux_setup(struct device_node *np) if (bus_id > I2S_BUS_NR) continue; - ret = of_clk_parent_fill(i2s_mux_np, parent_names, 2); - if (ret != 2) + for (i = 0; i < 2; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + break; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + break; + } + if (!parent_hws[1]) continue; hw = at91_clk_i2s_mux_register(regmap_sfr, i2s_mux_np->name, - parent_names, NULL, 2, bus_id); + NULL, parent_hws, 2, bus_id); if (IS_ERR(hw)) continue; of_clk_add_hw_provider(i2s_mux_np, of_clk_hw_simple_get, hw); + + parent_hws[1] = NULL; } } CLK_OF_DECLARE(sama5d2_clk_i2s_mux, "atmel,sama5d2-clk-i2s-mux", @@ -258,6 +300,7 @@ static void __init of_at91rm9200_clk_main_osc_setup(struct device_node *np) struct regmap *regmap; bool bypass; struct device_node *parent_np; + static struct clk_parent_data parent_data; of_property_read_string(np, "clock-output-names", &name); bypass = of_property_read_bool(np, "atmel,osc-bypass"); @@ -269,7 +312,9 @@ static void __init of_at91rm9200_clk_main_osc_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91_clk_register_main_osc(regmap, name, parent_name, NULL, bypass); + parent_data.name = parent_name; + parent_data.fw_name = parent_name; + hw = at91_clk_register_main_osc(regmap, name, NULL, &parent_data, bypass); if (IS_ERR(hw)) return; @@ -308,13 +353,12 @@ CLK_OF_DECLARE(at91sam9x5_clk_main_rc_osc, "atmel,at91sam9x5-clk-main-rc-osc", static void __init of_at91rm9200_clk_main_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_name; + struct clk_hw *hw, *parent_hw; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; - parent_name = of_clk_get_parent_name(np, 0); of_property_read_string(np, "clock-output-names", &name); parent_np = of_get_parent(np); @@ -323,7 +367,15 @@ static void __init of_at91rm9200_clk_main_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91_clk_register_rm9200_main(regmap, name, parent_name, NULL); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; + + hw = at91_clk_register_rm9200_main(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -334,18 +386,26 @@ CLK_OF_DECLARE(at91rm9200_clk_main, "atmel,at91rm9200-clk-main", static void __init of_at91sam9x5_clk_main_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_names[2]; - unsigned int num_parents; + struct clk_hw *hw, *parent_hws[2]; + unsigned int num_parents, i; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > 2) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < num_parents; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } parent_np = of_get_parent(np); regmap = syscon_node_to_regmap(parent_np); of_node_put(parent_np); @@ -354,7 +414,7 @@ static void __init of_at91sam9x5_clk_main_setup(struct device_node *np) of_property_read_string(np, "clock-output-names", &name); - hw = at91_clk_register_sam9x5_main(regmap, name, parent_names, NULL, + hw = at91_clk_register_sam9x5_main(regmap, name, NULL, parent_hws, num_parents); if (IS_ERR(hw)) return; @@ -393,19 +453,27 @@ static void __init of_at91_clk_master_setup(struct device_node *np, const struct clk_master_layout *layout) { - struct clk_hw *hw; - unsigned int num_parents; - const char *parent_names[MASTER_SOURCE_MAX]; + struct clk_hw *hw, *parent_hws[MASTER_SOURCE_MAX]; + unsigned int num_parents, i; const char *name = np->name; struct clk_master_characteristics *characteristics; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > MASTER_SOURCE_MAX) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < MASTER_SOURCE_MAX; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } of_property_read_string(np, "clock-output-names", &name); @@ -420,12 +488,12 @@ of_at91_clk_master_setup(struct device_node *np, return; hw = at91_clk_register_master_pres(regmap, "masterck_pres", num_parents, - parent_names, NULL, layout, + NULL, parent_hws, layout, characteristics, &mck_lock); if (IS_ERR(hw)) goto out_free_characteristics; - hw = at91_clk_register_master_div(regmap, name, "masterck_pres", NULL, + hw = at91_clk_register_master_div(regmap, name, NULL, hw, layout, characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); if (IS_ERR(hw)) @@ -457,15 +525,19 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type) { int num; u32 id; - struct clk_hw *hw; - const char *parent_name; + struct clk_hw *hw, *parent_hw; const char *name; struct device_node *periphclknp; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; - parent_name = of_clk_get_parent_name(np, 0); - if (!parent_name) + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) return; num = of_get_child_count(np); @@ -490,7 +562,7 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type) if (type == PERIPHERAL_AT91RM9200) { hw = at91_clk_register_peripheral(regmap, name, - parent_name, NULL, id); + NULL, parent_hw, id); } else { struct clk_range range = CLK_RANGE(0, 0); unsigned long flags = 0; @@ -511,8 +583,8 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type) &pmc_pcr_lock, &dt_pcr_layout, name, - parent_name, NULL, + parent_hw, id, &range, INT_MIN, flags); @@ -640,17 +712,23 @@ of_at91_clk_pll_setup(struct device_node *np, const struct clk_pll_layout *layout) { u32 id; - struct clk_hw *hw; + struct clk_hw *hw, *parent_hw; struct regmap *regmap; - const char *parent_name; const char *name = np->name; struct device_node *parent_np; struct clk_pll_characteristics *characteristics; + struct clk *clk; if (of_property_read_u32(np, "reg", &id)) return; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; of_property_read_string(np, "clock-output-names", &name); @@ -664,7 +742,7 @@ of_at91_clk_pll_setup(struct device_node *np, if (!characteristics) return; - hw = at91_clk_register_pll(regmap, name, parent_name, NULL, id, layout, + hw = at91_clk_register_pll(regmap, name, NULL, parent_hw, id, layout, characteristics); if (IS_ERR(hw)) goto out_free_characteristics; @@ -707,13 +785,19 @@ CLK_OF_DECLARE(sama5d3_clk_pll, "atmel,sama5d3-clk-pll", static void __init of_at91sam9x5_clk_plldiv_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_name; + struct clk_hw *hw, *parent_hw; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; of_property_read_string(np, "clock-output-names", &name); @@ -723,7 +807,7 @@ of_at91sam9x5_clk_plldiv_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91_clk_register_plldiv(regmap, name, parent_name, NULL); + hw = at91_clk_register_plldiv(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -739,18 +823,26 @@ of_at91_clk_prog_setup(struct device_node *np, { int num; u32 id; - struct clk_hw *hw; - unsigned int num_parents; - const char *parent_names[PROG_SOURCE_MAX]; + struct clk_hw *hw, *parent_hws[PROG_SOURCE_MAX]; + unsigned int num_parents, i; const char *name; struct device_node *progclknp, *parent_np; struct regmap *regmap; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > PROG_SOURCE_MAX) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < num_parents; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } num = of_get_child_count(np); if (!num || num > (PROG_ID_MAX + 1)) @@ -770,7 +862,7 @@ of_at91_clk_prog_setup(struct device_node *np, name = progclknp->name; hw = at91_clk_register_programmable(regmap, name, - parent_names, NULL, num_parents, + NULL, parent_hws, num_parents, id, layout, mux_table); if (IS_ERR(hw)) continue; @@ -802,18 +894,26 @@ CLK_OF_DECLARE(at91sam9x5_clk_prog, "atmel,at91sam9x5-clk-programmable", static void __init of_at91sam9260_clk_slow_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_names[2]; - unsigned int num_parents; + struct clk_hw *hw, *parent_hws[2]; + unsigned int num_parents, i; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents != 2) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < num_parents; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } parent_np = of_get_parent(np); regmap = syscon_node_to_regmap(parent_np); of_node_put(parent_np); @@ -822,7 +922,7 @@ static void __init of_at91sam9260_clk_slow_setup(struct device_node *np) of_property_read_string(np, "clock-output-names", &name); - hw = at91_clk_register_sam9260_slow(regmap, name, parent_names, NULL, + hw = at91_clk_register_sam9260_slow(regmap, name, NULL, parent_hws, num_parents); if (IS_ERR(hw)) return; @@ -837,18 +937,26 @@ CLK_OF_DECLARE(at91sam9260_clk_slow, "atmel,at91sam9260-clk-slow", static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np) { - struct clk_hw *hw; - unsigned int num_parents; - const char *parent_names[SMD_SOURCE_MAX]; + struct clk_hw *hw, *parent_hws[SMD_SOURCE_MAX]; + unsigned int num_parents, i; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > SMD_SOURCE_MAX) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < num_parents; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } of_property_read_string(np, "clock-output-names", &name); @@ -858,7 +966,7 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9x5_clk_register_smd(regmap, name, parent_names, NULL, + hw = at91sam9x5_clk_register_smd(regmap, name, NULL, parent_hws, num_parents); if (IS_ERR(hw)) return; @@ -873,11 +981,11 @@ static void __init of_at91rm9200_clk_sys_setup(struct device_node *np) { int num; u32 id; - struct clk_hw *hw; + struct clk_hw *hw, *parent_hw; const char *name; struct device_node *sysclknp, *parent_np; - const char *parent_name; struct regmap *regmap; + struct clk *clk; num = of_get_child_count(np); if (num > (SYSTEM_MAX_ID + 1)) @@ -898,7 +1006,13 @@ static void __init of_at91rm9200_clk_sys_setup(struct device_node *np) if (of_property_read_string(np, "clock-output-names", &name)) name = sysclknp->name; - parent_name = of_clk_get_parent_name(sysclknp, 0); + clk = of_clk_get(sysclknp, 0); + if (IS_ERR(clk)) + continue; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + continue; /* * ddrck feeds DDR controller and is enabled by bootloader thus @@ -908,7 +1022,7 @@ static void __init of_at91rm9200_clk_sys_setup(struct device_node *np) if (!strcmp(sysclknp->name, "ddrck")) flags = CLK_IS_CRITICAL; - hw = at91_clk_register_system(regmap, name, parent_name, NULL, + hw = at91_clk_register_system(regmap, name, NULL, parent_hw, id, flags); if (IS_ERR(hw)) continue; @@ -924,18 +1038,26 @@ CLK_OF_DECLARE(at91rm9200_clk_sys, "atmel,at91rm9200-clk-system", static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np) { - struct clk_hw *hw; - unsigned int num_parents; - const char *parent_names[USB_SOURCE_MAX]; + struct clk_hw *hw, *parent_hws[USB_SOURCE_MAX]; + unsigned int num_parents, i; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > USB_SOURCE_MAX) return; - of_clk_parent_fill(np, parent_names, num_parents); + for (i = 0; i < num_parents; i++) { + clk = of_clk_get(np, i); + if (IS_ERR(clk)) + return; + + parent_hws[i] = __clk_get_hw(clk); + if (!parent_hws[i]) + return; + } of_property_read_string(np, "clock-output-names", &name); @@ -945,7 +1067,7 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9x5_clk_register_usb(regmap, name, parent_names, NULL, + hw = at91sam9x5_clk_register_usb(regmap, name, NULL, parent_hws, num_parents); if (IS_ERR(hw)) return; @@ -957,14 +1079,18 @@ CLK_OF_DECLARE(at91sam9x5_clk_usb, "atmel,at91sam9x5-clk-usb", static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_name; + struct clk_hw *hw, *parent_hw; const char *name = np->name; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; - parent_name = of_clk_get_parent_name(np, 0); - if (!parent_name) + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) return; of_property_read_string(np, "clock-output-names", &name); @@ -975,7 +1101,7 @@ static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9n12_clk_register_usb(regmap, name, parent_name, NULL); + hw = at91sam9n12_clk_register_usb(regmap, name, NULL, parent_hw); if (IS_ERR(hw)) return; @@ -986,15 +1112,19 @@ CLK_OF_DECLARE(at91sam9n12_clk_usb, "atmel,at91sam9n12-clk-usb", static void __init of_at91rm9200_clk_usb_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_name; + struct clk_hw *hw, *parent_hw; const char *name = np->name; u32 divisors[4] = {0, 0, 0, 0}; struct regmap *regmap; struct device_node *parent_np; + struct clk *clk; - parent_name = of_clk_get_parent_name(np, 0); - if (!parent_name) + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) return; of_property_read_u32_array(np, "atmel,clk-divisors", divisors, 4); @@ -1008,7 +1138,7 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np) of_node_put(parent_np); if (IS_ERR(regmap)) return; - hw = at91rm9200_clk_register_usb(regmap, name, parent_name, NULL, divisors); + hw = at91rm9200_clk_register_usb(regmap, name, NULL, parent_hw, divisors); if (IS_ERR(hw)) return; @@ -1021,13 +1151,19 @@ CLK_OF_DECLARE(at91rm9200_clk_usb, "atmel,at91rm9200-clk-usb", #ifdef CONFIG_HAVE_AT91_UTMI static void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np) { - struct clk_hw *hw; - const char *parent_name; + struct clk_hw *hw, *parent_hw; const char *name = np->name; struct regmap *regmap_pmc, *regmap_sfr; struct device_node *parent_np; + struct clk *clk; - parent_name = of_clk_get_parent_name(np, 0); + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + return; + + parent_hw = __clk_get_hw(clk); + if (!parent_hw) + return; of_property_read_string(np, "clock-output-names", &name); @@ -1055,7 +1191,7 @@ static void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np) regmap_sfr = NULL; } - hw = at91_clk_register_utmi(regmap_pmc, regmap_sfr, name, parent_name, NULL); + hw = at91_clk_register_utmi(regmap_pmc, regmap_sfr, name, NULL, parent_hw); if (IS_ERR(hw)) return; From patchwork Thu Jul 27 05:31:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126657 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp875096vqo; Wed, 26 Jul 2023 22:57:20 -0700 (PDT) X-Google-Smtp-Source: APBJJlGku7IK85rRcfbI0eM60XMK37gRRan5H/ENUjJY0TfHnXVdT7HD7NzMN+870sgP9OyOcFuI X-Received: by 2002:a17:902:9882:b0:1b8:a720:f513 with SMTP id s2-20020a170902988200b001b8a720f513mr3119729plp.30.1690437440471; Wed, 26 Jul 2023 22:57:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437440; cv=none; d=google.com; s=arc-20160816; b=l/GW6SD+z0eMIdc97AbujISg4rvXRicEk+dZ7srRgv60isZNbm2B9sO+QzAuVXBxfK IEA9qk+l88cPDZ3fip/Yf60EzKQwCydcDokEGerfLwW3wOAWx51PWX77S/Yy2wjduEqv wThUgDxJBXxOyJhCvttbyWETPWt7YlgAybI2O2fzjynSlM1vPGIYVA4fCicL7kXkiWdw slnGIm4X5DFL62xVcrrEcfBZ5hCZprS5ZXSs4T4cKSOuOQvJ2DpbgybqsOgzGXJ7muEk KH5GwQqwxspfSd73Hpdnq/jX8lK9dnlMm1Cgoea2cE2u55ZNdAeDTRE7Gd5GNOZLHJOO u94Q== 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=t8HhL8+T58fsNy2ml6XhMwevzcQUIPpdggE6E7sZkqw=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=UwaA7fMglzz+sEbEvTTyZSSTVLn5M0Ypbs4Vf2pH9os18nZ6KhJZ/7OTVfC3u3h6+E 9bovA1Dr6J54V31yULzx1ZlCKLbktUhVj46PVz/isETKTKhVoKjaljxhafyGJx40qJfu ZuL77/LnLIQtVvFNIsPKKwVyQcdAq3FSuizFk584oemoxreNb/TpM0/P+I4tmgGUfpy7 8qBobftldagaIjMTkAXwCTZAKX0DyjMsSaYRcMsT0ag/npNrk/Bq6SnvUyZjC9Avht8H txZU8H7MPZc7Sp7VRHMLj4ZCdNn4r92PHhXuYNVmRWW9Bn0xuyk5PdkKGKCNP8CRHJeH 0/kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=me5Ao9gm; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lg4-20020a170902fb8400b001bbb175a81asi692241plb.263.2023.07.26.22.57.06; Wed, 26 Jul 2023 22:57:20 -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=@tuxon.dev header.s=google header.b=me5Ao9gm; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231997AbjG0FiQ (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231867AbjG0Fhs (ORCPT ); Thu, 27 Jul 2023 01:37:48 -0400 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C17413C17 for ; Wed, 26 Jul 2023 22:36:59 -0700 (PDT) Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1bbc7b2133fso3478215ad.1 for ; Wed, 26 Jul 2023 22:36:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436146; x=1691040946; 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=t8HhL8+T58fsNy2ml6XhMwevzcQUIPpdggE6E7sZkqw=; b=me5Ao9gm+3uVJoSHfhX5wwMlcbIWGAsrNYGUqwcb9jsJteHJRkJtXFIjvJC1J7c0Ol /FVWm+ZkPd/jxaG0hajJqqdwAeV6b5goie8TnBS0g7F8444cEUpG8tRk1gOjABySbYdT 1CnCn1B1s33naPM4/j8dIO4R6DRy8+o5zMYe8lb9kbcwY/ciLL0sHiPR/ygX0q9Bp9Yc eSmsoYfVXm7nqEdO0sGaBR7Jko07FZ2Gdiq9LbK7iZ2swIrlAHw59Y30f9sAvSb+7hmW pTyHID27hUsSmVQoOAq/FqZsn/4wks8mqwGXy6pmS0nA3sBv+SWNc9v27/o3ILFPn+mS MM9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436146; x=1691040946; 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=t8HhL8+T58fsNy2ml6XhMwevzcQUIPpdggE6E7sZkqw=; b=Gq8o5eG/z9Ukz1xR7QsWFOlXYPTwc9P5ufikPOr8s4EiDR8wqf/PJ7gbchep51kVxm GdPAi93+ta5BaLdQGFCFoEMkccoIQHD2G2rIDfoU4vS0qQpwas94pka6YidYAmqx5l5x fgvjXtyeobylFC2uziAaiorFildCUhul3X/u/otmZ6KNfAnV70DuvJl6F9QgbZ1FKXqd J2lXsQGK0KhI/Z9JQQvWW/FV2axvlRffZkrpL/+bLZLLDYX6RogFvEVSH4bVF/6pF9fe 9wn1Y/5rhX007FTnO9nduHe5FuWhOrZzQWHYRGs+9axhrutye/OaQ3a66/JcI7F28ULa G+1A== X-Gm-Message-State: ABy/qLZaZ9/C2Z9/+VXCA4eyivvssmKyXfPKvCivZ258JW8PlWm5IxKg toczQR7m1Q7Qt2yIM7mZnj1dqw== X-Received: by 2002:a17:902:8a88:b0:1bb:a7bc:37a4 with SMTP id p8-20020a1709028a8800b001bba7bc37a4mr3407360plo.24.1690436145769; Wed, 26 Jul 2023 22:35:45 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:45 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 27/42] clk: at91: clk-audio-pll: remove parent_names support Date: Thu, 27 Jul 2023 08:31:41 +0300 Message-Id: <20230727053156.13587-28-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552129398320134 X-GMAIL-MSGID: 1772552129398320134 Remove parent_names support as parent_hw support is now available on all platforms using clk-audio-pll. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-audio-pll.c | 21 ++++++--------------- drivers/clk/at91/dt-compat.c | 6 +++--- drivers/clk/at91/pmc.h | 6 +++--- drivers/clk/at91/sama5d2.c | 6 +++--- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/drivers/clk/at91/clk-audio-pll.c b/drivers/clk/at91/clk-audio-pll.c index 7a13af95d628..fc08ca53bfad 100644 --- a/drivers/clk/at91/clk-audio-pll.c +++ b/drivers/clk/at91/clk-audio-pll.c @@ -450,7 +450,7 @@ static const struct clk_ops audio_pll_pmc_ops = { struct clk_hw * __init at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { struct clk_audio_frac *frac_ck; struct clk_init_data init = {}; @@ -462,10 +462,7 @@ at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, init.name = name; init.ops = &audio_pll_frac_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE; @@ -483,7 +480,7 @@ at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { struct clk_audio_pad *apad_ck; struct clk_init_data init = {}; @@ -495,10 +492,7 @@ at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, init.name = name; init.ops = &audio_pll_pad_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | CLK_SET_RATE_PARENT; @@ -517,7 +511,7 @@ at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { struct clk_audio_pmc *apmc_ck; struct clk_init_data init = {}; @@ -529,10 +523,7 @@ at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, init.name = name; init.ops = &audio_pll_pmc_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | CLK_SET_RATE_PARENT; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 044e1fc821e2..91bc2fada6ec 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -50,7 +50,7 @@ static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np) if (!parent_hw) return; - hw = at91_clk_register_audio_pll_frac(regmap, name, NULL, parent_hw); + hw = at91_clk_register_audio_pll_frac(regmap, name, parent_hw); if (IS_ERR(hw)) return; @@ -82,7 +82,7 @@ static void __init of_sama5d2_clk_audio_pll_pad_setup(struct device_node *np) if (!parent_hw) return; - hw = at91_clk_register_audio_pll_pad(regmap, name, NULL, parent_hw); + hw = at91_clk_register_audio_pll_pad(regmap, name, parent_hw); if (IS_ERR(hw)) return; @@ -114,7 +114,7 @@ static void __init of_sama5d2_clk_audio_pll_pmc_setup(struct device_node *np) if (!parent_hw) return; - hw = at91_clk_register_audio_pll_pmc(regmap, name, NULL, parent_hw); + hw = at91_clk_register_audio_pll_pmc(regmap, name, parent_hw); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 6816e350d6d6..711b55a6b0ab 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -130,15 +130,15 @@ struct clk_hw *of_clk_hw_pmc_get(struct of_phandle_args *clkspec, void *data); struct clk_hw * __init at91_clk_register_audio_pll_frac(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_audio_pll_pad(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index cdb578059449..3920de445eca 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -233,17 +233,17 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->chws[PMC_PLLACK] = hw; audio_fracck_hw = at91_clk_register_audio_pll_frac(regmap, "audiopll_fracck", - NULL, sama5d2_pmc->chws[PMC_MAIN]); + sama5d2_pmc->chws[PMC_MAIN]); if (IS_ERR(audio_fracck_hw)) goto err_free; - hw = at91_clk_register_audio_pll_pad(regmap, "audiopll_padck", NULL, audio_fracck_hw); + hw = at91_clk_register_audio_pll_pad(regmap, "audiopll_padck", audio_fracck_hw); if (IS_ERR(hw)) goto err_free; sama5d2_pmc->chws[PMC_AUDIOPINCK] = hw; - hw = at91_clk_register_audio_pll_pmc(regmap, "audiopll_pmcck", NULL, audio_fracck_hw); + hw = at91_clk_register_audio_pll_pmc(regmap, "audiopll_pmcck", audio_fracck_hw); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126701 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp908072vqo; Thu, 27 Jul 2023 00:08:05 -0700 (PDT) X-Google-Smtp-Source: APBJJlFnePf2VMs8wHc0OCig0W/tScJn+VqvHqXMPvWszn65YXr5GGStLF5u/KM4oDaEk2JIZl4s X-Received: by 2002:a17:906:310d:b0:969:93f2:259a with SMTP id 13-20020a170906310d00b0096993f2259amr1188366ejx.73.1690441685253; Thu, 27 Jul 2023 00:08:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690441685; cv=none; d=google.com; s=arc-20160816; b=Xr+zAyia25jS9ANddp3HkwqBuVrnsUTVwzXAcBrYhgCzV6p1Zw5kAK4pvSAU9SJ6VS CIAmlRbNQ70MAa2z0l6Rofpq7AHpfMkjnHZq+cz2A/ot6TIItUeGdLeroo2UDSZqkzUm fpvbwjZ2ewm6EOMRdDMAx9LmVrBukQdT3MoDK58hEp907PbWXk4ReraV2vhE0fg4KMPp mhAoGmBgoTFNr8hZKW8If09ozDAbzv9skXPIZBZCC9HuPnMXlpBdDBC5/aMWKDoZ68im 7uvL7+K1CKrQ8uxfcE3o9HHXy83QAmsoHWSXAMRKCCNwm4ANAH3m8oz6TvBbbg6BE2J/ FlNQ== 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=Xp28KzPE+ieFfhPUt9Jo6e3yDprwJgBDl/Tw7iUm9QY=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=EfMKQpg0D/efLutZsLg7sNRH9kthnm2tJ9EosmDNtIq5TIbkqgUpVL5ZkYttt9+wpX lD0TBdKG2e5Ci/f534/Vcj2dzAUVmxOCLAv9h1KtiRs5q+iJsQJLg706Ybl0PbfqKyHy VBIwGZIAi75nKhIWdU3tVI8kqgHsKIsiYcXHvDavJTMOQexrPjTzAwX7DRYax5Q6IECP Ihh95vg5HNRdAalbvbVj/rjaZC3sclvsDYK1cZJJtW1DpWeC2+KpDZcCC/ZqDqV7U7d2 Mss4ZRy1Puh5PO828aF4q6r5d1azNvT/tttBHMt+2PHrUDI1T+Xf7zWkc2Fgp07KuKS9 Srbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b="l/wz+kw1"; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f16-20020a1709067f9000b0099316735a60si577476ejr.1042.2023.07.27.00.07.42; Thu, 27 Jul 2023 00:08:05 -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=@tuxon.dev header.s=google header.b="l/wz+kw1"; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232210AbjG0Fia (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232283AbjG0FiB (ORCPT ); Thu, 27 Jul 2023 01:38:01 -0400 Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52B962D5F for ; Wed, 26 Jul 2023 22:37:12 -0700 (PDT) Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-1bba7717d3bso469779fac.1 for ; Wed, 26 Jul 2023 22:37:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436153; x=1691040953; 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=Xp28KzPE+ieFfhPUt9Jo6e3yDprwJgBDl/Tw7iUm9QY=; b=l/wz+kw1GJMRBj7tsp/sNDXv0czPU+bDH78cW2IpD0LbCvy5qy5joTEc9WIdlIY6Gu lFKHVnKW+Q5XNjpyLx6wSaIA6o2HFfv3AXsTThRRubOhxNWOvBy6wCEaXsMZ3cvK69Lq h/Q1XGjpLy6hJ0A2Unz0Hc7e2oPT9Qp+9yd5RBN2KxQk82BIt5BB/FLHUVJKWEWdfJnY N7wTns67f6gHWF83hOnmvr9weAGtquUqGSd6c4dq01r+ZJylJZcPXoouZ3FQxgNW0nmL 3ZocZsftwM8BMXRduAJn5W9c2sby7WUB8k8zHcLkEo9XxBWoNUqUO90p6Y9lSS7LKoZB FNiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436153; x=1691040953; 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=Xp28KzPE+ieFfhPUt9Jo6e3yDprwJgBDl/Tw7iUm9QY=; b=i/wvts9Piy9H93ThLf2IG42sSEliUlk7xdPWM4RFEgjzVI7N/G1HoOHnkfb2zIkfcq RqHuNNYIghUtmoJtSO+9yPx+mepJfkOvUlqrrTDRX8LekH9u+A96ZnBxMlTXgDCguhgX w+tp1I5boqHN5SoA6862XDN5ZC9B6Bp1ATvz7hNFnbIiGg+amn9C5XFyGr3i/at5SwHy o5qK17ClbWEisfyimab7rQES/zdVj43rRhla2J2hgRzDNcnZfKMmAu2az0RjsD9O26RC vGOSRjcQzy0H48PbvCaItY2ZUHC9iWPSNhNJ5tNEEd9sNeZF4QhHmlh4l6jgXrp58IGb 5zww== X-Gm-Message-State: ABy/qLaF7znDD/VFWDnPx+3+SnSoCo3LK6YYeFMemi7Di3SapNiw8ysM KthrqcAnj4a/CVNK16i7yWMvNA== X-Received: by 2002:a05:6871:68a:b0:1b7:6039:4c97 with SMTP id l10-20020a056871068a00b001b760394c97mr1923408oao.16.1690436152911; Wed, 26 Jul 2023 22:35:52 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:52 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 28/42] clk: at91: clk-generated: remove parent_names support Date: Thu, 27 Jul 2023 08:31:42 +0300 Message-Id: <20230727053156.13587-29-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772556580640349841 X-GMAIL-MSGID: 1772556580640349841 Remove parent_names support as parent_hw support is now available on all platforms using clk-generated driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-generated.c | 10 +++------- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 3 +-- drivers/clk/at91/sam9x60.c | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama7g5.c | 2 +- 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c index 4b4edeecc889..042553c7118a 100644 --- a/drivers/clk/at91/clk-generated.c +++ b/drivers/clk/at91/clk-generated.c @@ -318,8 +318,7 @@ static void clk_generated_startup(struct clk_generated *gck) struct clk_hw * __init at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, const struct clk_pcr_layout *layout, - const char *name, const char **parent_names, - struct clk_hw **parent_hws, + const char *name, struct clk_hw **parent_hws, u32 *mux_table, u8 num_parents, u8 id, const struct clk_range *range, int chg_pid) @@ -329,7 +328,7 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, struct clk_hw *hw; int ret; - if (!(parent_names || parent_hws)) + if (!parent_hws) return ERR_PTR(-ENOMEM); gck = kzalloc(sizeof(*gck), GFP_KERNEL); @@ -338,10 +337,7 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, init.name = name; init.ops = &generated_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE; if (chg_pid >= 0) diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 91bc2fada6ec..816a7ee353d6 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -198,7 +198,7 @@ static void __init of_sama5d2_clk_generated_setup(struct device_node *np) hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &dt_pcr_layout, name, - NULL, parent_hws, NULL, + parent_hws, NULL, num_parents, id, &range, chg_pid); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 711b55a6b0ab..87ba2586d5e5 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -143,8 +143,7 @@ at91_clk_register_audio_pll_pmc(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, const struct clk_pcr_layout *layout, - const char *name, const char **parent_names, - struct clk_hw **parent_hws, u32 *mux_table, + const char *name, struct clk_hw **parent_hws, u32 *mux_table, u8 num_parents, u8 id, const struct clk_range *range, int chg_pid); diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index 930b4515a1dd..43997f686b87 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -363,7 +363,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &sam9x60_pcr_layout, sam9x60_gck[i].n, - NULL, parent_hws, NULL, 6, + parent_hws, NULL, 6, sam9x60_gck[i].id, &sam9x60_gck[i].r, INT_MIN); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 3920de445eca..2d4bf9e1a79c 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -371,7 +371,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_gck[i].n, - NULL, parent_hws, NULL, 6, + parent_hws, NULL, 6, sama5d2_gck[i].id, &sama5d2_gck[i].r, sama5d2_gck[i].chg_pid); diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index 16e458be8304..b2d27193741b 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1235,7 +1235,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, &sama7g5_pcr_layout, - sama7g5_gck[i].n, NULL, + sama7g5_gck[i].n, parent_hws, mux_table, num_parents, sama7g5_gck[i].id, From patchwork Thu Jul 27 05:31:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126683 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp895687vqo; Wed, 26 Jul 2023 23:41:05 -0700 (PDT) X-Google-Smtp-Source: APBJJlHXbqUZc6yXH+mt4869LRUlPFjFEpXRAixo6JwNNByyRn4XKkhgJ2I/0t1b4E0HZr+R5mdp X-Received: by 2002:a17:907:75d5:b0:992:c5ad:18bc with SMTP id jl21-20020a17090775d500b00992c5ad18bcmr1058819ejc.70.1690440065009; Wed, 26 Jul 2023 23:41:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690440064; cv=none; d=google.com; s=arc-20160816; b=tp8LH+FWAKy1Z70u2fZ9AemoTNP5Xufe5WJLY3JXfjpqT4eY8mKG9jcu/FPpAT78+g 6XuwQYZGS0bLwwtLhXwqOEpCRhL+YFIuw3c/D0DuKooU416t/oI6n+XfZHJtrLa52L+9 MBLUzdHOTChP4DRS2CpguyGpGfJqezWiiQfQnEZpFRE1FoeeGwXq1+63hfcwe9ZGSwWF FrT21A04EA0ozAnr+b0ILAGbvwc519Dg7REaGnl5K/P9rXT9B0zXYZ0Gyfpi8FgV/oKp e3E0JWJeISQsAad/2iKQq8/+iJJlQWwaqqvDYk1eeapj628Hn+zzJwbuuZF5vejIkh8O iaUA== 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=tZjA/S5rkAI45EIQ8pwCaKfyj6nPmHrCItt9RJLE9cc=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=ATFhwreD/Lla9v/bXvm97xGBVg7SvOhgfg9cn7b0BZuZewmzcFyLGYk+AbN/c3L3In eapdAQpYXZx4oT8Uy4LjR7ytWSPx7VEBuuVqP7L2laKzXBGSUqFOnwgEBGpK6ng4fe4x qYuv1DSgoUH2h5/7oEIfi4ZipmFNH59gFLn0fQdlbuAo6tJeJD4w9SrA+nfC6wYmntDP b1tspgOS7Us6DsFXkRaG6lhXm+Xbqrw9S/I0WKzvIBof35enfvR2omLBA/15H4qG5cGk KCsAq086osEDhokrzldI65/+4BY6c+IHimWBmLywKpWvcfrKUVBE6aZpv0vUfkizLX+s Ns5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=nTtP8b9C; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by24-20020a170906a2d800b0099b4e5359besi533954ejb.4.2023.07.26.23.40.41; Wed, 26 Jul 2023 23:41: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=@tuxon.dev header.s=google header.b=nTtP8b9C; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232185AbjG0FiZ (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232173AbjG0Fh4 (ORCPT ); Thu, 27 Jul 2023 01:37:56 -0400 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AC5730F0 for ; Wed, 26 Jul 2023 22:37:04 -0700 (PDT) Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1b89d47ffb6so3423605ad.2 for ; Wed, 26 Jul 2023 22:37:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436160; x=1691040960; 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=tZjA/S5rkAI45EIQ8pwCaKfyj6nPmHrCItt9RJLE9cc=; b=nTtP8b9CSgkFgg32JpTd5UHEzmEllvNl41ff0GI36YGsZVfI3unXLhJLIfWPqssdfD jdyh/9kZ7JDeSIlZYrP+ViHnPDab+yF29x9F+0BoSRprtm7GLcATD59n2LpAg5+fyX05 RAhZrJe6gy/RJ7pM+LD8SCXqw5xKJq4uiwmEqXvBPJ7zK5uoHuebdv5a0sLJl7oyf6YM MuPXrerqClkfQtsWkKFmtpoJ88AluPHl4mR09XuwWWu+Z+lidskXoYFVxW054tmzrVwc qFdeVFs5yZ55zdlhcnmPbfUN2gdQmRfuerF6raRQ9lQV5JlbgwjBQGzRKhVh43An3lY/ 9jow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436160; x=1691040960; 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=tZjA/S5rkAI45EIQ8pwCaKfyj6nPmHrCItt9RJLE9cc=; b=ISvEq1Gco0JwiLxs2e4W4QokL6PMvqf1iuiLquxHZ8EJecRCZ8WVWiFRdPE7HXiuta oxWu0i3RoJOazAUM97QF8y2pYag0H3+IJ0dCc8dm1LxiJTZVKEOyE7N7pAYrUMVkwaxO B5q9QMKnPF02SJNeK9lVduIrm4inQMtN5kyOGGoG2epsZUne942ybsxPjyHFm+aaXaFZ Qk6M8aGm7Mx9YMs3OGtlkhkU/VbZd0NTEmzlHq+0nwbf429XQFL1ADZCMOeqPqBqzjtS cW9vI9ZWjE0lVWHoTX2XUzezKAcFDy2eVa2MXggBMdrBvuFDivxW0/3/6wvHdbVfuXAG 3ftQ== X-Gm-Message-State: ABy/qLY2DyN/McwSlUb1ra13ZL9asJf3EwJGeuSdIqBE1XrT7ATiHg/9 kC76bBw70SW+5y+7PtPie+Vj/A== X-Received: by 2002:a17:902:db09:b0:1ba:fe63:6616 with SMTP id m9-20020a170902db0900b001bafe636616mr3831454plx.6.1690436160099; Wed, 26 Jul 2023 22:36:00 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.35.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:35:59 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 29/42] clk: at91: clk-h32mx: remove parent_names support Date: Thu, 27 Jul 2023 08:31:43 +0300 Message-Id: <20230727053156.13587-30-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554881355118546 X-GMAIL-MSGID: 1772554881355118546 Remove parent_names support as parent_hw support is now available on all platforms using clk-h32mx driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-h32mx.c | 11 +++-------- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/clk/at91/clk-h32mx.c b/drivers/clk/at91/clk-h32mx.c index d7cdade56454..0e139bf731ec 100644 --- a/drivers/clk/at91/clk-h32mx.c +++ b/drivers/clk/at91/clk-h32mx.c @@ -83,7 +83,7 @@ static const struct clk_ops h32mx_ops = { struct clk_hw * __init at91_clk_register_h32mx(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { struct clk_sama5d4_h32mx *h32mxclk; struct clk_init_data init = {}; @@ -95,13 +95,8 @@ at91_clk_register_h32mx(struct regmap *regmap, const char *name, init.name = name; init.ops = &h32mx_ops; - if (parent_hw) { - init.parent_hws = (const struct clk_hw **)&parent_hw; - init.num_parents = 1; - } else { - init.parent_names = parent_name ? &parent_name : NULL; - init.num_parents = parent_name ? 1 : 0; - } + init.parent_hws = parent_hw ? (const struct clk_hw **)&parent_hw : NULL; + init.num_parents = parent_hw ? 1 : 0; init.flags = CLK_SET_RATE_GATE; h32mxclk->hw.init = &init; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 816a7ee353d6..058b65c2d88d 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -234,7 +234,7 @@ static void __init of_sama5d4_clk_h32mx_setup(struct device_node *np) if (!parent_hw) return; - hw = at91_clk_register_h32mx(regmap, name, NULL, parent_hw); + hw = at91_clk_register_h32mx(regmap, name, parent_hw); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 87ba2586d5e5..11f7ab4d1ad8 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -149,7 +149,7 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, struct clk_hw * __init at91_clk_register_h32mx(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 2d4bf9e1a79c..93c646e0b6ef 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -280,7 +280,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc->chws[PMC_MCK] = hw; - hw = at91_clk_register_h32mx(regmap, "h32mxck", NULL, sama5d2_pmc->chws[PMC_MCK]); + hw = at91_clk_register_h32mx(regmap, "h32mxck", sama5d2_pmc->chws[PMC_MCK]); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index ac7565b26dce..b4375cb1c3f3 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -220,7 +220,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) sama5d4_pmc->chws[PMC_MCK] = hw; - hw = at91_clk_register_h32mx(regmap, "h32mxck", NULL, sama5d4_pmc->chws[PMC_MCK]); + hw = at91_clk_register_h32mx(regmap, "h32mxck", sama5d4_pmc->chws[PMC_MCK]); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126649 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873149vqo; Wed, 26 Jul 2023 22:52:16 -0700 (PDT) X-Google-Smtp-Source: APBJJlEvqeyxre0h4VVXZmuQq1QfRy5yNGjbGrK1wCAhNpLLqX2DANCQgXp6k7F7EFeY3XnPxcv3 X-Received: by 2002:a05:6358:428b:b0:134:cbff:c5a4 with SMTP id s11-20020a056358428b00b00134cbffc5a4mr1425266rwc.18.1690437135985; Wed, 26 Jul 2023 22:52:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437135; cv=none; d=google.com; s=arc-20160816; b=muSwezagy/9yXkdTEgY411T2Es/xByvd1BcPdvazoP41fCRfFObgtTcYHTixILLZOb KcykWt2n0PqBB7LyxpkC2gWWIeLHHbx05Dpf9WDY5f3PNBA+uzlzdzexZJe8trRCt6Fs vJAvMuWgacBCDAXRHU350zhofewu5zE646tIJ0f4bJs98ln+2/SkytKCRoYNNYMpVCs8 xao+7j5AOMps46iNctvFsWXu6Bz5uECabDzgnV48y70qSQwzE0nN8Lh83ICLVkPiZzk4 CgeMgVr7gWipKU+1mvl+DNjktXccsSJUwj3b/9/FXFZtc59Id6JCb6uxNMQQt0Qr3lOt y6fA== 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=WeeIlCY0YkV9dl6D14N0gEidgFKUnfmPXMsUhAICJi0=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=bCWB36pBlP0AVoGQKZ04o9cF3qG7AdfNruhoHtRX1MsUOz4eIBWtXT7YpsjvMDS9kf xaWSctm191oKitmsM0Fi/STd2pYEXWR7hC2czRN40KXzu7h4AgNQbBDduUxNcffg1qDZ YG2xfOmEjGPBW46/N2idhHL2Q+FaALu3DRg+VZnnO1Cc73e38c6+30elq7eWOgpZxAHZ zq3tQ9L1qUq/RGPjlGycTyGtAEv4uuSzN/tirySMvpmjQ1SdBb0wJ9Mu/IkRL71H13hp yqCeahsLArk7LNs4A6BZHfdeyYdWRNYbZbvNHfBc8jzi42xMptxqHDX10XZFf2mLYyXc iJ+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=ccDxRKhV; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p190-20020a6342c7000000b0055aeedd94c1si614761pga.289.2023.07.26.22.52.02; Wed, 26 Jul 2023 22:52:15 -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=@tuxon.dev header.s=google header.b=ccDxRKhV; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232276AbjG0Fid (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232330AbjG0FiE (ORCPT ); Thu, 27 Jul 2023 01:38:04 -0400 Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69C8A2D4F for ; Wed, 26 Jul 2023 22:37:15 -0700 (PDT) Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-563dae89bc9so282184a12.2 for ; Wed, 26 Jul 2023 22:37:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436167; x=1691040967; 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=WeeIlCY0YkV9dl6D14N0gEidgFKUnfmPXMsUhAICJi0=; b=ccDxRKhV5iS27apESIGTH5S5TCn6nV4keOklEAis81F2zhY4N9inDuLRgxBE5iGomf M0bK11YSAQgCFbRKafhDBzlGQX0BvaNJYkD6BOnyHiZ/WMvvw3V4KcDjBrwXCFJaGFWx Xx1NdWp/31agRWMwF/Z+AhDx4fRgq38/9Jx+WJaUvb6gR5hJAe5MmTTOyCCdqKeqozpg 2vh1qSTVe7WumG6hJuoNMchDXuCSmFE8Slb8zUGW6JPmNQKPHtiz76OEnmcdTB0+M/0w ktvv0TRJpNio/k249dPGioypgnnd0RFh1H90yCDBkXt1XRIlnXzIvk98ehbvntY/N9mZ 7flA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436167; x=1691040967; 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=WeeIlCY0YkV9dl6D14N0gEidgFKUnfmPXMsUhAICJi0=; b=UBuwAqvuTsI9ErfvUvMfhgwhmxfJ2ow2R7dNW5L6egAPtJHZpesvqcILlV8e1R3yQm Stf7Ipj2524VBT5g2Hxb51m72oKqg3jOrevI2DcYd0GKnzSMI2b/sEfP9zMbw1rGcHr7 WC4anKMQkA5I9tG9GrPqe7ruGuOBKP1jqEpRu6ZFrv1haU7Ld7jXdffrkA7I6jQD22/J KAtEPGYSGtstBSpOGbEYX73Pz241K4SRfIJZXz+OYz1LmuxKeTPSAL5ZumueM2FDGT0F gu8WDJqWg2YFAYqCr3HqthTI0YOaJkz0vogzLqqNVTNilgp4toG86SrdPErXKXmY1Xn6 FySQ== X-Gm-Message-State: ABy/qLafzfUId0sYMSDzkuZhBovFD7iToRSqrSKgHgKk64awr6vfmpyU sAWjAI5efmTDWmh984OQQf6s47o8Pgzns0OZjNFAYO5o X-Received: by 2002:a17:902:e5c4:b0:1bb:c87d:756d with SMTP id u4-20020a170902e5c400b001bbc87d756dmr4130989plf.42.1690436167186; Wed, 26 Jul 2023 22:36:07 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:06 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 30/42] clk: at91: clk-i2s-mux: remove parent_names support Date: Thu, 27 Jul 2023 08:31:44 +0300 Message-Id: <20230727053156.13587-31-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551810568864902 X-GMAIL-MSGID: 1772551810568864902 Remove parent_names support as parent_hw support is now available on all platforms using clk-i2s-mux driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-i2s-mux.c | 8 ++------ drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 3 +-- drivers/clk/at91/sama5d2.c | 4 ++-- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/clk/at91/clk-i2s-mux.c b/drivers/clk/at91/clk-i2s-mux.c index f1981b8ee18d..ea84e8f5becd 100644 --- a/drivers/clk/at91/clk-i2s-mux.c +++ b/drivers/clk/at91/clk-i2s-mux.c @@ -50,8 +50,7 @@ static const struct clk_ops clk_i2s_mux_ops = { struct clk_hw * __init at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, - const char * const *parent_names, struct clk_hw **parent_hws, - unsigned int num_parents, u8 bus_id) + struct clk_hw **parent_hws, unsigned int num_parents, u8 bus_id) { struct clk_init_data init = {}; struct clk_i2s_mux *i2s_ck; @@ -63,10 +62,7 @@ at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, init.name = name; init.ops = &clk_i2s_mux_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; i2s_ck->hw.init = &init; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 058b65c2d88d..7ab116a6e701 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -279,7 +279,7 @@ static void __init of_sama5d2_clk_i2s_mux_setup(struct device_node *np) continue; hw = at91_clk_i2s_mux_register(regmap_sfr, i2s_mux_np->name, - NULL, parent_hws, 2, bus_id); + parent_hws, 2, bus_id); if (IS_ERR(hw)) continue; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 11f7ab4d1ad8..07f372abcfd0 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -153,8 +153,7 @@ at91_clk_register_h32mx(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_i2s_mux_register(struct regmap *regmap, const char *name, - const char * const *parent_names, struct clk_hw **parent_hws, - unsigned int num_parents, u8 bus_id); + struct clk_hw **parent_hws, unsigned int num_parents, u8 bus_id); struct clk_hw * __init at91_clk_register_main_rc_osc(struct regmap *regmap, const char *name, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 93c646e0b6ef..17a40cedd7fb 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -385,7 +385,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_hws[0] = sama5d2_pmc->phws[54]; /* i2s0_clk */ parent_hws[1] = sama5d2_pmc->phws[54]; /* i2s0_gclk */ hw = at91_clk_i2s_mux_register(regmap_sfr, "i2s0_muxclk", - NULL, parent_hws, 2, 0); + parent_hws, 2, 0); if (IS_ERR(hw)) goto err_free; @@ -394,7 +394,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_hws[0] = sama5d2_pmc->phws[55]; /* i2s1_clk */ parent_hws[1] = sama5d2_pmc->ghws[55]; /* i2s1_gclk */ hw = at91_clk_i2s_mux_register(regmap_sfr, "i2s1_muxclk", - NULL, parent_hws, 2, 1); + parent_hws, 2, 1); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126674 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp893608vqo; Wed, 26 Jul 2023 23:36:10 -0700 (PDT) X-Google-Smtp-Source: APBJJlFPfqO6R/wX9GNDKUFp6MaT8eokuwkJMJmpyAPOUL9z0t0NQC0boAtB5QqbkHUlU6ajUMan X-Received: by 2002:a17:90a:3c87:b0:262:c7ae:e622 with SMTP id g7-20020a17090a3c8700b00262c7aee622mr3283400pjc.17.1690439770444; Wed, 26 Jul 2023 23:36:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439770; cv=none; d=google.com; s=arc-20160816; b=vDKIM1P53fFQZzKy/Mc33R+DBgeiKA56Hw5RqmlGeY9d1bSlM9+AdtWttNQSE097Xv ZEUCUJZANktPKW4h1DNLvAivX551/Rpt6U5YyIbrrr19qsUg5hupS2JVJaqm+oFrh5B3 b+WpCEmzfZjwS7vm1FJGLOUQIBV/5etp/8km7rr8qUy4ITGTA1RgDHsvtyaXawOooYZv bHPEhMuT3O4jL9xvCmy88D5gZFBwE4mjzqnv9649uILjYmi/wByAwYeUZGDCaei5/INS Xo5VW3FbnEdTy64yc3U/cGSK6aOvD0NcK6ENaG3qMNcJp7FYKC/SBVkhfcTarR073HBw L29w== 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=LPKRD6M8sYpV7bnQLsbqFVgQafgsIsDaV98IpKMiI6g=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=SGy8Gqc3cg4RKd0qD/J84thk7Q5J8qyHZLUclkKYEpNv3I2YO4UrRb8uyt57cgj8UR 6RhfQakI3MNYPTRvd0a89bAdhrX2Dty659i9ghzYGu78EjtWsH7ST04xdqj3wJR45yQM 3RaDrBVf04R3vXalYACIlGCxAKMyF2UsyjPV1tuVk5ZDvt0Tt2Q3dXBeVF4v27b8bDSe MPmlpHJHEYO2pP+4IQJER1HGMVzNqz4omR/d0a405mrEVddmGPlwDfp5E+DoTQdJgDmQ plvj2Faqia02ouHnUKCPRjDoIAzhW+Z7ovu44UOy/GhM5CW0yUt7YVEMzVzGY97cngR3 8U2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=lYVAGJky; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p3-20020a170902c70300b001baff4c68fasi741712plp.570.2023.07.26.23.35.57; Wed, 26 Jul 2023 23:36:10 -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=@tuxon.dev header.s=google header.b=lYVAGJky; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232304AbjG0Fij (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231698AbjG0FiJ (ORCPT ); Thu, 27 Jul 2023 01:38:09 -0400 Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com [IPv6:2607:f8b0:4864:20::731]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D987C3A8C for ; Wed, 26 Jul 2023 22:37:19 -0700 (PDT) Received: by mail-qk1-x731.google.com with SMTP id af79cd13be357-7658430eb5dso55871585a.2 for ; Wed, 26 Jul 2023 22:37:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436174; x=1691040974; 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=LPKRD6M8sYpV7bnQLsbqFVgQafgsIsDaV98IpKMiI6g=; b=lYVAGJkyuE0KiNJzacX0O2CCrD7GP0MoLr4j0DgwcYwPphuk/mgM6ViG3oO5Qy+2Z4 b6x00dJNZ80Ge3t0xPnGMR8Fw2x1NnC3Kgk4JC4aHuf57VyeaotqAfGtSZGA3SJoeNyQ VNq9U3bd6PzNtE5x572SeoDYaT6MLqNhkuzSAVSKsVNFjGzs3GR5gFZygOfB4eIn/IPZ c7jWQ8YPYhrTEA/P1H24hhDVvuEHzGAzvkrO0IR3HkytpXDJSTK8chdpOXYrGaeM+Q+i PmbCkiMSgsRAatgD4oxjDj+xYb8KECWI9fpmZNNdVXkMEO6ZsOFDcdEZTcaM35+SCY0S M1CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436174; x=1691040974; 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=LPKRD6M8sYpV7bnQLsbqFVgQafgsIsDaV98IpKMiI6g=; b=bi1YsgTq73gRW1Q2aEkqHhWtFCF1buKhWiargmVvNna7M5kCXIOMqatvyDeNbuqLq9 25Ww5fPu2P0y6HCPftdDgwadohfyAzV7PTJwenkssSoOcsAfZE9PBzIXOH1i8IfEdf7Z BdC/2s7EflkRK7eNXvAYEmResgR2WhmvRpaGCxURm1GVo28tMEd6RyoaPvSPGlFFqnqt gektkK5SRIcH8LoShShDQlmh3TcrQHGtSwuv6jioBcF9zcM+bZCt0F/fDiwJ6Pm3Mqx4 1S1+PSWEuVuuwNwZoduV2ZAgiVD+xd9aTDUocYq4bvPEJe3/oYMMVx+reTxygjLw+qIr V0Gw== X-Gm-Message-State: ABy/qLYiaF8B99LCaEzV/UivxOmeJ/wgJEoOZinhVFCgj71sp3FTPwFp +0u4NsXsvXkvp6n+7Ob/g9Ts4g== X-Received: by 2002:a05:620a:2894:b0:765:a9d7:2ca2 with SMTP id j20-20020a05620a289400b00765a9d72ca2mr4698758qkp.48.1690436174497; Wed, 26 Jul 2023 22:36:14 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:14 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 31/42] clk: at91: clk-main: remove parent_names support Date: Thu, 27 Jul 2023 08:31:45 +0300 Message-Id: <20230727053156.13587-32-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554572542580267 X-GMAIL-MSGID: 1772554572542580267 Remove parent_names support as parent_hw support is now available on all platforms using clk-main driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 4 ++-- drivers/clk/at91/at91sam9260.c | 4 ++-- drivers/clk/at91/at91sam9g45.c | 4 ++-- drivers/clk/at91/at91sam9n12.c | 4 ++-- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 4 ++-- drivers/clk/at91/clk-main.c | 24 ++++++------------------ drivers/clk/at91/dt-compat.c | 7 +++---- drivers/clk/at91/pmc.h | 3 --- drivers/clk/at91/sam9x60.c | 5 ++--- drivers/clk/at91/sama5d2.c | 4 ++-- drivers/clk/at91/sama5d3.c | 4 ++-- drivers/clk/at91/sama5d4.c | 4 ++-- drivers/clk/at91/sama7g5.c | 4 ++-- 14 files changed, 30 insertions(+), 47 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index e0418ab5d65c..441b744eed5e 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -115,12 +115,12 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; - hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, main_osc_hw); + hw = at91_clk_register_rm9200_main(regmap, "mainck", main_osc_hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 1ef7c02bee63..709f01c4dab9 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -369,12 +369,12 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, hw); + hw = at91_clk_register_rm9200_main(regmap, "mainck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 868897fad3f0..535f3af23560 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -130,12 +130,12 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, hw); + hw = at91_clk_register_rm9200_main(regmap, "mainck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 01d943ebb680..9327129d574e 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -154,14 +154,14 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 29f24a5b1fef..67ff1132ef0d 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -98,7 +98,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) if (!at91sam9rl_pmc) return; - hw = at91_clk_register_rm9200_main(regmap, "mainck", NULL, main_xtal_hw); + hw = at91_clk_register_rm9200_main(regmap, "mainck", main_xtal_hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 8b2747091b03..7c08a5bdb974 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -176,14 +176,14 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-main.c b/drivers/clk/at91/clk-main.c index 9b462becc693..e4ebc9f88e46 100644 --- a/drivers/clk/at91/clk-main.c +++ b/drivers/clk/at91/clk-main.c @@ -151,7 +151,6 @@ static const struct clk_ops main_osc_ops = { struct clk_hw * __init at91_clk_register_main_osc(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_parent_data *parent_data, bool bypass) { @@ -160,7 +159,7 @@ at91_clk_register_main_osc(struct regmap *regmap, struct clk_hw *hw; int ret; - if (!name || !(parent_name || parent_data)) + if (!name || !parent_data) return ERR_PTR(-EINVAL); osc = kzalloc(sizeof(*osc), GFP_KERNEL); @@ -169,10 +168,7 @@ at91_clk_register_main_osc(struct regmap *regmap, init.name = name; init.ops = &main_osc_ops; - if (parent_data) - init.parent_data = (const struct clk_parent_data *)parent_data; - else - init.parent_names = &parent_name; + init.parent_data = (const struct clk_parent_data *)parent_data; init.num_parents = 1; init.flags = CLK_IGNORE_UNUSED; @@ -401,7 +397,6 @@ static const struct clk_ops rm9200_main_ops = { struct clk_hw * __init at91_clk_register_rm9200_main(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) { struct clk_rm9200_main *clkmain; @@ -412,7 +407,7 @@ at91_clk_register_rm9200_main(struct regmap *regmap, if (!name) return ERR_PTR(-EINVAL); - if (!(parent_name || parent_hw)) + if (!parent_hw) return ERR_PTR(-EINVAL); clkmain = kzalloc(sizeof(*clkmain), GFP_KERNEL); @@ -421,10 +416,7 @@ at91_clk_register_rm9200_main(struct regmap *regmap, init.name = name; init.ops = &rm9200_main_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = 0; @@ -551,7 +543,6 @@ static const struct clk_ops sam9x5_main_ops = { struct clk_hw * __init at91_clk_register_sam9x5_main(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, int num_parents) { @@ -564,7 +555,7 @@ at91_clk_register_sam9x5_main(struct regmap *regmap, if (!name) return ERR_PTR(-EINVAL); - if (!(parent_hws || parent_names) || !num_parents) + if (!parent_hws || !num_parents) return ERR_PTR(-EINVAL); clkmain = kzalloc(sizeof(*clkmain), GFP_KERNEL); @@ -573,10 +564,7 @@ at91_clk_register_sam9x5_main(struct regmap *regmap, init.name = name; init.ops = &sam9x5_main_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = CLK_SET_PARENT_GATE; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 7ab116a6e701..2bd3ad0a11fd 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -314,7 +314,7 @@ static void __init of_at91rm9200_clk_main_osc_setup(struct device_node *np) parent_data.name = parent_name; parent_data.fw_name = parent_name; - hw = at91_clk_register_main_osc(regmap, name, NULL, &parent_data, bypass); + hw = at91_clk_register_main_osc(regmap, name, &parent_data, bypass); if (IS_ERR(hw)) return; @@ -375,7 +375,7 @@ static void __init of_at91rm9200_clk_main_setup(struct device_node *np) if (!parent_hw) return; - hw = at91_clk_register_rm9200_main(regmap, name, NULL, parent_hw); + hw = at91_clk_register_rm9200_main(regmap, name, parent_hw); if (IS_ERR(hw)) return; @@ -414,8 +414,7 @@ static void __init of_at91sam9x5_clk_main_setup(struct device_node *np) of_property_read_string(np, "clock-output-names", &name); - hw = at91_clk_register_sam9x5_main(regmap, name, NULL, parent_hws, - num_parents); + hw = at91_clk_register_sam9x5_main(regmap, name, parent_hws, num_parents); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 07f372abcfd0..0b4de5648944 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -160,16 +160,13 @@ at91_clk_register_main_rc_osc(struct regmap *regmap, const char *name, u32 frequency, u32 accuracy); struct clk_hw * __init at91_clk_register_main_osc(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_parent_data *parent_data, bool bypass); struct clk_hw * __init at91_clk_register_rm9200_main(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_register_sam9x5_main(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, int num_parents); struct clk_hw * __init diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index 43997f686b87..dbf9841d341f 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -225,14 +225,13 @@ static void __init sam9x60_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, - &parent_data, 0); + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, 0); if (IS_ERR(hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 17a40cedd7fb..eda45c5b75f9 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -209,14 +209,14 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index e1c1ba907e3a..1a149e428971 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -157,14 +157,14 @@ static void __init sama5d3_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - mainck_hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + mainck_hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(mainck_hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index b4375cb1c3f3..71fd5714ce31 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -172,14 +172,14 @@ static void __init sama5d4_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, &parent_data, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - mainck_hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + mainck_hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index b2d27193741b..a6a79d1450ec 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1037,14 +1037,14 @@ static void __init sama7g5_pmc_setup(struct device_node *np) parent_data.name = main_xtal_name; parent_data.fw_name = main_xtal_name; - main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", NULL, + main_osc_hw = at91_clk_register_main_osc(regmap, "main_osc", &parent_data, bypass); if (IS_ERR(main_osc_hw)) goto err_free; parent_hws[0] = main_rc_hw; parent_hws[1] = main_osc_hw; - hw = at91_clk_register_sam9x5_main(regmap, "mainck", NULL, parent_hws, 2); + hw = at91_clk_register_sam9x5_main(regmap, "mainck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126658 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp875898vqo; Wed, 26 Jul 2023 22:59:31 -0700 (PDT) X-Google-Smtp-Source: APBJJlHmPVYaeIu1K4qsHAOvWdhUXtrJzvkrI4e/miw06uK+pLxEG86QVajq4KQt0Oix75xn7zqw X-Received: by 2002:a05:6a00:17a2:b0:666:8403:9f4 with SMTP id s34-20020a056a0017a200b00666840309f4mr4519201pfg.16.1690437571381; Wed, 26 Jul 2023 22:59:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437571; cv=none; d=google.com; s=arc-20160816; b=bbl+FT5wRDZBDca82+7jwwoIPujJajMEsOMdBrBFoZdCfLWJyKGN6ctOoa5ydFf9je eA/UkFywJWD4XzyZ3x4GRADScZue4NVVUkJqReikCtxlSJjcVm2Hdgtz3ff4eGjG/OVl r8QqDHTtCS7M6rXRkxUZ5t5laaABNh2SxIUpMR31jEb3+EuVLNqnJEgat4wDL8C4pZ5L UBENiG9lY1JC/gkPTGtnmf3ifKVM8ErHPaxR9OqszEcKqcEWmIW8AUvy1kPvkgn5Ne+2 5tfHXV4j4TccQ8eCND3HJpNKM36jMt4bWFpQnOKbXtOS+drf7LRkY1geA2nbPzNDmnJy JJZQ== 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=4OtWdYk/NDUHZT7tkNeY9e4iyBez1HDTbhZxXvmkFCQ=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=bb+w/UzCBrNhfj+aUJPp0Tkr/S2sBz87g5WjRUlBHj8+zIiwsrQQxEdvHKnOF5P3qI ZnTdiOIBCekExvzNy8bgqehnlu7iE4hg9O7DKS05WBR4mYGFa3EVtudZVE5bBuOqcM9g 0irJ93vqUUUgA7PNlqPHG0s114LcEZI4CSa3A9dg/wWfoMQXQ0IbKNQ8cnPPQmJ/l+OJ /n6qkNoVLOAa+YsTMzhjItMLykGFL2bvxB0GX9uKWQ1TLSdA8n5RfEuqW8E9pf+BstLw Yz8JQ38/WFwaSFE040/exvVQIoH3Oe0r77EbuOyoNLdLxrdI7JHCyA3cE2EQWwSXjYI/ W9HQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=QD2NBMhc; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id eb20-20020a056a004c9400b00686f9554bd2si311604pfb.140.2023.07.26.22.59.18; Wed, 26 Jul 2023 22:59:31 -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=@tuxon.dev header.s=google header.b=QD2NBMhc; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232323AbjG0Fix (ORCPT + 99 others); Thu, 27 Jul 2023 01:38:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53508 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231960AbjG0FiP (ORCPT ); Thu, 27 Jul 2023 01:38:15 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4A163C2A for ; Wed, 26 Jul 2023 22:37:29 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1b8c81e36c0so3590955ad.0 for ; Wed, 26 Jul 2023 22:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436181; x=1691040981; 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=4OtWdYk/NDUHZT7tkNeY9e4iyBez1HDTbhZxXvmkFCQ=; b=QD2NBMhcRdYlRqIaz5M+38+QVNqIRmBZ0lnr4SBGwDgdbRbf4LKlXyS0BgCs/Nl+n7 jphVTSvTeDMjl40S9Np44r92m7n/69jucWK10YfeJfyoIYJ8xrvlN+tiqUikcehNCzL6 zNpShJvyc9lamns5KnYqOKrI/40ke/aLuq55F7pvxoBsST3F5Ffz7ELx7WJfPx5aaMs/ hUdl5o/tcVWa+BRYhQ19dZcNXUdH+jD6y234V3puOYK4ZR7lWvuCN8NfpYGeRWcX6bdk BZ/ieMr6/29F1C2gKpSD0cE3GYaeH/HZpWYBZ+9v/YcSrjdgkChor5HtLNgNB1HP80J4 UX1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436181; x=1691040981; 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=4OtWdYk/NDUHZT7tkNeY9e4iyBez1HDTbhZxXvmkFCQ=; b=I651JkSwNWBNf7QDHFaCg/2/W5suAmSE/eqYtYgbSvT3ynlsPOmV7x4zXJr0HzLOOY aTdzWp1AN5m96COCQo3RrLV5bxWslTBKAMPFP4xpepc/K73il833LIpPX3HOjB3sJTVH du/xd9cKlCsbopOmtJ8Q3kDoFGdLiuEjADlZsV7QuR4XQL+QVdsupuzp8631ntVG0r7b SlZ2nsFq3QdwgtzeRZOAKRAIZVctCNHI0WV91mqHK6A1VuJZsophdoVSWRtJyu9k/xDx ZaEtQret3FQe4rGKq8crBAj9uLXtS5GaczQw2FYRi+nlcMzwzeLylHkQzPeeEa6aoAsg +pQA== X-Gm-Message-State: ABy/qLZQg9YxhwNpx6c/xzGkTsPc/Yy5yGOXJ2oW0SF3CDOSwDMyPhNh MVTv6UP13qXjrDhf8y/zz4VTzQ== X-Received: by 2002:a17:902:da82:b0:1bb:c7bc:ceb4 with SMTP id j2-20020a170902da8200b001bbc7bcceb4mr4198969plx.60.1690436181683; Wed, 26 Jul 2023 22:36:21 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:21 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 32/42] clk: at91: clk-master: remove parent_names support Date: Thu, 27 Jul 2023 08:31:46 +0300 Message-Id: <20230727053156.13587-33-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552266530416684 X-GMAIL-MSGID: 1772552266530416684 Remove parent_names support as parent_hw support is now available on all platforms using clk-master driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 4 ++-- drivers/clk/at91/at91sam9260.c | 5 ++--- drivers/clk/at91/at91sam9g45.c | 5 ++--- drivers/clk/at91/at91sam9n12.c | 5 ++--- drivers/clk/at91/at91sam9rl.c | 5 ++--- drivers/clk/at91/at91sam9x5.c | 4 ++-- drivers/clk/at91/clk-master.c | 23 ++++++----------------- drivers/clk/at91/dt-compat.c | 4 ++-- drivers/clk/at91/pmc.h | 6 ++---- drivers/clk/at91/sam9x60.c | 4 ++-- drivers/clk/at91/sama5d2.c | 4 ++-- drivers/clk/at91/sama5d3.c | 5 ++--- drivers/clk/at91/sama5d4.c | 4 ++-- drivers/clk/at91/sama7g5.c | 5 ++--- 14 files changed, 32 insertions(+), 51 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 441b744eed5e..9e32189ac374 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -147,14 +147,14 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) parent_hws[2] = at91rm9200_pmc->chws[PMC_PLLACK]; parent_hws[3] = at91rm9200_pmc->chws[PMC_PLLBCK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91rm9200_master_layout, &rm9200_mck_characteristics, &rm9200_mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91rm9200_master_layout, &rm9200_mck_characteristics, &rm9200_mck_lock, CLK_SET_RATE_GATE, 0); diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 709f01c4dab9..538bbecdbdeb 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -419,15 +419,14 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, parent_hws[2] = at91sam9260_pmc->chws[PMC_PLLACK]; parent_hws[3] = at91sam9260_pmc->chws[PMC_PLLBCK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91rm9200_master_layout, data->mck_characteristics, &at91sam9260_mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91rm9200_master_layout, data->mck_characteristics, &at91sam9260_mck_lock, diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 535f3af23560..fbd4d68dae56 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -163,15 +163,14 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) parent_hws[2] = at91sam9g45_pmc->chws[PMC_PLLACK]; parent_hws[3] = at91sam9g45_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91rm9200_master_layout, &mck_characteristics, &at91sam9g45_mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91rm9200_master_layout, &mck_characteristics, &at91sam9g45_mck_lock, diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 9327129d574e..e9b266d1de91 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -190,15 +190,14 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) parent_hws[2] = at91sam9n12_pmc->chws[PMC_PLLACK]; parent_hws[3] = at91sam9n12_pmc->chws[PMC_PLLBCK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &at91sam9n12_mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91sam9x5_master_layout, &mck_characteristics, &at91sam9n12_mck_lock, diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 67ff1132ef0d..1e027fa938b6 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -123,15 +123,14 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) parent_hws[2] = at91sam9rl_pmc->chws[PMC_PLLACK]; parent_hws[3] = at91sam9rl_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91rm9200_master_layout, &sam9rl_mck_characteristics, &sam9rl_mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91rm9200_master_layout, &sam9rl_mck_characteristics, &sam9rl_mck_lock, CLK_SET_RATE_GATE, 0); diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 7c08a5bdb974..27c41fc7b097 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -211,13 +211,13 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, parent_hws[2] = at91sam9x5_pmc->chws[PMC_PLLACK]; parent_hws[3] = at91sam9x5_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c index 15c46489ba85..1ee19c670213 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c @@ -472,7 +472,6 @@ static const struct clk_ops master_pres_ops = { static struct clk_hw * __init at91_clk_register_master_internal(struct regmap *regmap, const char *name, int num_parents, - const char **parent_names, struct clk_hw **parent_hws, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, @@ -485,7 +484,7 @@ at91_clk_register_master_internal(struct regmap *regmap, unsigned long irqflags; int ret; - if (!name || !num_parents || !(parent_names || parent_hws) || !lock) + if (!name || !num_parents || !parent_hws || !lock) return ERR_PTR(-EINVAL); master = kzalloc(sizeof(*master), GFP_KERNEL); @@ -494,10 +493,7 @@ at91_clk_register_master_internal(struct regmap *regmap, init.name = name; init.ops = ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = flags; @@ -530,22 +526,20 @@ at91_clk_register_master_internal(struct regmap *regmap, struct clk_hw * __init at91_clk_register_master_pres(struct regmap *regmap, const char *name, int num_parents, - const char **parent_names, struct clk_hw **parent_hws, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, spinlock_t *lock) { return at91_clk_register_master_internal(regmap, name, num_parents, - parent_names, parent_hws, layout, + parent_hws, layout, characteristics, &master_pres_ops, lock, CLK_SET_RATE_GATE); } struct clk_hw * __init -at91_clk_register_master_div(struct regmap *regmap, - const char *name, const char *parent_name, +at91_clk_register_master_div(struct regmap *regmap, const char *name, struct clk_hw *parent_hw, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, spinlock_t *lock, u32 flags, u32 safe_div) @@ -559,7 +553,6 @@ at91_clk_register_master_div(struct regmap *regmap, ops = &master_div_ops_chg; hw = at91_clk_register_master_internal(regmap, name, 1, - parent_name ? &parent_name : NULL, parent_hw ? &parent_hw : NULL, layout, characteristics, ops, lock, flags); @@ -811,7 +804,6 @@ static const struct clk_ops sama7g5_master_ops = { struct clk_hw * __init at91_clk_sama7g5_register_master(struct regmap *regmap, const char *name, int num_parents, - const char **parent_names, struct clk_hw **parent_hws, u32 *mux_table, spinlock_t *lock, u8 id, @@ -824,7 +816,7 @@ at91_clk_sama7g5_register_master(struct regmap *regmap, unsigned int val; int ret; - if (!name || !num_parents || !(parent_names || parent_hws) || !mux_table || + if (!name || !num_parents || !parent_hws || !mux_table || !lock || id > MASTER_MAX_ID) return ERR_PTR(-EINVAL); @@ -834,10 +826,7 @@ at91_clk_sama7g5_register_master(struct regmap *regmap, init.name = name; init.ops = &sama7g5_master_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE; if (chg_pid >= 0) diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 2bd3ad0a11fd..590d0f115647 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -487,12 +487,12 @@ of_at91_clk_master_setup(struct device_node *np, return; hw = at91_clk_register_master_pres(regmap, "masterck_pres", num_parents, - NULL, parent_hws, layout, + parent_hws, layout, characteristics, &mck_lock); if (IS_ERR(hw)) goto out_free_characteristics; - hw = at91_clk_register_master_div(regmap, name, NULL, hw, + hw = at91_clk_register_master_div(regmap, name, hw, layout, characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 0b4de5648944..c26dcbc8c475 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -171,15 +171,14 @@ at91_clk_register_sam9x5_main(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_master_pres(struct regmap *regmap, const char *name, - int num_parents, const char **parent_names, - struct clk_hw **parent_hws, + int num_parents, struct clk_hw **parent_hws, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, spinlock_t *lock); struct clk_hw * __init at91_clk_register_master_div(struct regmap *regmap, const char *name, - const char *parent_names, struct clk_hw *parent_hw, + struct clk_hw *parent_hw, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, spinlock_t *lock, u32 flags, u32 safe_div); @@ -187,7 +186,6 @@ at91_clk_register_master_div(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_sama7g5_register_master(struct regmap *regmap, const char *name, int num_parents, - const char **parent_names, struct clk_hw **parent_hws, u32 *mux_table, spinlock_t *lock, u8 id, bool critical, int chg_pid); diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index dbf9841d341f..ce54684e4684 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -285,13 +285,13 @@ static void __init sam9x60_pmc_setup(struct device_node *np) parent_hws[1] = sam9x60_pmc->chws[PMC_MAIN]; parent_hws[2] = sam9x60_pmc->chws[PMC_PLLACK]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 3, - NULL, parent_hws, &sam9x60_master_layout, + parent_hws, &sam9x60_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; hw = at91_clk_register_master_div(regmap, "masterck_div", - NULL, hw, &sam9x60_master_layout, + hw, &sam9x60_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index eda45c5b75f9..a25184ea7aef 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -265,13 +265,13 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_hws[2] = sama5d2_pmc->chws[PMC_PLLACK]; parent_hws[3] = sama5d2_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 1a149e428971..5c0ef9416370 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -190,14 +190,13 @@ static void __init sama5d3_pmc_setup(struct device_node *np) parent_hws[2] = sama5d3_pmc->chws[PMC_PLLACK]; parent_hws[3] = sama5d3_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", - NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 71fd5714ce31..88841d7d5477 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -205,13 +205,13 @@ static void __init sama5d4_pmc_setup(struct device_node *np) parent_hws[2] = sama5d4_pmc->chws[PMC_PLLACK]; parent_hws[3] = sama5d4_pmc->chws[PMC_UTMI]; hw = at91_clk_register_master_pres(regmap, "masterck_pres", 4, - NULL, parent_hws, + parent_hws, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock); if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_master_div(regmap, "masterck_div", NULL, hw, + hw = at91_clk_register_master_div(regmap, "masterck_div", hw, &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, CLK_SET_RATE_GATE, 0); diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index a6a79d1450ec..d18b2b7885e0 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1103,8 +1103,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) } } - hw = at91_clk_register_master_div(regmap, "mck0", NULL, - sama7g5_plls[PLL_ID_CPU][1].hw, + hw = at91_clk_register_master_div(regmap, "mck0", sama7g5_plls[PLL_ID_CPU][1].hw, &mck0_layout, &mck0_characteristics, &pmc_mck0_lock, CLK_GET_RATE_NOCACHE, 5); if (IS_ERR(hw)) @@ -1138,7 +1137,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) sama7g5_mckx[i].ep_count); hw = at91_clk_sama7g5_register_master(regmap, sama7g5_mckx[i].n, - num_parents, NULL, parent_hws, mux_table, + num_parents, parent_hws, mux_table, &pmc_mckX_lock, sama7g5_mckx[i].id, sama7g5_mckx[i].c, sama7g5_mckx[i].ep_chg_id); From patchwork Thu Jul 27 05:31:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126679 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp894454vqo; Wed, 26 Jul 2023 23:38:14 -0700 (PDT) X-Google-Smtp-Source: APBJJlG1KTlcpkwHT7F7ZamArnXIbldWkO803WBo+HLGtlOtiXpDiA8Kf3kt9vz7q4FFLB/XQgVr X-Received: by 2002:a17:906:8a50:b0:99b:ddac:d9d9 with SMTP id gx16-20020a1709068a5000b0099bddacd9d9mr288178ejc.53.1690439894124; Wed, 26 Jul 2023 23:38:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439894; cv=none; d=google.com; s=arc-20160816; b=TLzHNsJRgsv+0/V6gclRDLXcOruzPOUUlRfKTx25HfXeHIUHrvzkSYXPzAvLly2zsO VgvxQv4TO6TfZyyXiKu310vZjr32kZMB030LcHQMHySeM222teDaiaQJVib8YDUBjo3/ CHlf6gBHoDKcuMEyeTo9WSO+KGJLjP3A0YSOM0b4ap33KnRlFhsTVOgfGtC7y9kyZNHE i1DHQf+gUe7cNcG3qjO3O5VD5scMPsWInRdumnjNii/MYVEy9Nto/MUY04r+UTf/wjpu JhRIHK6vtrxznVrUZVfNSucv/iuLiY9HOIrYutLTLrNDO9+LOjKWkNto+Vdx44OcIMP/ GSag== 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=aHiZnC//dKhKHVPO0qNmCO5eqfKdG5DqSJMZ1aUfAvU=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=NPqThGwl7qv3g1UuXltGDcOKbZJiJrbsB92HvLpbERr8ihRVXq+/BTDN6u1D3W8GGG 1ckl5Jbl4ZXCPHa7mIKBKbGIIgp7/YHQj2Unpay51u0QdD7oPc7BtT4FWyz2Qflp2Zu5 NiBY5M4inpNKFbZYXjRY5TFvDcTyfjwpb6Yhh/zXQzaq6yW14JKCwwNkLZa+TYQ/EnAH bqv0tmo6ec/pXxwxbSg858nBpWPga+YjDPC6hLRregoPlFCW1Ff7u0A6NR/0L/3W5/K9 jaWdSvY37xQRRKUhQp5V6uBrz2F4y6VZ+WL+Yj8NFg6sYTCRpr1BR1b2eyhq3LqYmtvK gSrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=XTzAZjbS; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f5-20020a1709064dc500b0099bce452924si601663ejw.343.2023.07.26.23.37.50; Wed, 26 Jul 2023 23:38:14 -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=@tuxon.dev header.s=google header.b=XTzAZjbS; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232344AbjG0FjO (ORCPT + 99 others); Thu, 27 Jul 2023 01:39:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232285AbjG0Fie (ORCPT ); Thu, 27 Jul 2023 01:38:34 -0400 Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43EB7A0 for ; Wed, 26 Jul 2023 22:37:41 -0700 (PDT) Received: by mail-oi1-x230.google.com with SMTP id 5614622812f47-3a425ef874dso555029b6e.0 for ; Wed, 26 Jul 2023 22:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436189; x=1691040989; 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=aHiZnC//dKhKHVPO0qNmCO5eqfKdG5DqSJMZ1aUfAvU=; b=XTzAZjbSrpWj9+zWSZTLphmvyX0gW2ZlfsxwTUDO8CbQmuQytLUbOi6j/FcxQFoZfZ XyA1sEfCbCquleeQFsOB0qBYMTvkeAddSMeczxr3pfyBkXyNEAUNRq42Tm/D38S0pPgQ OWWkqozWo7HPgwTOuOTPadQHEXKmb+0s5Dvs8bq7A71n1nDdUuoMAzVMfC2EQ2HWLAtR ShlLjVEhAoIjaXHCxBo57JaGB2GWIDkDZZcBFe+jPSPi2Y95lgq2p08LlZrIU1BqwUOS sCpLP3fA7ufQCjAWVR30Lzibvq4VClY/3vtTKaVDXQUbdiv6E8u05m/lohnmzLqlFFvr CcZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436189; x=1691040989; 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=aHiZnC//dKhKHVPO0qNmCO5eqfKdG5DqSJMZ1aUfAvU=; b=JoClIazdt/qZllHWB91tXg4Qf2A/FGamC9f53D80V5fbkTGAzjXlpH8ZUgctE81KM3 n8C/2hmKw2ezRnBXs2qThlRMBNDwvoCf/wNbgz0Ec4l8G+kexYoR8zgks5mMVCUWl/+D EAVNUpLeihauhy+J7JD+mEC3GZGMQLQrGUX+P+kKivyXEw5Z5k3/L+NWN/d+HieHHBkZ pvysX28XzPAiCcwrdH9uU2l4lU9b51r5T+FAesL+vjhQInFpnOwv5cNP8GdqgW3aEgkP AD9efv2+G93yC6GwLKsczxIk1GuD38DAJWA59BUvKZ+uhTeYayy5FybA4WoXCCGPa2lL G1bQ== X-Gm-Message-State: ABy/qLYE+n97sDvvLLwykhPiqd9rHMq55BwLrfHg0bAyFoHGVXhHO6k/ ogLHHHoLnUQGqNRyayN8Txf9gg== X-Received: by 2002:a05:6808:428e:b0:3a4:8ac7:3407 with SMTP id dq14-20020a056808428e00b003a48ac73407mr1803669oib.42.1690436188765; Wed, 26 Jul 2023 22:36:28 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:28 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 33/42] clk: at91: clk-peripheral: remove parent_names support Date: Thu, 27 Jul 2023 08:31:47 +0300 Message-Id: <20230727053156.13587-34-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554702575310571 X-GMAIL-MSGID: 1772554702575310571 Remove parent_names support as parent_hw support is now available on all platforms using clk-peripheral driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 2 +- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 4 ++-- drivers/clk/at91/clk-peripheral.c | 20 ++++++-------------- drivers/clk/at91/dt-compat.c | 3 +-- drivers/clk/at91/pmc.h | 6 ++---- drivers/clk/at91/sam9x60.c | 2 +- drivers/clk/at91/sama5d2.c | 4 ++-- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 4 ++-- drivers/clk/at91/sama7g5.c | 1 - 14 files changed, 22 insertions(+), 34 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 9e32189ac374..7cb90d71d0ce 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -207,7 +207,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(at91rm9200_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91rm9200_periphck[i].n, - NULL, at91rm9200_pmc->chws[PMC_MCK], + at91rm9200_pmc->chws[PMC_MCK], at91rm9200_periphck[i].id); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 538bbecdbdeb..9839bd4586cd 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -486,7 +486,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, for (i = 0; i < data->num_pck; i++) { hw = at91_clk_register_peripheral(regmap, data->pck[i].n, - NULL, at91sam9260_pmc->chws[PMC_MCK], + at91sam9260_pmc->chws[PMC_MCK], data->pck[i].id); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index fbd4d68dae56..e7f2173ff6c1 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -225,7 +225,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(at91sam9g45_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91sam9g45_periphck[i].n, - NULL, at91sam9g45_pmc->chws[PMC_MCK], + at91sam9g45_pmc->chws[PMC_MCK], at91sam9g45_periphck[i].id); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index e9b266d1de91..2d26c202b257 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -254,7 +254,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9n12_pcr_layout, at91sam9n12_periphck[i].n, - NULL, at91sam9n12_pmc->chws[PMC_MCK], + at91sam9n12_pmc->chws[PMC_MCK], at91sam9n12_periphck[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 1e027fa938b6..c7fc4bcf4e5b 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -175,7 +175,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(at91sam9rl_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91sam9rl_periphck[i].n, - NULL, at91sam9rl_pmc->chws[PMC_MCK], + at91sam9rl_pmc->chws[PMC_MCK], at91sam9rl_periphck[i].id); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 27c41fc7b097..8da2732a73fa 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -287,7 +287,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9x5_pcr_layout, at91sam9x5_periphck[i].n, - NULL, at91sam9x5_pmc->chws[PMC_MCK], + at91sam9x5_pmc->chws[PMC_MCK], at91sam9x5_periphck[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) @@ -300,7 +300,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9x5_pcr_layout, extra_pcks[i].n, - NULL, at91sam9x5_pmc->chws[PMC_MCK], + at91sam9x5_pmc->chws[PMC_MCK], extra_pcks[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/clk-peripheral.c b/drivers/clk/at91/clk-peripheral.c index c173a44c800a..73c90fa535e0 100644 --- a/drivers/clk/at91/clk-peripheral.c +++ b/drivers/clk/at91/clk-peripheral.c @@ -97,15 +97,14 @@ static const struct clk_ops peripheral_ops = { struct clk_hw * __init at91_clk_register_peripheral(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, - u32 id) + struct clk_hw *parent_hw, u32 id) { struct clk_peripheral *periph; struct clk_init_data init = {}; struct clk_hw *hw; int ret; - if (!name || !(parent_name || parent_hw) || id > PERIPHERAL_ID_MAX) + if (!name || !parent_hw || id > PERIPHERAL_ID_MAX) return ERR_PTR(-EINVAL); periph = kzalloc(sizeof(*periph), GFP_KERNEL); @@ -114,10 +113,7 @@ at91_clk_register_peripheral(struct regmap *regmap, const char *name, init.name = name; init.ops = &peripheral_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = 0; @@ -447,8 +443,7 @@ static const struct clk_ops sam9x5_peripheral_chg_ops = { struct clk_hw * __init at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, const struct clk_pcr_layout *layout, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, + const char *name, struct clk_hw *parent_hw, u32 id, const struct clk_range *range, int chg_pid, unsigned long flags) { @@ -457,7 +452,7 @@ at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, struct clk_hw *hw; int ret; - if (!name || !(parent_name || parent_hw)) + if (!name || !parent_hw) return ERR_PTR(-EINVAL); periph = kzalloc(sizeof(*periph), GFP_KERNEL); @@ -465,10 +460,7 @@ at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, return ERR_PTR(-ENOMEM); init.name = name; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = flags; if (chg_pid < 0) { diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 590d0f115647..8f67a7a94c54 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -561,7 +561,7 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type) if (type == PERIPHERAL_AT91RM9200) { hw = at91_clk_register_peripheral(regmap, name, - NULL, parent_hw, id); + parent_hw, id); } else { struct clk_range range = CLK_RANGE(0, 0); unsigned long flags = 0; @@ -582,7 +582,6 @@ of_at91_clk_periph_setup(struct device_node *np, u8 type) &pmc_pcr_lock, &dt_pcr_layout, name, - NULL, parent_hw, id, &range, INT_MIN, diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index c26dcbc8c475..54088c6d4de4 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -192,13 +192,11 @@ at91_clk_sama7g5_register_master(struct regmap *regmap, struct clk_hw * __init at91_clk_register_peripheral(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, - u32 id); + struct clk_hw *parent_hw, u32 id); struct clk_hw * __init at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, const struct clk_pcr_layout *layout, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, + const char *name, struct clk_hw *parent_hw, u32 id, const struct clk_range *range, int chg_pid, unsigned long flags); diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index ce54684e4684..148873fced1b 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -348,7 +348,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sam9x60_pcr_layout, sam9x60_periphck[i].n, - NULL, sam9x60_pmc->chws[PMC_MCK], + sam9x60_pmc->chws[PMC_MCK], sam9x60_periphck[i].id, &range, INT_MIN, sam9x60_periphck[i].flags); diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index a25184ea7aef..809926c63078 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -337,7 +337,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_periphck[i].n, - NULL, sama5d2_pmc->chws[PMC_MCK], + sama5d2_pmc->chws[PMC_MCK], sama5d2_periphck[i].id, &range, INT_MIN, sama5d2_periphck[i].flags); @@ -351,7 +351,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_periph32ck[i].n, - NULL, sama5d2_pmc->chws[PMC_MCK2], + sama5d2_pmc->chws[PMC_MCK2], sama5d2_periph32ck[i].id, &sama5d2_periph32ck[i].r, INT_MIN, 0); diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 5c0ef9416370..4453f47798b7 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -259,7 +259,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d3_pcr_layout, sama5d3_periphck[i].n, - NULL, sama5d3_pmc->chws[PMC_MCK], + sama5d3_pmc->chws[PMC_MCK], sama5d3_periphck[i].id, &sama5d3_periphck[i].r, INT_MIN, diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 88841d7d5477..9f6ad0699702 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -282,7 +282,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d4_pcr_layout, sama5d4_periphck[i].n, - NULL, sama5d4_pmc->chws[PMC_MCK], + sama5d4_pmc->chws[PMC_MCK], sama5d4_periphck[i].id, &range, INT_MIN, sama5d4_periphck[i].flags); @@ -296,7 +296,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d4_pcr_layout, sama5d4_periph32ck[i].n, - NULL, sama5d4_pmc->chws[PMC_MCK2], + sama5d4_pmc->chws[PMC_MCK2], sama5d4_periph32ck[i].id, &range, INT_MIN, 0); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index d18b2b7885e0..9cba1ad116a8 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1195,7 +1195,6 @@ static void __init sama7g5_pmc_setup(struct device_node *np) hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama7g5_pcr_layout, sama7g5_periphck[i].n, - NULL, sama7g5_mckx[sama7g5_periphck[i].p].hw, sama7g5_periphck[i].id, &sama7g5_periphck[i].r, From patchwork Thu Jul 27 05:31:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126655 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873996vqo; Wed, 26 Jul 2023 22:54:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlFdwuttCctk7NDIwdBe6wKTBYjv6S19YX0kgzlSb0OWVxqdJBgZrI7tnTgXMtILepVUT83C X-Received: by 2002:a05:6a00:4443:b0:682:93ce:4825 with SMTP id bs3-20020a056a00444300b0068293ce4825mr1684909pfb.3.1690437261126; Wed, 26 Jul 2023 22:54:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437261; cv=none; d=google.com; s=arc-20160816; b=YKKxVknBBWTFetL7XLVUU0mWMygqAfsiOKG2mTglqW9XcMjBuOX9hVy7nZ7UlKemNz qfuatzLe+iXliSwfALy5dHPojFr5vbFpwP+YS6ISuU5xbdbYIQ8PCnGk4u45BVTJt57d v1hOXh1scyH8qt0/0XaOxTX2+htf8/5ZN3lI7h8YdKUazqPrXwH8X6jdx1FCyVOOelSz xU37HbesbATwAsD+cpfFTZL0UN+YvFjRKnv+JWdWZzcdu4rxJrCPEalEAhOFpFG+Uyt5 XJiDnWcxkqnlJ6ipWabatUgK1FVKLji6+W8EAI++pY/NxFuXYvmos+gNPz8MlnRT2py1 UMIg== 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=/ByePe5DbQDlx4lAkxeKpmFm+qeO1gWfKXQQMnKlrww=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=eyuXMeq2SLh5B3VOcQ67VnCMs/+cYeJmV24PZ6vg+gNTkODhr9OZVXVRXxaQQsiuXP tFZuWucL3S4GmQ6f+N5rqpceLQPVsjb0NyHZqeYTa4mpT9MwmtqDuMbcRS8CU0/6Z12n ILNntFFF58wpk83DBtcz0WtvxBL26HKuSpzXD7i4DZLljqGk76kSQfnsHd2AGnrS6zUn 8N4/DfBrnYmCGs+aFQNca27pyd3T9LS3MBkHENy/XLRLqnp/5ZMMHQQGzxjWX9Udtwnm rPPt/8pmtr4dmI9nr/JYhHqoRwrZMPSo4+RdY0Jh6PjRcxuBFuXDkwhdAGZiqpTID2K8 nlkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=jOsuR1pJ; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by11-20020a056a00400b00b0067a39a4c158si795467pfb.2.2023.07.26.22.54.08; Wed, 26 Jul 2023 22:54:21 -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=@tuxon.dev header.s=google header.b=jOsuR1pJ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231235AbjG0Fjz (ORCPT + 99 others); Thu, 27 Jul 2023 01:39:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231857AbjG0FjU (ORCPT ); Thu, 27 Jul 2023 01:39:20 -0400 Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E569330E1 for ; Wed, 26 Jul 2023 22:38:01 -0700 (PDT) Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1b9c368f4b5so11739605ad.0 for ; Wed, 26 Jul 2023 22:38:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436196; x=1691040996; 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=/ByePe5DbQDlx4lAkxeKpmFm+qeO1gWfKXQQMnKlrww=; b=jOsuR1pJ6p+T0RXaWm+bg+0pSTTcoYNwaUJJ7b6ofHkn/FvRS6BvSv/U8dU5ZyVo4K uw26yqnLwmNcjgB+iEO/l5cGtkrjDbdpFfIcgOP4Dc7zS0+H1ijaX/WWd5Fcui7Yj+RZ LcD2cDWYdTv7Rn9Kmc6t/R7r7VnUumQFa4T9T4EXfRYP6K268dKKpka/spxSncyvONQs vvoyv7pRCotPkGypQFga2Mm0ufvIhwZ/C6nvL/WyMxiDVimTWoKA6/hI3b2P6XjRN8p2 5ZBsUGEcDi7LfqAslqvZjyfA8vg1xXcRCjdClPjlqPh/SxQiYEBF/16yGv9Fs0XQHjh+ G8hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436196; x=1691040996; 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=/ByePe5DbQDlx4lAkxeKpmFm+qeO1gWfKXQQMnKlrww=; b=SnhgOhrdUGdbuPYxbghXe79xcdn8C4b6LYpCLVp/PsjHwBXCqWoS7USZfYXc5rktPh f3BFAMq2Tivbms9THY89iduj1sJHOhkk3NG8mJILZLzQxQcxltHbMIAuykV4O39Exeiy Ydjpz0Gh/i242gOABQdWe4rDRBiHsihnqoY7S7I6ZQFNPODpwG0xf976A1O8IMIRnwx6 uFVxrDoZKlgXpsD2FgxtHZu89fYK781pQnC+GC5Upg1+RGXa+SdxIdSi3Q6ERm2n/iMW 4DF+omLOzylIXas/bGjBG4JeZK+L0rKkIfq55+rRHK9W8HEHdCBCnCYczyCjJXwhQ9qH i1MQ== X-Gm-Message-State: ABy/qLZMfnFxMQCMkpCMSw9OvGZLAhsbjzkx1FkY+ra8uze/+8fvh0xM psIRg1AQFdN8Du3PL7b/3bBd5w== X-Received: by 2002:a17:902:d2cb:b0:1bb:b2f7:e075 with SMTP id n11-20020a170902d2cb00b001bbb2f7e075mr2143020plc.7.1690436195828; Wed, 26 Jul 2023 22:36:35 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:35 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 34/42] clk: at91: clk-pll: remove parent_names support Date: Thu, 27 Jul 2023 08:31:48 +0300 Message-Id: <20230727053156.13587-35-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551941694322491 X-GMAIL-MSGID: 1772551941694322491 Remove parent_names support as parent_hw support is now available on all platforms using clk-pll driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 4 ++-- drivers/clk/at91/at91sam9260.c | 4 ++-- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 4 ++-- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-pll.c | 7 ++----- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 12 files changed, 16 insertions(+), 19 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 7cb90d71d0ce..be88279c3443 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -126,7 +126,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", NULL, at91rm9200_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", at91rm9200_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &rm9200_pll_characteristics); if (IS_ERR(hw)) @@ -134,7 +134,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", NULL, at91rm9200_pmc->chws[PMC_MAIN], 1, + hw = at91_clk_register_pll(regmap, "pllbck", at91rm9200_pmc->chws[PMC_MAIN], 1, &at91rm9200_pll_layout, &rm9200_pll_characteristics); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 9839bd4586cd..bd5e0ce432d3 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -398,7 +398,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, slow_xtal_hw = hw; } - hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9260_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", at91sam9260_pmc->chws[PMC_MAIN], 0, data->plla_layout, data->plla_characteristics); if (IS_ERR(hw)) @@ -406,7 +406,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", NULL, at91sam9260_pmc->chws[PMC_MAIN], 1, + hw = at91_clk_register_pll(regmap, "pllbck", at91sam9260_pmc->chws[PMC_MAIN], 1, data->pllb_layout, data->pllb_characteristics); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index e7f2173ff6c1..ca585440c54f 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -141,7 +141,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) at91sam9g45_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9g45_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", at91sam9g45_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 2d26c202b257..2109b8cdf4ad 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -167,7 +167,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9n12_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", at91sam9n12_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; @@ -178,7 +178,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_pll(regmap, "pllbck", NULL, at91sam9n12_pmc->chws[PMC_MAIN], 1, + hw = at91_clk_register_pll(regmap, "pllbck", at91sam9n12_pmc->chws[PMC_MAIN], 1, &at91rm9200_pll_layout, &pllb_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index c7fc4bcf4e5b..4ae8028600d5 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -104,7 +104,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9rl_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", at91sam9rl_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &sam9rl_plla_characteristics); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 8da2732a73fa..4cbb72a29f14 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -189,7 +189,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, at91sam9x5_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", NULL, at91sam9x5_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", at91sam9x5_pmc->chws[PMC_MAIN], 0, &at91rm9200_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-pll.c b/drivers/clk/at91/clk-pll.c index afd48cbaa6db..2ba068718f83 100644 --- a/drivers/clk/at91/clk-pll.c +++ b/drivers/clk/at91/clk-pll.c @@ -310,7 +310,7 @@ static const struct clk_ops pll_ops = { struct clk_hw * __init at91_clk_register_pll(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, u8 id, + struct clk_hw *parent_hw, u8 id, const struct clk_pll_layout *layout, const struct clk_pll_characteristics *characteristics) { @@ -330,10 +330,7 @@ at91_clk_register_pll(struct regmap *regmap, const char *name, init.name = name; init.ops = &pll_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 8f67a7a94c54..13e251e59853 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -740,7 +740,7 @@ of_at91_clk_pll_setup(struct device_node *np, if (!characteristics) return; - hw = at91_clk_register_pll(regmap, name, NULL, parent_hw, id, layout, + hw = at91_clk_register_pll(regmap, name, parent_hw, id, layout, characteristics); if (IS_ERR(hw)) goto out_free_characteristics; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 54088c6d4de4..5fd1e76b3ec7 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -202,7 +202,7 @@ at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, struct clk_hw * __init at91_clk_register_pll(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, u8 id, + struct clk_hw *parent_hw, u8 id, const struct clk_pll_layout *layout, const struct clk_pll_characteristics *characteristics); struct clk_hw * __init diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 809926c63078..b99a8bb9bf9a 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -221,7 +221,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) goto err_free; sama5d2_pmc->chws[PMC_MAIN] = hw; - hw = at91_clk_register_pll(regmap, "pllack", NULL, sama5d2_pmc->chws[PMC_MAIN], 0, + hw = at91_clk_register_pll(regmap, "pllack", sama5d2_pmc->chws[PMC_MAIN], 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 4453f47798b7..35a9dfd0e66d 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -168,7 +168,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (IS_ERR(mainck_hw)) goto err_free; - hw = at91_clk_register_pll(regmap, "pllack", NULL, mainck_hw, 0, + hw = at91_clk_register_pll(regmap, "pllack", mainck_hw, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 9f6ad0699702..ae76c59c7d42 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -183,7 +183,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_pll(regmap, "pllack", NULL, mainck_hw, 0, + hw = at91_clk_register_pll(regmap, "pllack", mainck_hw, 0, &sama5d3_pll_layout, &plla_characteristics); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126672 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp893149vqo; Wed, 26 Jul 2023 23:35:06 -0700 (PDT) X-Google-Smtp-Source: APBJJlGMNkXTFPeAPj66kQz/X/aMCTEyGiJ/72H8nV/YvK6FHZzfdi+oNeqvegnciFWt1cAFIlf0 X-Received: by 2002:a05:6a20:d408:b0:138:dbff:f0c1 with SMTP id il8-20020a056a20d40800b00138dbfff0c1mr3711587pzb.1.1690439705759; Wed, 26 Jul 2023 23:35:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439705; cv=none; d=google.com; s=arc-20160816; b=kqDteFUsII2RwVzFqmoKKW6xbOs+GrOqiaKYym7lp6Zx2aHOmYclVvRUFu034PIzEZ l/XikUtIk6dxCBwBx4KoDWmcakwZ8xbLC0z6FSEgjIC0KnX16GYiFTbdSj/U/A5FW8pJ cRh5Saw8BePhSlfNXISRWUBkKVn9LpqmU2/XbscgnSdk1oYnJo9b//fgnG4gnEcPVDR8 vpLhrLA3dDV4kKWxFZMwus7GARYJJMVg0RYir/ZMxG/MzU92H7cynSCs4TMhww3lnDnx wjkYCw1ZiYO9oNUbstJGq4kR/49RBqLgPB+tuWLItkXpHXwOhRqhFDBZVz2bIdGWZHpE qi+Q== 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=wrKKqV0HQO2EhBMgbawQJpGyCpTF7In/U2sRYiMWbK8=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=kg8PLOnpf4y+rTo46GfV2dCgZE0TkU1oHQEbV1HRtNOi18czKHH5QoefPaBS3qNMYg wQpKKrVj2CZPSEmL3NhetXcbXUcKdqTph/8vR1OSylJvyzvjDnlfWyd9VMMAdRH2ANI8 f2Vb6O9TgD0ZIDSgRnmVY9F1ECuPpMTs7z8nO04eFeXwDnQl47GXI4hVraAiIvBednOb bKIQVnBw80hy+VgICXMKWG1nJrq0HpTXBr/vVksFozJ18/U5ruDE/HaA2PE5CUAi4FXr qEgSf4vZrrSpNUsxlKyjk+Up07z9zGseF0grPN+5BdB3OQHVPcuDcOm0K47Z+K+t6PUQ 8j5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=D5aKsLXG; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dc14-20020a056a0035ce00b00686dfe4fa60si873657pfb.386.2023.07.26.23.34.51; Wed, 26 Jul 2023 23:35:05 -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=@tuxon.dev header.s=google header.b=D5aKsLXG; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232119AbjG0Fkl (ORCPT + 99 others); Thu, 27 Jul 2023 01:40:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231689AbjG0FkR (ORCPT ); Thu, 27 Jul 2023 01:40:17 -0400 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7B963C0D for ; Wed, 26 Jul 2023 22:38:42 -0700 (PDT) Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1b8b4749013so4392355ad.2 for ; Wed, 26 Jul 2023 22:38:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436203; x=1691041003; 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=wrKKqV0HQO2EhBMgbawQJpGyCpTF7In/U2sRYiMWbK8=; b=D5aKsLXGy2j6jm8tkzlTTceO4RSJRpKu2I3aRV4a0QzXpd5bjWkf+kAqE3F3BaNRfX DxaJ8Pde3fczdc/xBBGN/rAm0qcu8nBsr5/DMRo2EY6KhqcJL6B8It06mbh1wmECKQi+ lXciwovoIn1XmRc1i3qlC0eKwscXTiOGxSvgnOBGDjs5uCo8FJuiENt0wdOflwftWEM6 Z4bsbLB42Al2coRZvmXCMI4Of6jh6UC9ad+64wVD6PdAzwwvKuhWmE64zJU8vA6FZKfe eYFe0JJzcc+6TnQCAASwcDr20VpiO+it/Nl6pKOtUzOyZiIhmtbWNVsEaL65+KXKLIgN 69Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436203; x=1691041003; 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=wrKKqV0HQO2EhBMgbawQJpGyCpTF7In/U2sRYiMWbK8=; b=KTMRpaIVi6eHH+KBSexgLvMUqp7igvxMtHIN/lQyE4SPTIwqny4XkyWr0uk3M/rQnH mQ4wULgq31dTh61FZBDS5JI2/rb7rWi+r+iuqcQfKXFEyZlovJIvB+PSXk1+oIo8G8CA MYrCCOmr9zyc8ZLAEvD/HYrG67lDIZeSJBEV4jUK+QTSYzsdXzix/xj0S/BC+ZZ7q2sb ZL5ljPCyt5xtVzze+n1ujBF7s1DmiihnV+NIpc+/xwvqXLIHfoYPDStSr+VZdxJSBo2b nnHpBjTy+K170C1gdwo2UfmghLICgsVPXef9R4j4wkbzAwwNmgu0m6XH77CJsPgT8pWH H4Tw== X-Gm-Message-State: ABy/qLac6t4LvbK1aApQpLsWlXKo0IW6XWj9R64V0yRR8YpckCeX9WIh 89ugw1LutUqYjK40o+GQtaE7Nw== X-Received: by 2002:a17:902:b413:b0:1b8:2c6f:3248 with SMTP id x19-20020a170902b41300b001b82c6f3248mr3913704plr.39.1690436202969; Wed, 26 Jul 2023 22:36:42 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:42 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 35/42] clk: at91: clk-plldiv: remove parent_names support Date: Thu, 27 Jul 2023 08:31:49 +0300 Message-Id: <20230727053156.13587-36-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H2,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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554504921278488 X-GMAIL-MSGID: 1772554504921278488 Remove parent_names support as parent_hw support is now available on all platforms using clk-plldiv driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-plldiv.c | 11 +++-------- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 9 files changed, 11 insertions(+), 16 deletions(-) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index ca585440c54f..2bda11df7f0d 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -146,7 +146,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); + hw = at91_clk_register_plldiv(regmap, "plladivck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 2109b8cdf4ad..0c22b82ef368 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -172,7 +172,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); + hw = at91_clk_register_plldiv(regmap, "plladivck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 4cbb72a29f14..c2c5e9fe669c 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -194,7 +194,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); + hw = at91_clk_register_plldiv(regmap, "plladivck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-plldiv.c b/drivers/clk/at91/clk-plldiv.c index 1d5a0a6d299d..e4efb4ccab33 100644 --- a/drivers/clk/at91/clk-plldiv.c +++ b/drivers/clk/at91/clk-plldiv.c @@ -72,7 +72,7 @@ static const struct clk_ops plldiv_ops = { struct clk_hw * __init at91_clk_register_plldiv(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { struct clk_plldiv *plldiv; struct clk_hw *hw; @@ -85,13 +85,8 @@ at91_clk_register_plldiv(struct regmap *regmap, const char *name, init.name = name; init.ops = &plldiv_ops; - if (parent_hw) { - init.parent_hws = (const struct clk_hw **)&parent_hw; - init.num_parents = 1; - } else { - init.parent_names = parent_name ? &parent_name : NULL; - init.num_parents = parent_name ? 1 : 0; - } + init.parent_hws = parent_hw ? (const struct clk_hw **)&parent_hw : NULL; + init.num_parents = parent_hw ? 1 : 0; init.flags = CLK_SET_RATE_GATE; plldiv->hw.init = &init; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 13e251e59853..85193e4656b9 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -805,7 +805,7 @@ of_at91sam9x5_clk_plldiv_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91_clk_register_plldiv(regmap, name, NULL, parent_hw); + hw = at91_clk_register_plldiv(regmap, name, parent_hw); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 5fd1e76b3ec7..eed88a480b11 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -207,7 +207,7 @@ at91_clk_register_pll(struct regmap *regmap, const char *name, const struct clk_pll_characteristics *characteristics); struct clk_hw * __init at91_clk_register_plldiv(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); struct clk_hw * __init sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index b99a8bb9bf9a..75d5b1a3733b 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -226,7 +226,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); + hw = at91_clk_register_plldiv(regmap, "plladivck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 35a9dfd0e66d..a50e82460e70 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -173,7 +173,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); + hw = at91_clk_register_plldiv(regmap, "plladivck", hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index ae76c59c7d42..b6b41ceae13c 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -188,7 +188,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) if (IS_ERR(hw)) goto err_free; - hw = at91_clk_register_plldiv(regmap, "plladivck", NULL, hw); + hw = at91_clk_register_plldiv(regmap, "plladivck", hw); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126676 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp894154vqo; Wed, 26 Jul 2023 23:37:28 -0700 (PDT) X-Google-Smtp-Source: APBJJlE0HQj2i43e+cgzB3DoSiAqsaR54RMEoEyQdkRFdVRDEpzlmOSAsB/fDnqAV9dNbfgpfFuC X-Received: by 2002:aa7:d4d0:0:b0:522:203d:c9b1 with SMTP id t16-20020aa7d4d0000000b00522203dc9b1mr1044983edr.11.1690439848459; Wed, 26 Jul 2023 23:37:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439848; cv=none; d=google.com; s=arc-20160816; b=XZVd3td2mp7b8N77ab2nQHVkaCgGlKybuTFIWpDjtR9ydcXCmn8WghFuj5MC0UezJU vmlumgrmt1doVgME/Cn592fW352nlCt9qY02gdtAvGimjoEh5T4k6eReGSoAp0wj5YSV Ox6WPQQXicuvXIcKtGZwM8Vpci7LaV7E+Fia567R48gmyGG1GRsl4MlG7HqIZuCfNxK7 gTgIE/cW6mMqquqUgleAHtmeQ6YXrJXTC0h/hz00VDzAjZYJw/ygduTpp5vL12kC83zA 6K26d3fU6tkiYjCG4PtF4Au5+CPRDV80CfAuES5y8mHA9NF/7R8EWilJB8kXYmki1yPU ftkg== 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=+Q+Yl7hN1VwiQcIkQgiV66Esb2RGUFiRs91OdVgtBh0=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=aYqKfjvh5uz1puo8EuptiKXQu5Gt4fGkJnnEkT/Wso1KqbSQTr6FUmPPnTnPKTrigJ 4Io10Btl1FlBLJviZiuYFBQhNk78RWmuubjcYzHYogvCPzgWdSsapA2+JFH5Q02yaXWf FA/6lJqumk7hJKoI/EftcPNfO+WlTILyG/8mmeavUcnIS0YWKUth4FHEjbfFfG3aG201 lmZcKcL8EIpqY9cTK+275P4inrjGsez7SeHIr+kEDcnQU8/3PKNpqPoQVHi1qFe4pTeQ QyxqAAUMOrowoTfHAuTHk2FZEKo0PHpxtiT5qunCXnl4wCKZp0ceSyseB0jOHltt0S9h IAxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=M0glJThl; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m2-20020a50ef02000000b005222af123bfsi471360eds.301.2023.07.26.23.37.04; Wed, 26 Jul 2023 23:37:28 -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=@tuxon.dev header.s=google header.b=M0glJThl; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232233AbjG0FlF (ORCPT + 99 others); Thu, 27 Jul 2023 01:41:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229661AbjG0Fkh (ORCPT ); Thu, 27 Jul 2023 01:40:37 -0400 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C70DC4683 for ; Wed, 26 Jul 2023 22:39:02 -0700 (PDT) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1bbc64f9a91so4650335ad.0 for ; Wed, 26 Jul 2023 22:39:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436210; x=1691041010; 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=+Q+Yl7hN1VwiQcIkQgiV66Esb2RGUFiRs91OdVgtBh0=; b=M0glJThlvwbGMQ+zCXsOdBo8zfEv8aUEkaRD1lWoFtxH8KWlcevQsd8CVfI5jCSbV5 GviLj1eQYirIuNhvCwfOZYnKqOeGaDAGmQ81PpzBhpgCl3DFaXkBEbmGf4feY8CwCXbh sPrPP2xuvoBD4ePCM3Fdsz0idTiBaWIkTMf9ffxGN7PhhFC3fIG0ZaNpq37DJACJcPvZ MPDIofZp+XOLQELb9C6kXuwvLBe4xAz0PIaOHCipxoc6tIgR0Hi0laRXYOu1IDGDx8Bu zamHJme4DZQSOzBVNzw88sbqFlCLSPMF60KtvVt6e7of+G+gm7KBRLKOf5yQUjDJlyKR TyTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436210; x=1691041010; 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=+Q+Yl7hN1VwiQcIkQgiV66Esb2RGUFiRs91OdVgtBh0=; b=eyAjxx5JzZtuH96bZfom9VXElAlkCjUrayGY8MVzmsZbYkrAHpee5l4f7UwQjNKXyr v0yewbYjs1O7A28HX1WR6ODXsjLkJWDHifF2bEX3zVYijOSLIKVe5RBhv3oV/G++Ko+X 0ThotPFSY2y2pAZS6yH0SowXoX0Ur6zeIpOljOAdWaJMWuRXY8G52sIuHvcAkstHJb3B UuWmio/VMOzr+TPO1vCdmMuS9ldH2Axivbs/ZtR+4Ulkt92/loDMweYa6CrxXZvkUy53 9OlmoHw9+ETRUfFa6D62BYta1n38mWrQpxtoQ9f36m8r/Ey4xcNJH8ZhxSJpogUimFZV 7thw== X-Gm-Message-State: ABy/qLbNItwKG1Ld6jlm0mW6Jmnsp+BOGqi+kyMELPBlbOI3zW+cAPCE +9pFDrsAtGiPM/jix6NDnJc0vQ== X-Received: by 2002:a17:902:ea06:b0:1b8:4e00:96b with SMTP id s6-20020a170902ea0600b001b84e00096bmr5499076plg.9.1690436210347; Wed, 26 Jul 2023 22:36:50 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:50 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 36/42] clk: at91: clk-programmable: remove parent_names support Date: Thu, 27 Jul 2023 08:31:50 +0300 Message-Id: <20230727053156.13587-37-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554654497001954 X-GMAIL-MSGID: 1772554654497001954 Remove parent_names support as parent_hw support is now available on all platforms using clk-programmable driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 2 +- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-programmable.c | 10 +++------- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sam9x60.c | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- drivers/clk/at91/sama7g5.c | 2 +- 14 files changed, 16 insertions(+), 20 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index be88279c3443..9305cb6eaef2 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -178,7 +178,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 4, i, + parent_hws, 4, i, &at91rm9200_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index bd5e0ce432d3..c118ff23548b 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -451,7 +451,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 4, i, + parent_hws, 4, i, &at91rm9200_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 2bda11df7f0d..a5bc6f5c8173 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -197,7 +197,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 5, i, + parent_hws, 5, i, &at91sam9g45_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index 0c22b82ef368..b4dfe2d1de8a 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -223,7 +223,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 5, i, + parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 4ae8028600d5..48d79189fc98 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -150,7 +150,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 5, i, + parent_hws, 5, i, &at91rm9200_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index c2c5e9fe669c..f278bee3417c 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -247,7 +247,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 5, i, + parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/clk-programmable.c b/drivers/clk/at91/clk-programmable.c index 1195fb405503..a400aac5b2e2 100644 --- a/drivers/clk/at91/clk-programmable.c +++ b/drivers/clk/at91/clk-programmable.c @@ -213,8 +213,7 @@ static const struct clk_ops programmable_ops = { }; struct clk_hw * __init -at91_clk_register_programmable(struct regmap *regmap, - const char *name, const char **parent_names, +at91_clk_register_programmable(struct regmap *regmap, const char *name, struct clk_hw **parent_hws, u8 num_parents, u8 id, const struct clk_programmable_layout *layout, u32 *mux_table) @@ -224,7 +223,7 @@ at91_clk_register_programmable(struct regmap *regmap, struct clk_init_data init = {}; int ret; - if (id > PROG_ID_MAX || !(parent_names || parent_hws)) + if (id > PROG_ID_MAX || !parent_hws) return ERR_PTR(-EINVAL); prog = kzalloc(sizeof(*prog), GFP_KERNEL); @@ -233,10 +232,7 @@ at91_clk_register_programmable(struct regmap *regmap, init.name = name; init.ops = &programmable_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 85193e4656b9..11fdbca8ee83 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -860,7 +860,7 @@ of_at91_clk_prog_setup(struct device_node *np, name = progclknp->name; hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, num_parents, + parent_hws, num_parents, id, layout, mux_table); if (IS_ERR(hw)) continue; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index eed88a480b11..7d2524109776 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -226,7 +226,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, struct clk_hw * __init at91_clk_register_programmable(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents, u8 id, const struct clk_programmable_layout *layout, u32 *mux_table); diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index 148873fced1b..897a8f2d6102 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -318,7 +318,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 6, i, + parent_hws, 6, i, &sam9x60_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 75d5b1a3733b..c64b79b44ba6 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -304,7 +304,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 6, i, + parent_hws, 6, i, &sama5d2_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index a50e82460e70..021e012fe202 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -226,7 +226,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 5, i, + parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index b6b41ceae13c..e196ec80570f 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -249,7 +249,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); hw = at91_clk_register_programmable(regmap, name, - NULL, parent_hws, 5, i, + parent_hws, 5, i, &at91sam9x5_programmable_layout, NULL); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index 9cba1ad116a8..baec84bd5d06 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1171,7 +1171,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) snprintf(name, sizeof(name), "prog%d", i); - hw = at91_clk_register_programmable(regmap, name, NULL, parent_hws, + hw = at91_clk_register_programmable(regmap, name, parent_hws, 9, i, &programmable_layout, sama7g5_prog_mux_table); From patchwork Thu Jul 27 05:31:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126671 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp891608vqo; Wed, 26 Jul 2023 23:31:29 -0700 (PDT) X-Google-Smtp-Source: APBJJlEDdY9uqigT5vMii6d5w0FU4dI0/8OOFbc0weVNiYvJ3uY6egxSjw6W81CWWNGrR3GHHlLz X-Received: by 2002:a19:505d:0:b0:4fd:ba8d:d4ed with SMTP id z29-20020a19505d000000b004fdba8dd4edmr851533lfj.24.1690439489160; Wed, 26 Jul 2023 23:31:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690439489; cv=none; d=google.com; s=arc-20160816; b=IQBd8lG7OuQADLQgFO/IQB2F0AEbDzjkpLkuutLbkkWqrqyFX+2cOSZDY5v6K5KD8R et5s5lRPIVVqoEzndF8gNUuF9Mp1JYmFtBTriOe9syHtaGmO6zvuYwrppP+xbwtybAQK CANegT823GaF9EBTKHScY8vwlTyd2h7m/k/q9jAKJuP2ZSc9A8KaFUNKUMS9XwSNiL9c mFgNz1lTnhlvnRA3gyCKRa2zr/35mTSqhQqYXe/lUlTmBpz3EuBwUUyh3vW8V+bR+dwa LUmSTZsCO0kfewQSO6KD5RwiWMyuE/VmgoKnW0e3ST3XfR/T5ATKEyJ01/T/1pHpvMUy RtLg== 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=rFDKIrER1Q8EDEuXgmXxXy7qiRoYOQyJHV+mlKGKhyM=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=jN8/u2Moost4rBsANMuduc2vVUZ0X62ZOFkAWttSK4N4B1UsQ35FSiQVCP83ybjpOO g6fwX/tfyRa8jAe6WYTQnvmcHG5TfsUGdTMNYCjUNw8WxvYmyqTo1c1V8t+7sNKOnAk2 4FmjwlxmHV5asl+QvIPGhhPi85tg3tbGgA9N5FVYyRV9kP0vEgokaJcZq+RmYxtm1dEN UCrxK0ex2gFg4PW73Z7/uUj1ZPkijTl01Lcun1517Oqp6/3gGAXywtDttiC9I52mPI4O HfSIDhe8xBkh6YoXh5OzMV2lCW+w5RsRTzQdDPM8GuUu68M1i7ZVHzuqkzH8gvlB5wOR K9bA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Q5pItotC; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c21-20020aa7d615000000b00522467311e0si488985edr.634.2023.07.26.23.31.02; Wed, 26 Jul 2023 23:31:29 -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=@tuxon.dev header.s=google header.b=Q5pItotC; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232211AbjG0Fjj (ORCPT + 99 others); Thu, 27 Jul 2023 01:39:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232180AbjG0FjG (ORCPT ); Thu, 27 Jul 2023 01:39:06 -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 20A4F421A for ; Wed, 26 Jul 2023 22:37:54 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1b8ad8383faso4796625ad.0 for ; Wed, 26 Jul 2023 22:37:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436218; x=1691041018; 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=rFDKIrER1Q8EDEuXgmXxXy7qiRoYOQyJHV+mlKGKhyM=; b=Q5pItotCSKZWCFdXRGzjghrjkFi3Z+sL99/EwD3Ud+0lavJWRnFGQcG6R/iJ0c0TXT ic/vw6K4bWiQE6uKkhkm3GJFvQyyQK2EfHDZu622BFd72xzRH53btHPRiPzreyUVh/iz lm5zXMA1QdQ0lC4Dx8qpxKISW74rUgtQeRe3s5m8APoc9Kw7Txf4YfsMMN/xrF91WMIj boLQeStCa0Rvxfk9p16kl10ebs4CovIh1JwOtMxDkxCTasP5WYdA7GI3vbvVljYvUyj2 thyshFC6UF1wuFcrV+p5KZwTitrW4H5GTyZ5Ift67NF5kW+oi7mIOhKan6DBuHdfLTjR 63wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436218; x=1691041018; 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=rFDKIrER1Q8EDEuXgmXxXy7qiRoYOQyJHV+mlKGKhyM=; b=Fj6vlOPdlmteX0r2iubSh/YL/ObDEWaRtx/IwFa225Rx9EQbwW4jYcvoGI14m8HkfW 8WXfkfuOPdyDiLCzNv5okhEHIl0snVrkQjDSRBwDRLQCkXIaj0WTxcSOfwzWJ/ck9Fhy wr5F2vSkcZDJJRtDm+YA8kPCW/4jEc22lWh6XGor+gqMOAj8lK9iM/I4zDuyFIFX0FoV SopM76TcVLffxozhK3PeV/UZkxhmgX1Eo2IvVB4M3XlZgelDwXydyRBEQ8JO2rRs7lS4 FCNIPqxXsDGmJUVf+Fa8EZiVeUzVg8dgNotQXVESVEkYfGRe2odOfs0+3vBRBhuvVM+C YkRQ== X-Gm-Message-State: ABy/qLZ0jvzr+2wALqvQKeionFiFBU9mQyH4wOy6aFzlSvRxzr8dmlfu uEXWWmH5PmSKnQyu1IJiTiq2Mw== X-Received: by 2002:a17:902:f681:b0:1b6:b805:5ae3 with SMTP id l1-20020a170902f68100b001b6b8055ae3mr4943140plg.3.1690436218328; Wed, 26 Jul 2023 22:36:58 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:36:58 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 37/42] clk: at91: clk-sam9x60-pll: remove parent_names support Date: Thu, 27 Jul 2023 08:31:51 +0300 Message-Id: <20230727053156.13587-38-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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_BLOCKED, 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772554277946129189 X-GMAIL-MSGID: 1772554277946129189 Remove parent_names support as parent_hw support is now available on all platforms using clk-sam9x60-pll driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/clk-sam9x60-pll.c | 16 ++++------------ drivers/clk/at91/pmc.h | 6 ++---- drivers/clk/at91/sam9x60.c | 8 ++++---- drivers/clk/at91/sama7g5.c | 4 ++-- 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c index ff65f7b916f0..787ab36ecdba 100644 --- a/drivers/clk/at91/clk-sam9x60-pll.c +++ b/drivers/clk/at91/clk-sam9x60-pll.c @@ -609,8 +609,7 @@ static const struct clk_ops sam9x60_div_pll_ops_chg = { struct clk_hw * __init sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, u8 id, + const char *name, struct clk_hw *parent_hw, u8 id, const struct clk_pll_characteristics *characteristics, const struct clk_pll_layout *layout, u32 flags) { @@ -629,10 +628,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, return ERR_PTR(-ENOMEM); init.name = name; - if (parent_name) - init.parent_names = &parent_name; - else - init.parent_hws = (const struct clk_hw **)&parent_hw; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; if (flags & CLK_SET_RATE_GATE) init.ops = &sam9x60_frac_pll_ops; @@ -695,8 +691,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, struct clk_hw * __init sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, u8 id, + const char *name, struct clk_hw *parent_hw, u8 id, const struct clk_pll_characteristics *characteristics, const struct clk_pll_layout *layout, u32 flags, u32 safe_div) @@ -720,10 +715,7 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, return ERR_PTR(-ENOMEM); init.name = name; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; if (flags & CLK_SET_RATE_GATE) init.ops = &sam9x60_div_pll_ops; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 7d2524109776..fe86cca2776e 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -211,16 +211,14 @@ at91_clk_register_plldiv(struct regmap *regmap, const char *name, struct clk_hw * __init sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, u8 id, + const char *name, struct clk_hw *parent_hw, u8 id, const struct clk_pll_characteristics *characteristics, const struct clk_pll_layout *layout, u32 flags, u32 safe_div); struct clk_hw * __init sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, u8 id, + const char *name, struct clk_hw *parent_hw, u8 id, const struct clk_pll_characteristics *characteristics, const struct clk_pll_layout *layout, u32 flags); diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index 897a8f2d6102..68abd0fd47db 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -238,7 +238,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_pmc->chws[PMC_MAIN] = hw; hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "pllack_fracck", - NULL, sam9x60_pmc->chws[PMC_MAIN], + sam9x60_pmc->chws[PMC_MAIN], 0, &plla_characteristics, &pll_frac_layout, /* @@ -251,7 +251,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) goto err_free; hw = sam9x60_clk_register_div_pll(regmap, &pmc_pll_lock, "pllack_divck", - NULL, hw, 0, &plla_characteristics, + hw, 0, &plla_characteristics, &pll_div_layout, /* * This feeds CPU. It should not @@ -264,14 +264,14 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_pmc->chws[PMC_PLLACK] = hw; hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "upllck_fracck", - NULL, main_osc_hw, 1, + main_osc_hw, 1, &upll_characteristics, &pll_frac_layout, CLK_SET_RATE_GATE); if (IS_ERR(hw)) goto err_free; hw = sam9x60_clk_register_div_pll(regmap, &pmc_pll_lock, "upllck_divck", - NULL, hw, 1, &upll_characteristics, + hw, 1, &upll_characteristics, &pll_div_layout, CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index baec84bd5d06..0d81a955e686 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1074,7 +1074,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, sama7g5_plls[i][j].n, - NULL, parent_hw, i, + parent_hw, i, sama7g5_plls[i][j].c, sama7g5_plls[i][j].l, sama7g5_plls[i][j].f); @@ -1083,7 +1083,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) case PLL_TYPE_DIV: hw = sam9x60_clk_register_div_pll(regmap, &pmc_pll_lock, sama7g5_plls[i][j].n, - NULL, sama7g5_plls[i][0].hw, i, + sama7g5_plls[i][0].hw, i, sama7g5_plls[i][j].c, sama7g5_plls[i][j].l, sama7g5_plls[i][j].f, From patchwork Thu Jul 27 05:31:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126694 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp906790vqo; Thu, 27 Jul 2023 00:05:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlF/6H1Mp15qN5DAnDRtD8wWMyu6nflFmXFajHrldBA9fQKLPru7YpvxBBrfMpSS1drIF6VD X-Received: by 2002:a17:907:7287:b0:99b:cadd:c2ee with SMTP id dt7-20020a170907728700b0099bcaddc2eemr1300890ejc.29.1690441526664; Thu, 27 Jul 2023 00:05:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690441526; cv=none; d=google.com; s=arc-20160816; b=xAjcTaFAXNJ7E8lF3M/Ud+vFvdL0Km3pYrAa8bGhtUk7WyP5W7H6DOeqc3ow//kecD dOOE/n2vgR5x8JLAhTinloxbhu9VN+He6eW0WR6XuOrpnxXJemlKhxhXaBhwtmA2yG/B kA2/Km4ktidZADDeM4lhBWcN0751is2LPP4yWnixskis2KNDal9myWbLkZkeHoECchU2 SgyEQjPrDEJ25fo7kPcnEY9VWBU0xZ/KLIhgno9Tq5qugn7wUMqtZ5JXsZC8GQvDwMQ3 NZ2uq+nrWzbBsawXX8vXA2x9xJg3xaQTqis+ydWd5P4kzkEaDgTqKZL9sEbnZw1l0+Rw Mpyg== 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=HhTcRhK2gQ4jMW+59NMw/SaH7OUANNH6Zo/DOVN6+as=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=uuYxeQLtfikx2QGACXfdkICD/Yo8VQh9FwX9ieewFjISFqfL8hBNNkaeD+LmtlKFk8 Zfd+SI28zWzPZKN4F6Tsmgl/WEAk9KZLODOJ5XzRbpVbrRvH9NvRIJ5wE0ucJcjlQhSY YTsjccaTdTkK1iky0YvnzobsiwsZu9aU5W09jx4DTRdcW0aJ0hdvz3ePIS95O7qHU1fY KiVQ+QLJDMoxza+QyhyJ7h2DZJGvF1VHCk1ZpGhcUm94hrjIjKsLCy5Mtrw3ELmlbLSJ SXEbtpbcTg3PuWrTNwB/SkZm/QHPUc00MTPUv7II9/3XcDST9x8Bn1XqBle+S4bH28KR JV6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=DlLGy8hl; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v25-20020a17090690d900b0099bc39cf3fdsi541281ejw.848.2023.07.27.00.05.02; Thu, 27 Jul 2023 00:05:26 -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=@tuxon.dev header.s=google header.b=DlLGy8hl; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231722AbjG0Fjw (ORCPT + 99 others); Thu, 27 Jul 2023 01:39:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232270AbjG0FjK (ORCPT ); Thu, 27 Jul 2023 01:39:10 -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 39AE93C0C for ; Wed, 26 Jul 2023 22:37:59 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1bbc06f830aso3469555ad.0 for ; Wed, 26 Jul 2023 22:37:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436225; x=1691041025; 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=HhTcRhK2gQ4jMW+59NMw/SaH7OUANNH6Zo/DOVN6+as=; b=DlLGy8hlTRIK/ljo4LGFmrYRfDnd+QvQ7CtqcZrNfjWPSXrFxRQi4Z/7shGMIDLqvK QMxlty1Q+Ma232hFEwGF3lSfAQZnxtK75Nl+GkFtlZdyjV9SrCAZ3ISwTHQG+d0kY6Je 6K23ojczKRZIwqOXOP6JDy0YnX/XKf5gw4HwYQzvozTh8SdcIHYR50rxel58D5NT0z5M +nIvynHPLNBsZazi/zhoxTG+w1CTN6hhSm4au62rRvn2iCdeEkKFQYg+zHUO19m/9i0w kktYtXExlIRmASejBBzkcI5Rzz+GA+4qm4gj7hKF9obMZeKSDSaWMQQlwCQ+Iyx4BVe+ YVeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436225; x=1691041025; 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=HhTcRhK2gQ4jMW+59NMw/SaH7OUANNH6Zo/DOVN6+as=; b=SXsOD72GxiV74Vaf7EsHl3gkThL0mCefSzKB47KlPa+HkVdwBJRqaTaF3iUIDv7bFH RkALsT7YoFYhVmKq/i14I5AEW3Z/uXQ7gGkbkZHN/WP//cQ+XC7CR3Y4q4VOv4mkzTr1 0DWhuMYKxZ7OzyzEZ5mU2H7ovjxG71MpGqSLWSmPwc77NrDsrOa+N4Ju+Spi/KaUMl/o Yp2AJIVgdicNCOZpfkqK37aD7MRX1BUEvsOAc5qMCZFUSMGt7Ivaa77wKT3zh4f3TN+5 OqqiFMS9rkTXrSb1LkZkWNMFOmDyR9k5cNqhsJkIG7pdmy0xhjhM3h32+9q8RhtMRZOa rGUg== X-Gm-Message-State: ABy/qLak5h+kzgZtvYgr9vJBsZLVQRTcJE+a5jyEktez1jbe8lVmHEFO 20/xBdYPrufUUMPoNyMgG9FcyA== X-Received: by 2002:a17:903:1d1:b0:1b8:5bca:8256 with SMTP id e17-20020a17090301d100b001b85bca8256mr1971040plh.31.1690436225650; Wed, 26 Jul 2023 22:37:05 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.36.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:37:05 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 38/42] clk: at91: clk-slow: remove parent_names support Date: Thu, 27 Jul 2023 08:31:52 +0300 Message-Id: <20230727053156.13587-39-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772556414149971913 X-GMAIL-MSGID: 1772556414149971913 Remove parent_names support as parent_hw support is now available on all platforms using clk-slow driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/clk-slow.c | 8 ++------ drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 1 - 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index c118ff23548b..97efc39a7e2b 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -390,7 +390,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, parent_hws[0] = hw; parent_hws[1] = slow_xtal_hw; - hw = at91_clk_register_sam9260_slow(regmap, "slck", NULL, parent_hws, 2); + hw = at91_clk_register_sam9260_slow(regmap, "slck", parent_hws, 2); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-slow.c b/drivers/clk/at91/clk-slow.c index bea66216ed82..ee2dfc44d29e 100644 --- a/drivers/clk/at91/clk-slow.c +++ b/drivers/clk/at91/clk-slow.c @@ -38,7 +38,6 @@ static const struct clk_ops sam9260_slow_ops = { struct clk_hw * __init at91_clk_register_sam9260_slow(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, int num_parents) { @@ -50,7 +49,7 @@ at91_clk_register_sam9260_slow(struct regmap *regmap, if (!name) return ERR_PTR(-EINVAL); - if (!parent_names || !num_parents) + if (!parent_hws || !num_parents) return ERR_PTR(-EINVAL); slowck = kzalloc(sizeof(*slowck), GFP_KERNEL); @@ -59,10 +58,7 @@ at91_clk_register_sam9260_slow(struct regmap *regmap, init.name = name; init.ops = &sam9260_slow_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)&parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)&parent_hws; init.num_parents = num_parents; init.flags = 0; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 11fdbca8ee83..90d92a410097 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -920,7 +920,7 @@ static void __init of_at91sam9260_clk_slow_setup(struct device_node *np) of_property_read_string(np, "clock-output-names", &name); - hw = at91_clk_register_sam9260_slow(regmap, name, NULL, parent_hws, + hw = at91_clk_register_sam9260_slow(regmap, name, parent_hws, num_parents); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index fe86cca2776e..a0b49dd3749f 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -232,7 +232,6 @@ at91_clk_register_programmable(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_sam9260_slow(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, int num_parents); From patchwork Thu Jul 27 05:31:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126663 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp879696vqo; Wed, 26 Jul 2023 23:05:30 -0700 (PDT) X-Google-Smtp-Source: APBJJlEXDLKP4ACNTaLuiUePVF8vJa7+Z51NAP8wluywh8tyxnH9TBDycR+BQ+djrevgrYyCC9Zq X-Received: by 2002:a05:6808:1523:b0:3a3:f932:4b80 with SMTP id u35-20020a056808152300b003a3f9324b80mr2708167oiw.5.1690437930684; Wed, 26 Jul 2023 23:05:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437930; cv=none; d=google.com; s=arc-20160816; b=w5ZclxdG5oVoyKY4v1yO4Vz/6ejHTO/kByPNruut3aYYx0LkrfK81fqIhQyDFPv8oy Lud57j1DsHFBZ03YePVsiVO7g/vBPhUDsByDcwM4T4gK1Xet7jAJPoe/K/yhUrq0J7M/ NCUXbnlWnsMsASOskOkLfRxbcpO8e7SpBoZ1sFUhNhV5b3hwsXMPqUR43a9LVFC4TXxO a8joAAKU6C5Mv0OMfmoFqZ74r4H6i/vat7jbNoVWJbXP60TQ2A/ZLKJuWYlzdk9Iy36N b7iB9+Z2uY3mfSvP0nrbpaa3LPHM90dMbmfJ1msE4p763duBm6WPpZik3jePBBJY13Ds XI6Q== 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=rMrH2veSKJpQGvEe5VG+6yf2IP3UM7TTWUkhUdnFvBE=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=qRMIOP1CYqw/RKqAxd0JR9/kVut0TnAEqUQqtoSeMr5PG6S8sn/rv5xW2UZ903xGBc +neBgnkMFeysLVx++GGrU/koX650K/HGEIhjNGNRTInYVA8uN3BD9ioUnDfsEbI7nhgT 0jhR+EnOdEJviOTXL9sYzDOH81/14WkRIDLQY1DwSeeKpbWLpSGf3D1GI1Gy1CEK/nbW qFGPEhMFmouHg68VxNxbLTQjczKVniTJ1pWAFWQh2gJfrBz4oM8iO47Asiq0cgnEQfLn nB+wCaHrQ+eTLYXcvyv9l6kqSLWcxzK7GFyQVg1w/jal+kwXuYmPm1VXkOmgfhQHfuJO LnSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=m9WxlI86; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 207-20020a6300d8000000b00563d6a2aab9si678906pga.588.2023.07.26.23.05.16; Wed, 26 Jul 2023 23:05:30 -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=@tuxon.dev header.s=google header.b=m9WxlI86; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232378AbjG0FkA (ORCPT + 99 others); Thu, 27 Jul 2023 01:40:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231451AbjG0Fj3 (ORCPT ); Thu, 27 Jul 2023 01:39:29 -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 998C93A95 for ; Wed, 26 Jul 2023 22:38:07 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1bb8e45185bso3494685ad.1 for ; Wed, 26 Jul 2023 22:38:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436233; x=1691041033; 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=rMrH2veSKJpQGvEe5VG+6yf2IP3UM7TTWUkhUdnFvBE=; b=m9WxlI86VXkvIJaFZfBm9fikWzK2MXmSLJNO1gZJ2uRq6s8IzrMtlcTgZMgvEj+600 sSBdKIlxf26m7GzYTWJMR04vM45e48dNkTtVN4IlXE3+FsqLJO67ubZqHx16RGzcOicG LP0JtY7a/pKBRoXgfDsPEi5Ny2Y4fbyvDNgxv23T4eqeqKGxXsjfPQcbqZwfsqzR+sp+ nMdgyVT8zAITbTAZXsml2cdZPeguyd/OIboLKr55+OGZUL9wJOyj2+29lwzL/WuygTsI yjONzfNg8PiHWPPCx+Y+We/eE+UysNO0nQoux9GQ4o1VBvfwWopHWj0ILfUmlRRSiRVD ZD6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436233; x=1691041033; 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=rMrH2veSKJpQGvEe5VG+6yf2IP3UM7TTWUkhUdnFvBE=; b=WNXioQhz7NmdDzykzlnF3xxwC+Hbj2vwQJkeGtjQ63tOsrFO6VtD9JJwispNdkIndk OJHvU4tcCV2OLcUhfq95d4JdgWJ1ZsjVZ5Rwpl1P40GZ0R836k9flpbvJSeakCb689XM 6xtzA5iahEk2cZipCc+ugNFpln94DrmHs8UuN2bRhI1nSk2T2xXPk1tmW8ssoCvhJtxu QIHxzmwbckFJnuDeCuxWUaJ5Dz50L63to75aKvLvYZnGO7iLRR1Me6TMx8ugIDzOYgZX ie1CExoUWNRLWrDWQyOeRYhNyVwiDj9oedJxe5sOuYN2mnR2zUpyhOpeDJNyFKzwJBI9 7trg== X-Gm-Message-State: ABy/qLbMjI3fNq+A4zsdE4vzqB4b4NIoAY2wXB8Sg8hP3z9Js//x7ZYA StrkWiorWVfdmC0v9pdUjy0goQ== X-Received: by 2002:a17:902:bcc9:b0:1b1:7362:9a18 with SMTP id o9-20020a170902bcc900b001b173629a18mr3093097pls.27.1690436232704; Wed, 26 Jul 2023 22:37:12 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.37.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:37:12 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 39/42] clk: at91: clk-smd: remove parent_names support Date: Thu, 27 Jul 2023 08:31:53 +0300 Message-Id: <20230727053156.13587-40-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772552643456675928 X-GMAIL-MSGID: 1772552643456675928 Remove parent_names support as parent_hw support is now available on all platforms using clk-smd driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-smd.c | 7 ++----- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 6 files changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index f278bee3417c..93165263502e 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -232,7 +232,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, if (IS_ERR(usbck_hw)) goto err_free; - smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", NULL, parent_hws, 2); + smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_hws, 2); if (IS_ERR(smdck_hw)) goto err_free; diff --git a/drivers/clk/at91/clk-smd.c b/drivers/clk/at91/clk-smd.c index 2c8432cc2fe6..b182c11386ea 100644 --- a/drivers/clk/at91/clk-smd.c +++ b/drivers/clk/at91/clk-smd.c @@ -111,7 +111,7 @@ static const struct clk_ops at91sam9x5_smd_ops = { struct clk_hw * __init at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents) { struct at91sam9x5_clk_smd *smd; @@ -125,10 +125,7 @@ at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91sam9x5_smd_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 90d92a410097..294e3b0e8a9d 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -964,7 +964,7 @@ static void __init of_at91sam9x5_clk_smd_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9x5_clk_register_smd(regmap, name, NULL, parent_hws, + hw = at91sam9x5_clk_register_smd(regmap, name, parent_hws, num_parents); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index a0b49dd3749f..131ef55d3e47 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -237,7 +237,7 @@ at91_clk_register_sam9260_slow(struct regmap *regmap, struct clk_hw * __init at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents); struct clk_hw * __init diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 021e012fe202..239806dcd03d 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -211,7 +211,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) if (IS_ERR(usbck_hw)) goto err_free; - smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", NULL, parent_hws, 2); + smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_hws, 2); if (IS_ERR(smdck_hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index e196ec80570f..f193460495c0 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -234,7 +234,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) parent_hws[0] = sama5d4_pmc->chws[PMC_PLLACK]; parent_hws[1] = sama5d4_pmc->chws[PMC_UTMI]; - smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", NULL, parent_hws, 2); + smdck_hw = at91sam9x5_clk_register_smd(regmap, "smdclk", parent_hws, 2); if (IS_ERR(smdck_hw)) goto err_free; From patchwork Thu Jul 27 05:31:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126648 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp873037vqo; Wed, 26 Jul 2023 22:52:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlHmvuxZyk/RdIVrG5UVCzIKOtak5FbGA8AGzIX6+FNWWgpjdm94xfEQmXLqRzyzFpVnxljy X-Received: by 2002:a05:6a00:88e:b0:682:5a68:983c with SMTP id q14-20020a056a00088e00b006825a68983cmr4466886pfj.34.1690437122105; Wed, 26 Jul 2023 22:52:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690437122; cv=none; d=google.com; s=arc-20160816; b=rdHGdfRZOOJPBtPfrrYrsgSE9UQPEef2CbuPX2t0/gRs7d3YeCOQVwYl4qdaXRW2lC G0qLz5Fc5Ae1DSdLzMQedvniZnp9y4rSwym1rpaf40U9rwnEoLXqDkvmedfmY+siYUSQ tDfbP3+hLshm4pzQ6tD0gDxMrm75+erGfcP/esSiAVYsvDPQ4rk7+2enHpoWkzpf7Mdf QaHQRffm2bG+kRIg7jOnpouqFFq+KFnc3GRdG+WixnSU70dxx4aqi7Re0+E7yheqerxU 1UGffVec6Zw/zhd4tKxMuVzyMzanIkENwEm5zsxs47fHejXhtYVS6rivAPDPZQKskns0 dmGQ== 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=/MZ4Kp4lF1KjxsdE0fjXbxu2hcT01qgittw8+AX1ais=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=zx/PpW8vHtXl5wI51qL59DUG76hUJTO+J/Lp2kpB3sijazEvcLaeNz4wjikDKIhyhD HOrR4cjDAjOqhS7XdVq/F8fKUXSVD87ZHpX/2GJH/bmfEoq5Y/xWkr5cHOzPV53IOWtL L8PoYkOtIXo/K//sIJ+uCDnpHNkkvdqO4ZnjbROuRzGIStbJnM+tctLfUsGG7ArjnUAM ds6+2a6eeS0TC6pk5klk/xnh8oGT6lxNnfWlZFUga4Qd9XagI+RblPig7Nu97QagMuqp ddZkQya5X/70CLz35sXxu/50cEmpIp9Xdhx4zezYvsI/fDr4eCO2kLKk7vxSUnEqVS6E mZfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=i33XmaIP; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w67-20020a636246000000b00553b9b1886bsi653259pgb.621.2023.07.26.22.51.48; Wed, 26 Jul 2023 22:52:02 -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=@tuxon.dev header.s=google header.b=i33XmaIP; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232386AbjG0Fkq (ORCPT + 99 others); Thu, 27 Jul 2023 01:40:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231857AbjG0FkV (ORCPT ); Thu, 27 Jul 2023 01:40:21 -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 82AEB3A98 for ; Wed, 26 Jul 2023 22:38:48 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1b9ecf0cb4cso3730255ad.2 for ; Wed, 26 Jul 2023 22:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436240; x=1691041040; 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=/MZ4Kp4lF1KjxsdE0fjXbxu2hcT01qgittw8+AX1ais=; b=i33XmaIPrG9ujwJu4RPYfqz8tKC9aklbCEg/XJ0TTJ22HMJou819xTe2CJOD+h3BaJ A4TvzOl9/d4C6hKAUdtaXx/zc0/ybVl7vZZ+yX/IlkoHLbWnkdV96jSTpq/2OFIAwcYX 03PFq2YbVY5QL/bXMseU1ec/qce+ZTGCeE/sCEBNHoMpixUyw//bfdfFFO0vs5HpCz1o 84B/RrGpCUNU8JdlQ89/x3Bs+Wi5hQkGo6Q601oO8Sp+nS7e8tXSbt1BvCn7Z37t7tg4 RonKcJUBVICucljvRHrdMp0nyUzxeo5S4RPgAqTJNCkX3DMToGxBlC7Byoxm18iRo7+q QRgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436240; x=1691041040; 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=/MZ4Kp4lF1KjxsdE0fjXbxu2hcT01qgittw8+AX1ais=; b=D3bsUoJUNkNzt3uHn8+HxlF5Acs3o61tx6apA2CznxX+DSOI48B2dzzIOyE0jwe1Hj Bxejx1oW+4pwkPM0iCOJY8Se6ThYUw3U1CBjrdHKoIylp07f7M9Bw54hbQxjAx/ZTTdg yeOA3x3yXe0GVSX+1c01uO+na8oqfUVxTlnZdkyr1Z6C+0g0kzbDgNMez+4rfrt8inJZ Et7Uutm36DtweRMjcX/5pdjsJ7eFnBMM3RJTN9mHkyntW/RkpitChDhRHV252J2hMZHh 2xGplPQyJ+YqI9iw5CIBQ+R45AI/75dN7Gmt7gTLxoKojrEHhEcFtZOT0tsl6143U4P2 s5/w== X-Gm-Message-State: ABy/qLYh5f2OO/RZ8TejeeTw/C6yt1dhWhdiMynNGwQ84xb2OhRnSy4j 6vrhjkPR5Aw3XTx1FWb0lbG0Jg== X-Received: by 2002:a17:902:ec92:b0:1bb:6875:5a73 with SMTP id x18-20020a170902ec9200b001bb68755a73mr3655798plg.2.1690436240057; Wed, 26 Jul 2023 22:37:20 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.37.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:37:19 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 40/42] clk: at91: clk-system: remove parent_names support Date: Thu, 27 Jul 2023 08:31:54 +0300 Message-Id: <20230727053156.13587-41-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772551795963361472 X-GMAIL-MSGID: 1772551795963361472 Remove parent_names support as parent_hw support is now available on all platforms using clk-system driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 2 +- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 4 ++-- drivers/clk/at91/clk-system.c | 9 +++------ drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 2 +- drivers/clk/at91/sam9x60.c | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- drivers/clk/at91/sama7g5.c | 2 +- 14 files changed, 17 insertions(+), 20 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 9305cb6eaef2..4b8a9c27cc9e 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -196,7 +196,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_systemck[5].parent_hw = at91rm9200_pmc->pchws[3]; for (i = 0; i < ARRAY_SIZE(at91rm9200_systemck); i++) { hw = at91_clk_register_system(regmap, at91rm9200_systemck[i].n, - NULL, at91rm9200_systemck[i].parent_hw, + at91rm9200_systemck[i].parent_hw, at91rm9200_systemck[i].id, 0); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 97efc39a7e2b..71002ada33dd 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -475,7 +475,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, } for (i = 0; i < data->num_sck; i++) { hw = at91_clk_register_system(regmap, data->sck[i].n, - NULL, data->sck[i].parent_hw, + data->sck[i].parent_hw, data->sck[i].id, 0); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index a5bc6f5c8173..bf5951097fca 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -213,7 +213,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) at91sam9g45_systemck[3].parent_hw = at91sam9g45_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9g45_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9g45_systemck[i].n, - NULL, at91sam9g45_systemck[i].parent_hw, + at91sam9g45_systemck[i].parent_hw, at91sam9g45_systemck[i].id, at91sam9g45_systemck[i].flags); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index b4dfe2d1de8a..fa7daab2793b 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -241,7 +241,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_systemck[5].parent_hw = at91sam9n12_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9n12_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9n12_systemck[i].n, - NULL, at91sam9n12_systemck[i].parent_hw, + at91sam9n12_systemck[i].parent_hw, at91sam9n12_systemck[i].id, at91sam9n12_systemck[i].flags); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index 48d79189fc98..eaa757f6670a 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -164,7 +164,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_systemck[1].parent_hw = at91sam9rl_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9rl_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9rl_systemck[i].n, - NULL, at91sam9rl_systemck[i].parent_hw, + at91sam9rl_systemck[i].parent_hw, at91sam9rl_systemck[i].id, 0); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 93165263502e..994010f1cf03 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -265,7 +265,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, at91sam9x5_systemck[5].parent_hw = at91sam9x5_pmc->pchws[1]; for (i = 0; i < ARRAY_SIZE(at91sam9x5_systemck); i++) { hw = at91_clk_register_system(regmap, at91sam9x5_systemck[i].n, - NULL, at91sam9x5_systemck[i].parent_hw, + at91sam9x5_systemck[i].parent_hw, at91sam9x5_systemck[i].id, at91sam9x5_systemck[i].flags); if (IS_ERR(hw)) @@ -275,7 +275,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, } if (has_lcdck) { - hw = at91_clk_register_system(regmap, "lcdck", NULL, + hw = at91_clk_register_system(regmap, "lcdck", at91sam9x5_pmc->chws[PMC_MCK], 3, 0); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-system.c b/drivers/clk/at91/clk-system.c index 90eed39d0785..3f626a65ce9c 100644 --- a/drivers/clk/at91/clk-system.c +++ b/drivers/clk/at91/clk-system.c @@ -105,7 +105,7 @@ static const struct clk_ops system_ops = { struct clk_hw * __init at91_clk_register_system(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, u8 id, + struct clk_hw *parent_hw, u8 id, unsigned long flags) { struct clk_system *sys; @@ -113,7 +113,7 @@ at91_clk_register_system(struct regmap *regmap, const char *name, struct clk_init_data init = {}; int ret; - if (!(parent_name || parent_hw) || id > SYSTEM_MAX_ID) + if (!parent_hw || id > SYSTEM_MAX_ID) return ERR_PTR(-EINVAL); sys = kzalloc(sizeof(*sys), GFP_KERNEL); @@ -122,10 +122,7 @@ at91_clk_register_system(struct regmap *regmap, const char *name, init.name = name; init.ops = &system_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_PARENT | flags; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 294e3b0e8a9d..dc8eb6036643 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -1020,7 +1020,7 @@ static void __init of_at91rm9200_clk_sys_setup(struct device_node *np) if (!strcmp(sysclknp->name, "ddrck")) flags = CLK_IS_CRITICAL; - hw = at91_clk_register_system(regmap, name, NULL, parent_hw, + hw = at91_clk_register_system(regmap, name, parent_hw, id, flags); if (IS_ERR(hw)) continue; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 131ef55d3e47..bdb2dfb8fa86 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -242,7 +242,7 @@ at91sam9x5_clk_register_smd(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_system(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, + struct clk_hw *parent_hw, u8 id, unsigned long flags); struct clk_hw * __init diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index 68abd0fd47db..f344cbbc9c25 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -335,7 +335,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) sam9x60_systemck[4].parent_hw = sam9x60_pmc->chws[PMC_MCK]; for (i = 0; i < ARRAY_SIZE(sam9x60_systemck); i++) { hw = at91_clk_register_system(regmap, sam9x60_systemck[i].n, - NULL, sam9x60_systemck[i].parent_hw, + sam9x60_systemck[i].parent_hw, sam9x60_systemck[i].id, sam9x60_systemck[i].flags); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index c64b79b44ba6..0fce17af769e 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -324,7 +324,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_systemck[7].parent_hw = sama5d2_pmc->chws[PMC_MCK]; for (i = 0; i < ARRAY_SIZE(sama5d2_systemck); i++) { hw = at91_clk_register_system(regmap, sama5d2_systemck[i].n, - NULL, sama5d2_systemck[i].parent_hw, + sama5d2_systemck[i].parent_hw, sama5d2_systemck[i].id, sama5d2_systemck[i].flags); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 239806dcd03d..c00380ed0000 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -246,7 +246,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) sama5d3_systemck[7].parent_hw = sama5d3_pmc->pchws[2]; for (i = 0; i < ARRAY_SIZE(sama5d3_systemck); i++) { hw = at91_clk_register_system(regmap, sama5d3_systemck[i].n, - NULL, sama5d3_systemck[i].parent_hw, + sama5d3_systemck[i].parent_hw, sama5d3_systemck[i].id, sama5d3_systemck[i].flags); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index f193460495c0..0d2a834a5903 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -269,7 +269,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) sama5d4_systemck[7].parent_hw = sama5d4_pmc->pchws[2]; for (i = 0; i < ARRAY_SIZE(sama5d4_systemck); i++) { hw = at91_clk_register_system(regmap, sama5d4_systemck[i].n, - NULL, sama5d4_systemck[i].parent_hw, + sama5d4_systemck[i].parent_hw, sama5d4_systemck[i].id, sama5d4_systemck[i].flags); if (IS_ERR(hw)) diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index 0d81a955e686..61f7027f1033 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1183,7 +1183,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) for (i = 0; i < ARRAY_SIZE(sama7g5_systemck); i++) { hw = at91_clk_register_system(regmap, sama7g5_systemck[i].n, - NULL, sama7g5_pmc->pchws[i], + sama7g5_pmc->pchws[i], sama7g5_systemck[i].id, 0); if (IS_ERR(hw)) goto err_free; From patchwork Thu Jul 27 05:31:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126695 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp906791vqo; Thu, 27 Jul 2023 00:05:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlFnhbqzd28tYAc5nFHJVKq4YFrrXpsmBLt5QYjZM2BzZZgHkb5g0tJ4TSRfetUsNbsGldIH X-Received: by 2002:a17:906:7a5d:b0:993:e9b8:90ec with SMTP id i29-20020a1709067a5d00b00993e9b890ecmr1176329ejo.22.1690441526845; Thu, 27 Jul 2023 00:05:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690441526; cv=none; d=google.com; s=arc-20160816; b=NiF/B3XCkaDhtlPCKI1V9YUymn/N63hBePBJFsGFvPaFQtHnxdeJUd5qeFV1V0WC3G MPGXuxyXFciLApalimgBd6MLKjfbUlNSbmRzLyEik2yjlapG6qDTfN0rJfjlLUaJ+IKw uG0jszTVM6klQWCGjpv3XdiHHP5YQ+XX4RLTWgoHgstSpVXfvuA3thAZdtFdzk38nRli XWmB8+QbjE8V7sa3jMmWq2zHztbPS/C0X1BhibPYzjKB6kSZ6GE4+gl45YdJ0c6yvfwd TQPH5GcrT2/cpQy1IO05RvBVBAAYkDErkPPpbmeLol2J7JIlek3XICUgfUiTF4O0S92i OBoQ== 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=R0MCABlKnn4W9o3M4XSOlKm6XX3ypG2eLBBMZazV5aU=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=zTAuO8hgq77nmS7V4K+2us7mTnEOTicQnq6mdCRJZASL3gxTSp2VMDp+grCuxBPCRB odMfEbwug/F09JWuqddGV6pIDMmunhhzvJQo0vmjSIuMTvyREA3CD0qGaPjOwBi6Vjfo laofFgXaf0erPk+ar5L/bPbVy6kHeTgglIG3MRplAvie3/MsNyfOjuDavZ/BkZzeZlP7 WoXdFvwg0zRm9rOmUAoOb4Ib6wn6V/OSwjpn4wALflkOKAxYdTj1me+EWmXC+c09Aoqu PE0qhEdiys4Sd1liEeh7rnFN1ReZqo/6MG3UEYiIh2A3zHFJ3zf38ym8IIoEW+9EQqn+ 54Pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=nSsgtq6G; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id oz10-20020a170906cd0a00b0099bcc0ad6fasi52084ejb.782.2023.07.27.00.05.02; Thu, 27 Jul 2023 00:05:26 -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=@tuxon.dev header.s=google header.b=nSsgtq6G; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232372AbjG0FkV (ORCPT + 99 others); Thu, 27 Jul 2023 01:40:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231516AbjG0Fj6 (ORCPT ); Thu, 27 Jul 2023 01:39:58 -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 12A4F35AA for ; Wed, 26 Jul 2023 22:38:28 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1b9c368f4b5so11743355ad.0 for ; Wed, 26 Jul 2023 22:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436247; x=1691041047; 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=R0MCABlKnn4W9o3M4XSOlKm6XX3ypG2eLBBMZazV5aU=; b=nSsgtq6GND/KRpXTCP6YcWA+uA/ZLZDk70vsMiY9jZtEYLHnW8HOnsHyzGgp9BWYrN yG1oLeeKD38YXZfm+r/9OtAajFL8T64g1OdK2SMlGqNymUDHHrmS3dzJdawJpxAE6HD9 m87dfNdpWlHAa1Lqkl2XtjyslgOQpOdMMfhJwhLyldvDqaaHeAipDf/UW8mImDFT2MoG QG86Usv2Dlu4HA+jYw9znLlCCRyH3R0k2AQq9r0bYH+laHUbvmEeq5jHuTAIY/XRZkEX Nni5Qo5N9kay+wvtJlQuHVDNH1bSUA3aFm7vK/cVRuXz+BtpjaISH/Q3AVwmlnMG5yo3 cdcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436247; x=1691041047; 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=R0MCABlKnn4W9o3M4XSOlKm6XX3ypG2eLBBMZazV5aU=; b=UtiHzAbZAh4B3kRMn+gK6EN20j+zoTiw2Hhs4TApiqNb2Zeg4AczxULcM/IB/TCQOt o0jSQKLowQ1JD/XuV7WBtqa6Or+aeJvbbykZYg0XE+k+8HyQE1LiJbBH7qQIRnpneA5z DmesXm5Bj7r4hqhbdjxBs3zKj4yoEFOypzp7LavIO0bm3nwFXzqKyu2pjBYtU2YYNLwo wLY5BytqEkb6wDWZVfZhhxnhQmKv+JTpweYbnjpupEUxaiInlM6R2g5FHw/ATfCmRAFk vdM+ndF9zhVgaOQUr+ewVI+pVpWtpY7TzMutSxes8pglkh85EDJJ81PGFw418miHkYGv J4fg== X-Gm-Message-State: ABy/qLYdfJTZgJJ9EerslevyKQMN70fYuED9VRyhvBVpVF/jcuP0o7n3 Aem9DnhqiSS2qEpTAyAzmU2rWw== X-Received: by 2002:a17:902:d50b:b0:1bb:c896:1da3 with SMTP id b11-20020a170902d50b00b001bbc8961da3mr2356971plg.24.1690436247121; Wed, 26 Jul 2023 22:37:27 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.37.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:37:26 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 41/42] clk: at91: clk-usb: remove parent_names support Date: Thu, 27 Jul 2023 08:31:55 +0300 Message-Id: <20230727053156.13587-42-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772556414425212212 X-GMAIL-MSGID: 1772556414425212212 Remove parent_names support as parent_hw support is now available on all platforms using clk-usb driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91rm9200.c | 2 +- drivers/clk/at91/at91sam9260.c | 2 +- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9n12.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-usb.c | 35 ++++++++++++---------------------- drivers/clk/at91/dt-compat.c | 6 +++--- drivers/clk/at91/pmc.h | 8 ++++---- drivers/clk/at91/sam9x60.c | 2 +- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- 12 files changed, 28 insertions(+), 39 deletions(-) diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c index 4b8a9c27cc9e..05060b72acab 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -163,7 +163,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) at91rm9200_pmc->chws[PMC_MCK] = hw; - usbck_hw = at91rm9200_clk_register_usb(regmap, "usbck", NULL, + usbck_hw = at91rm9200_clk_register_usb(regmap, "usbck", at91rm9200_pmc->chws[PMC_PLLBCK], usb_div); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c index 71002ada33dd..2b0ffcee9e40 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -436,7 +436,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, at91sam9260_pmc->chws[PMC_MCK] = hw; - usbck_hw = at91rm9200_clk_register_usb(regmap, "usbck", NULL, + usbck_hw = at91rm9200_clk_register_usb(regmap, "usbck", at91sam9260_pmc->chws[PMC_PLLBCK], usb_div); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index bf5951097fca..1e5262b678f5 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -182,7 +182,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) parent_hws[0] = at91sam9g45_pmc->chws[PMC_PLLACK]; parent_hws[1] = at91sam9g45_pmc->chws[PMC_UTMI]; - usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_hws, 2); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c index fa7daab2793b..9b4e28b9f21b 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -207,7 +207,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) at91sam9n12_pmc->chws[PMC_MCK] = hw; - usbck_hw = at91sam9n12_clk_register_usb(regmap, "usbck", NULL, + usbck_hw = at91sam9n12_clk_register_usb(regmap, "usbck", at91sam9n12_pmc->chws[PMC_PLLBCK]); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 994010f1cf03..1968dd69fbf7 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -228,7 +228,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, parent_hws[0] = at91sam9x5_pmc->chws[PMC_PLLACK]; parent_hws[1] = at91sam9x5_pmc->chws[PMC_UTMI]; - usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_hws, 2); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c index 21f50914c63e..37ea588cb534 100644 --- a/drivers/clk/at91/clk-usb.c +++ b/drivers/clk/at91/clk-usb.c @@ -221,7 +221,7 @@ static const struct clk_ops at91sam9n12_usb_ops = { static struct clk_hw * __init _at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents, u32 usbs_mask) { struct at91sam9x5_clk_usb *usb; @@ -235,10 +235,7 @@ _at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91sam9x5_usb_ops; - if (parent_hws) - init.parent_hws = (const struct clk_hw **)parent_hws; - else - init.parent_names = parent_names; + init.parent_hws = (const struct clk_hw **)parent_hws; init.num_parents = num_parents; init.flags = CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | CLK_SET_RATE_PARENT; @@ -260,26 +257,25 @@ _at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, struct clk_hw * __init at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents) { - return _at91sam9x5_clk_register_usb(regmap, name, parent_names, - parent_hws, num_parents, SAM9X5_USBS_MASK); + return _at91sam9x5_clk_register_usb(regmap, name, parent_hws, + num_parents, SAM9X5_USBS_MASK); } struct clk_hw * __init sam9x60_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents) { - return _at91sam9x5_clk_register_usb(regmap, name, parent_names, - parent_hws, num_parents, - SAM9X60_USBS_MASK); + return _at91sam9x5_clk_register_usb(regmap, name, parent_hws, + num_parents, SAM9X60_USBS_MASK); } struct clk_hw * __init at91sam9n12_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { struct at91sam9x5_clk_usb *usb; struct clk_hw *hw; @@ -292,10 +288,7 @@ at91sam9n12_clk_register_usb(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91sam9n12_usb_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_GATE | CLK_SET_RATE_PARENT; @@ -399,8 +392,7 @@ static const struct clk_ops at91rm9200_usb_ops = { struct clk_hw * __init at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, - const u32 *divisors) + struct clk_hw *parent_hw, const u32 *divisors) { struct at91rm9200_clk_usb *usb; struct clk_hw *hw; @@ -413,10 +405,7 @@ at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, init.name = name; init.ops = &at91rm9200_usb_ops; - if (parent_hw) - init.parent_hws = (const struct clk_hw **)&parent_hw; - else - init.parent_names = &parent_name; + init.parent_hws = (const struct clk_hw **)&parent_hw; init.num_parents = 1; init.flags = CLK_SET_RATE_PARENT; diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index dc8eb6036643..285ede5d6702 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -1065,7 +1065,7 @@ static void __init of_at91sam9x5_clk_usb_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9x5_clk_register_usb(regmap, name, NULL, parent_hws, + hw = at91sam9x5_clk_register_usb(regmap, name, parent_hws, num_parents); if (IS_ERR(hw)) return; @@ -1099,7 +1099,7 @@ static void __init of_at91sam9n12_clk_usb_setup(struct device_node *np) if (IS_ERR(regmap)) return; - hw = at91sam9n12_clk_register_usb(regmap, name, NULL, parent_hw); + hw = at91sam9n12_clk_register_usb(regmap, name, parent_hw); if (IS_ERR(hw)) return; @@ -1136,7 +1136,7 @@ static void __init of_at91rm9200_clk_usb_setup(struct device_node *np) of_node_put(parent_np); if (IS_ERR(regmap)) return; - hw = at91rm9200_clk_register_usb(regmap, name, NULL, parent_hw, divisors); + hw = at91rm9200_clk_register_usb(regmap, name, parent_hw, divisors); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index bdb2dfb8fa86..5e65f5b59536 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -247,18 +247,18 @@ at91_clk_register_system(struct regmap *regmap, const char *name, struct clk_hw * __init at91sam9x5_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents); struct clk_hw * __init at91sam9n12_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); struct clk_hw * __init sam9x60_clk_register_usb(struct regmap *regmap, const char *name, - const char **parent_names, struct clk_hw **parent_hws, + struct clk_hw **parent_hws, u8 num_parents); struct clk_hw * __init at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw, + struct clk_hw *parent_hw, const u32 *divisors); struct clk_hw * __init diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c index f344cbbc9c25..b3dfdcbc950f 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -302,7 +302,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) parent_hws[0] = sam9x60_pmc->chws[PMC_PLLACK]; parent_hws[1] = sam9x60_pmc->chws[PMC_UTMI]; parent_hws[2] = main_osc_hw; - usbck_hw = sam9x60_clk_register_usb(regmap, "usbck", NULL, parent_hws, 3); + usbck_hw = sam9x60_clk_register_usb(regmap, "usbck", parent_hws, 3); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 0fce17af769e..fa14c6f7d37a 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -288,7 +288,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) parent_hws[0] = sama5d2_pmc->chws[PMC_PLLACK]; parent_hws[1] = sama5d2_pmc->chws[PMC_UTMI]; - usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_hws, 2); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index c00380ed0000..0713a6b21c8a 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -207,7 +207,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) parent_hws[0] = sama5d3_pmc->chws[PMC_PLLACK]; parent_hws[1] = sama5d3_pmc->chws[PMC_UTMI]; - usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_hws, 2); if (IS_ERR(usbck_hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index 0d2a834a5903..d0bd025876ac 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -228,7 +228,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) parent_hws[0] = sama5d4_pmc->chws[PMC_PLLACK]; parent_hws[1] = sama5d4_pmc->chws[PMC_UTMI]; - usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", NULL, parent_hws, 2); + usbck_hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_hws, 2); if (IS_ERR(usbck_hw)) goto err_free; From patchwork Thu Jul 27 05:31:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 126731 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp920524vqo; Thu, 27 Jul 2023 00:35:44 -0700 (PDT) X-Google-Smtp-Source: APBJJlHjFdlM0bzTE6vNE5AKLsk3wqcvpoRQtBMY/rtZ16Oj8H5xv2dCIfzExgUTSy9SQMlb6ujf X-Received: by 2002:a05:6a00:1252:b0:668:731b:517e with SMTP id u18-20020a056a00125200b00668731b517emr4993197pfi.24.1690443344335; Thu, 27 Jul 2023 00:35:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690443344; cv=none; d=google.com; s=arc-20160816; b=w9rzcDyfMjkI7nh44B0bq1ksuOaiwp9n64eixdKDebMFsAkcp9VMWyJmVaAxrE1xhf vKy1qdXZoS8dFMrps5+wqMD928EAnyXNM+vQrTtTmZ7UdUDxQ1f75i0wDarzb1MEv/5j lkesgFMRWfLKBfA847LJwtHKYs2NdFFG+syfveylyrGr59Du3kF+KbJEJZ6wBLfwvnLO S6m9A8sxAsIfAOA4WgWCVz6Y90/yS3frvQ68aYLF7eTa2JLPaf/c/s7Ly2dqGRocoO7j TYEotdcKyAVRPhS5epqqn1vK0LdBChdoKH7sMBvqgb7sC9vhkWlJ8cgvz5hUPiHmAGr0 m+7w== 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=MGj8fnk95YF2UgdI2+UIkZtkwoXa64ISRzxRMHwyox0=; fh=tq3emQg2XKUdfmQAxndWD33KQiXPLzS/0J6S3sPMeMI=; b=o3hkvhtlNO+7ekYLPDfBcqvRIiUax7BfJVddFVs7jyb0k3TGdjpVVCvPgwtlr7BrMe 12g/uGmIGrKRPurY+HwKEUfBzE6qhtXhIHikVUAVjWdd59BO8AadIDeR+OOmlN0LqwCD ZqF7f3+RwiI2/4QjBRXFVC7k/pR4bjPhxqnQr6Iy35xFZrVrPrCOELgyyNIKLe+O4Fxh XY5DZ76Q/MlxBrUbGKypXSVst+ce25in6uTSgIzcMwo9yZVP+b6ua2NEoLYRIWCw1jNb 81KgpOhfHQJNouLjtdQpofyAX3cWy0Bn+/WyNFBiPVtOx0PLewH0LUMdQ6qQcAspYP7W Xwcw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=Ywm0o4po; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 73-20020a63024c000000b00563de19ff56si879371pgc.427.2023.07.27.00.35.31; Thu, 27 Jul 2023 00:35:44 -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=@tuxon.dev header.s=google header.b=Ywm0o4po; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231857AbjG0FlK (ORCPT + 99 others); Thu, 27 Jul 2023 01:41:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232250AbjG0Fkj (ORCPT ); Thu, 27 Jul 2023 01:40:39 -0400 Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4758468A for ; Wed, 26 Jul 2023 22:39:04 -0700 (PDT) Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-55bac17b442so375914a12.3 for ; Wed, 26 Jul 2023 22:39:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1690436256; x=1691041056; 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=MGj8fnk95YF2UgdI2+UIkZtkwoXa64ISRzxRMHwyox0=; b=Ywm0o4powSfA2UBaRTJ5e3QOp6qBwwzYfKaQmkfZK/cBIgZdByQLZqDG7g9hldVmrK LKfjfKHmR2IiQ/fRAOkdCtHvT7hGVEOHfPjw4z9qJcpoQaDxBaO/lVEoftBYH1QZoagv 3M+aB/7QeDbpipvYgJez7zdvLG8usjeXwsWeIKaeRK6hdfC3KFeCrk/iU4R1VLMw+22r cKNyIA0EtTZrh6B9awVPGuC7Gn+GnvldlKxwprAE6+FGOuZIOVr0TikSguzyb0A9/F3f qdnIOg2GLQRDiVojDSeSbSUN1kOm8vQ9QO6+wrqu0NBtZhomZyHr/pKAKCvp22T3a00q 1smQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690436256; x=1691041056; 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=MGj8fnk95YF2UgdI2+UIkZtkwoXa64ISRzxRMHwyox0=; b=gvnEzo7EQvuD8a2P1rj8Jb5j2Y8+6guBfOREk0G8WRJbIV+oeqkE/3J5IllZ8QoIto jxieTVqNHPBOK2Y9wQWBOJkNBYCkzSSJ7vcH/UaTjkD1DCpH8GgC+88V6Nxmm8Vkk1fN tjqplINMjD4Ev3yf8RVFuq8htApQCiidY9LTb2Kabh6EgklRnyKnA5SV1j0mJgAgb0Tl QAhyg6sFIUA6m/efMT96Dx7OXRnV5yJmhnt1vyuE4/1k/FYuOpML1bv8jfws1yrj8CnB ugkZFWRqu6MkmIAXnOMR18CEXZuiFWT2sfrzJrTJQqziw0k19+T86IHuSqNjv0lhikRz 0lRg== X-Gm-Message-State: ABy/qLZ2+irvwqw16sz+uBt+O9jVS/NsEbcahBR+siqJs/FKCoGO2esA TchdSkG8NdSfkU7zYBQbwXQttA== X-Received: by 2002:a17:90a:df86:b0:267:f99f:492f with SMTP id p6-20020a17090adf8600b00267f99f492fmr3348479pjv.48.1690436256696; Wed, 26 Jul 2023 22:37:36 -0700 (PDT) Received: from localhost.localdomain ([82.78.167.79]) by smtp.gmail.com with ESMTPSA id 21-20020a170902c11500b001bb889530adsm319059pli.217.2023.07.26.22.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 22:37:36 -0700 (PDT) From: Claudiu Beznea To: mturquette@baylibre.com, sboyd@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, mripard@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, varshini.rajendran@microchip.com, Claudiu Beznea Subject: [PATCH 42/42] clk: at91: clk-utmi: remove parent_names support Date: Thu, 27 Jul 2023 08:31:56 +0300 Message-Id: <20230727053156.13587-43-claudiu.beznea@tuxon.dev> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> References: <20230727053156.13587-1-claudiu.beznea@tuxon.dev> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772558319960599783 X-GMAIL-MSGID: 1772558319960599783 Remove parent_names support as parent_hw support is now available on all platforms using clk-utmi driver. Signed-off-by: Claudiu Beznea --- drivers/clk/at91/at91sam9g45.c | 2 +- drivers/clk/at91/at91sam9rl.c | 2 +- drivers/clk/at91/at91sam9x5.c | 2 +- drivers/clk/at91/clk-utmi.c | 23 ++++++++--------------- drivers/clk/at91/dt-compat.c | 2 +- drivers/clk/at91/pmc.h | 5 ++--- drivers/clk/at91/sama5d2.c | 2 +- drivers/clk/at91/sama5d3.c | 2 +- drivers/clk/at91/sama5d4.c | 2 +- drivers/clk/at91/sama7g5.c | 2 +- 10 files changed, 18 insertions(+), 26 deletions(-) diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c index 1e5262b678f5..1a20ce75201b 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -152,7 +152,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) at91sam9g45_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, at91sam9g45_pmc->chws[PMC_MAIN]); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", at91sam9g45_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c index eaa757f6670a..05ea2bf3c73b 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -112,7 +112,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) at91sam9rl_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, at91sam9rl_pmc->chws[PMC_MAIN]); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", at91sam9rl_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c index 1968dd69fbf7..b3a7d5803168 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -200,7 +200,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, at91sam9x5_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, at91sam9x5_pmc->chws[PMC_MAIN]); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", at91sam9x5_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/clk-utmi.c b/drivers/clk/at91/clk-utmi.c index 40c84f5af5e8..8e2cf4893609 100644 --- a/drivers/clk/at91/clk-utmi.c +++ b/drivers/clk/at91/clk-utmi.c @@ -143,8 +143,7 @@ static const struct clk_ops utmi_ops = { static struct clk_hw * __init at91_clk_register_utmi_internal(struct regmap *regmap_pmc, struct regmap *regmap_sfr, - const char *name, const char *parent_name, - struct clk_hw *parent_hw, + const char *name, struct clk_hw *parent_hw, const struct clk_ops *ops, unsigned long flags) { struct clk_utmi *utmi; @@ -152,7 +151,7 @@ at91_clk_register_utmi_internal(struct regmap *regmap_pmc, struct clk_init_data init = {}; int ret; - if (!(parent_name || parent_hw)) + if (!parent_hw) return ERR_PTR(-EINVAL); utmi = kzalloc(sizeof(*utmi), GFP_KERNEL); @@ -161,13 +160,8 @@ at91_clk_register_utmi_internal(struct regmap *regmap_pmc, init.name = name; init.ops = ops; - if (parent_hw) { - init.parent_hws = parent_hw ? (const struct clk_hw **)&parent_hw : NULL; - init.num_parents = parent_hw ? 1 : 0; - } else { - init.parent_names = parent_name ? &parent_name : NULL; - init.num_parents = parent_name ? 1 : 0; - } + init.parent_hws = parent_hw ? (const struct clk_hw **)&parent_hw : NULL; + init.num_parents = parent_hw ? 1 : 0; init.flags = flags; utmi->hw.init = &init; @@ -186,11 +180,10 @@ at91_clk_register_utmi_internal(struct regmap *regmap_pmc, struct clk_hw * __init at91_clk_register_utmi(struct regmap *regmap_pmc, struct regmap *regmap_sfr, - const char *name, const char *parent_name, - struct clk_hw *parent_hw) + const char *name, struct clk_hw *parent_hw) { return at91_clk_register_utmi_internal(regmap_pmc, regmap_sfr, name, - parent_name, parent_hw, &utmi_ops, CLK_SET_RATE_GATE); + parent_hw, &utmi_ops, CLK_SET_RATE_GATE); } static int clk_utmi_sama7g5_prepare(struct clk_hw *hw) @@ -289,8 +282,8 @@ static const struct clk_ops sama7g5_utmi_ops = { struct clk_hw * __init at91_clk_sama7g5_register_utmi(struct regmap *regmap_pmc, const char *name, - const char *parent_name, struct clk_hw *parent_hw) + struct clk_hw *parent_hw) { return at91_clk_register_utmi_internal(regmap_pmc, NULL, name, - parent_name, parent_hw, &sama7g5_utmi_ops, 0); + parent_hw, &sama7g5_utmi_ops, 0); } diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c index 285ede5d6702..68211b36c8f6 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -1189,7 +1189,7 @@ static void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np) regmap_sfr = NULL; } - hw = at91_clk_register_utmi(regmap_pmc, regmap_sfr, name, NULL, parent_hw); + hw = at91_clk_register_utmi(regmap_pmc, regmap_sfr, name, parent_hw); if (IS_ERR(hw)) return; diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h index 5e65f5b59536..889230d29bf2 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -263,11 +263,10 @@ at91rm9200_clk_register_usb(struct regmap *regmap, const char *name, struct clk_hw * __init at91_clk_register_utmi(struct regmap *regmap_pmc, struct regmap *regmap_sfr, - const char *name, const char *parent_name, - struct clk_hw *parent_hw); + const char *name, struct clk_hw *parent_hw); struct clk_hw * __init at91_clk_sama7g5_register_utmi(struct regmap *regmap, const char *name, - const char *parent_name, struct clk_hw *parent_hw); + struct clk_hw *parent_hw); #endif /* __PMC_H_ */ diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index fa14c6f7d37a..cf1f34a69862 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -253,7 +253,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) if (IS_ERR(regmap_sfr)) regmap_sfr = NULL; - hw = at91_clk_register_utmi(regmap, regmap_sfr, "utmick", NULL, + hw = at91_clk_register_utmi(regmap, regmap_sfr, "utmick", sama5d2_pmc->chws[PMC_MAIN]); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c index 0713a6b21c8a..707e501b1a73 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -179,7 +179,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) sama5d3_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, mainck_hw); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", mainck_hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c index d0bd025876ac..542c7cccda46 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -194,7 +194,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) sama5d4_pmc->chws[PMC_PLLACK] = hw; - hw = at91_clk_register_utmi(regmap, NULL, "utmick", NULL, mainck_hw); + hw = at91_clk_register_utmi(regmap, NULL, "utmick", mainck_hw); if (IS_ERR(hw)) goto err_free; diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c index 61f7027f1033..012e992ce14b 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -1151,7 +1151,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) sama7g5_pmc->chws[sama7g5_mckx[i].eid] = hw; } - hw = at91_clk_sama7g5_register_utmi(regmap, "utmick", NULL, main_xtal_hw); + hw = at91_clk_sama7g5_register_utmi(regmap, "utmick", main_xtal_hw); if (IS_ERR(hw)) goto err_free;