Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp11177796ybl; Fri, 27 Dec 2019 09:05:39 -0800 (PST) X-Google-Smtp-Source: APXvYqz4GVUMTXPf+Eqe+iwM2gqTKOaYzTLP4X44gyFNd6K9yQ7tsp0LOYGaRs6xP7wiB6EG62pT X-Received: by 2002:a05:6830:10c6:: with SMTP id z6mr61041682oto.203.1577466339784; Fri, 27 Dec 2019 09:05:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577466339; cv=none; d=google.com; s=arc-20160816; b=cCu4aqefJPr1DjAB8ujAJo4HELU288K+iAU+1QwuA2LwQq1+5tfqv0OMT6I7DAqEqG JxI9v+ife9r9Qqzy7H8b7B/IXDFZt+DLGPpmcpOnhai37HTdKgHUuiQupN0wvHu6iQmK mSR1SrbToZ2m9PiV8j92wG6GjfkxNSLGTsm5C8Y1lepxto+L48b1C4v6VYT7PUUt6NqA gLMoy9GcRnfK3uz8Jr6Degc67HKvZ+BFxXMsuheDOZOAil9kF26Px90psRo7EKoRLb1N f+vWWNKjKY3TODCg5pxQGe2f/Hi9QH1duMnRTLiwkwigJticoHrbVMghQnjYewL0zddw 8Low== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=BoVbc5pFxgDga02d7WpROu4QcXo0Jnx36QL7mAbHE+o=; b=io9EiVgFv6A59Lz5CDqGvGw1/q3qvxmFDzh+2bbXeWaZo5WfuOxOp5P2AUxJO0FKf6 qVFAgMBOPP/5p0iBUrNK/jgpT+nNNQy+yXPqXKP+oGhfenrO3lm1pepf6aCVj8LCtaZJ Giq9L4T9pjteimzevFdqW9WQHPl2kFybEccg+TpA0u4sQGIdmGEeeNq1vBniiadLRdqa UquZarDXWwUdgzKg5qjmMGXgbfqsol4HxgsE+OQ9gLIFibpUBdJtraabNePIemBE128/ KTQGb5pUnHv7I97QKwjZTEGKSzn/jHE0nW6Fi4e4i6CVYOPhj/GHL8fKiFcPoJFU6vD3 ITgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=GKlBMroY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w2si17607285otq.31.2019.12.27.09.05.26; Fri, 27 Dec 2019 09:05:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=GKlBMroY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726924AbfL0REr (ORCPT + 99 others); Fri, 27 Dec 2019 12:04:47 -0500 Received: from mail-ed1-f68.google.com ([209.85.208.68]:42062 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726379AbfL0REq (ORCPT ); Fri, 27 Dec 2019 12:04:46 -0500 Received: by mail-ed1-f68.google.com with SMTP id e10so25797005edv.9; Fri, 27 Dec 2019 09:04:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BoVbc5pFxgDga02d7WpROu4QcXo0Jnx36QL7mAbHE+o=; b=GKlBMroYHKZ+NeE9hZTwNpzDD2un2MsXbWFiIqXLUAlw4zHJf04GITHmWpvNDseB8q Bqz59shO329cyZVFllXLlGDUGpRZYX76XIM7ABBWAWEPOeZL32U3z/idBD0dKFyhDWiQ oIcbi38+6nV4daU80bI/u+HYvi2+fCTk3D0hIiCeD6wauLvlZxum7/KLwq9Xx2tMR9Ld 0oUIE7SNzoo8g+yibPu98/Ks5OOEhrRUQ1t4uBWXMiOq45e+PkJJnFlZXbOn/CPOeISi c8sDROdDLLtOZtVqSAzwODofVPqJfrD9YGnYQ01cLL5KTF4tjMFXDEsJQPiDqxUsgBT6 LJfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BoVbc5pFxgDga02d7WpROu4QcXo0Jnx36QL7mAbHE+o=; b=QKnUlslOe0gAKJJ6oCdUITlObQ/wnx/4vso3xSXH0Cm2pmQmBI9gWpOiikekPnF4ja wYD7H+jpBUHm7+1wv54wLCLaa+O5YO5XAirV81q6C1kwZBsVK8Dn48sjlSCrUriObO54 YhX1yXh3qBE+RMuJgo2abRnlthgRMc6WPnJU9lC3qBLBWmQrXHvO0+mBHpQ+xEDkoHp7 Sl3rRUuGx1EvbI4Hn9uRqLoOrSK2JRkAg9hCZA5Aj62J6URma6fiJa2FG0QcHdFy4tOC T2XcTdZ+UoNFpuGvTruRTBUzdPVPh1LWeOCpH6iKtACGQFrLHI/Ew1Dskyq/crY7AI5F 7wzw== X-Gm-Message-State: APjAAAX2cFf7KlJamJVAEJxir7WOExXHiVuGRN9nhfknvFUC8cTU7J9p rRhNirZBxqv+QaO3VeCc76JHC5c7ZZd30wZL7Y4= X-Received: by 2002:a17:906:cc8b:: with SMTP id oq11mr56006300ejb.193.1577466284880; Fri, 27 Dec 2019 09:04:44 -0800 (PST) MIME-Version: 1.0 References: <20191227094606.143637-1-jian.hu@amlogic.com> <20191227094606.143637-4-jian.hu@amlogic.com> In-Reply-To: <20191227094606.143637-4-jian.hu@amlogic.com> From: Martin Blumenstingl Date: Fri, 27 Dec 2019 18:04:33 +0100 Message-ID: Subject: Re: [PATCH v5 3/5] clk: meson: a1: add support for Amlogic A1 PLL clock driver To: Jian Hu Cc: Jerome Brunet , Neil Armstrong , Kevin Hilman , Rob Herring , Michael Turquette , Stephen Boyd , Qiufang Dai , Jianxin Pan , Victor Wan , Chandle Zou , linux-clk@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jian, On Fri, Dec 27, 2019 at 10:46 AM Jian Hu wrote: [...] > + .parent_data = &(const struct clk_parent_data){ > + .fw_name = "xtal_fixpll", > + }, in the Meson8b and G12A (I assume it's the same on GXBB, I didn't check it) we have a space between " clk_parent_data)" and "{" this applies to at least one more occurrence below [...] > + /* > + * This clock is used by APB bus which setted in Romcode nit-pick: I'm not sure about the grammar here: setted -> "is set"? and to make sure I understand this correctly: do you mean the "boot ROM" with "Romcode"? [...] > +static int meson_a1_pll_probe(struct platform_device *pdev) > +{ > + const struct meson_eeclkc_data *data; what do you need this "data" variable for? > + struct device *dev = &pdev->dev; > + struct resource *res; > + void __iomem *base; > + struct regmap *map; > + int ret, i; > + > + data = of_device_get_match_data(dev); > + if (!data) > + return -EINVAL; > + > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + > + base = devm_ioremap_resource(dev, res); > + if (IS_ERR(base)) > + return PTR_ERR(base); > + > + map = devm_regmap_init_mmio(dev, base, &clkc_regmap_config); > + if (IS_ERR(map)) > + return PTR_ERR(map); > + > + /* Populate regmap for the regmap backed clocks */ > + for (i = 0; i < data->regmap_clk_num; i++) > + data->regmap_clks[i]->map = map; why can't we use a1_pll_regmaps directly here? > + > + for (i = 0; i < data->hw_onecell_data->num; i++) { > + /* array might be sparse */ > + if (!data->hw_onecell_data->hws[i]) > + continue; > + > + ret = devm_clk_hw_register(dev, data->hw_onecell_data->hws[i]); and why can't we use a1_pll_hw_onecell_data directly here? [...] > +static const struct meson_eeclkc_data a1_pll_data = { > + .regmap_clks = a1_pll_regmaps, > + .regmap_clk_num = ARRAY_SIZE(a1_pll_regmaps), > + .hw_onecell_data = &a1_pll_hw_onecell_data, > +}; if _probe would access these directly then you can drop meson_eeclkc_data that is a good thing in my opinion because I was confused by the "eeclk" since the patch description says that there's no EE or AO domain on the A1 SoCs Martin