From patchwork Wed Jul 29 23:58:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anson Huang X-Patchwork-Id: 11691961 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 83E5A13B1 for ; Thu, 30 Jul 2020 00:04:45 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5D9EE2072A for ; Thu, 30 Jul 2020 00:04:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="AgWO+YCU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D9EE2072A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=ISVHJM97XONQ+WrMLl9vFrSJVKDIKTZDBHLsBXyhLpc=; b=AgWO+YCUoolvlZgS1N5NQbjBFQ 99s+XBQ0jb3bm9YRtN1nBogRWpaMOIS02LUZK3xrrH+lQsz5kWeaQuSnJFX+Ig9PNYmINDwTbOwSX uuzTIV5MA9eGdli2V8WFo+dX2/09TFFJZf/8fSHI/TI2mOa1kpyzkMIHV4Gm3/zJyMos3MQYUMlOx bcp5mvMdSsa2O5CA5XO947kxOFUvMTWroZbQGUw1LHyaWJurahmjpSJTPZqaZ5nmer+q0L0LAGgMn 7NSvHzCOztcDXu8QbGydXAfXv8JjA7tKYrwLdck+5/+B0sAv5IjuYOjrXsZ4uARG2W1GmfY1/qBWo luVkSkUQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0w2R-0008CX-9e; Thu, 30 Jul 2020 00:03:11 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0w2O-0008Bl-7s for linux-arm-kernel@lists.infradead.org; Thu, 30 Jul 2020 00:03:09 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id A52971A12AB; Thu, 30 Jul 2020 02:03:06 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 18E4C1A029A; Thu, 30 Jul 2020 02:03:00 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id BFDB0402D0; Thu, 30 Jul 2020 02:02:51 +0200 (CEST) From: Anson Huang To: mturquette@baylibre.com, sboyd@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, aisheng.dong@nxp.com, arnd@arndb.de, peng.fan@nxp.com, abel.vesa@nxp.com, fugang.duan@nxp.com, daniel.baluta@nxp.com, yuehaibing@huawei.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH V8 0/6] Support building i.MX ARMv8 platforms clock driver as module Date: Thu, 30 Jul 2020 07:58:34 +0800 Message-Id: <1596067120-1193-1-git-send-email-Anson.Huang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200729_200308_421038_566D7C70 X-CRM114-Status: GOOD ( 11.89 ) X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [92.121.34.13 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linux-imx@nxp.com MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Nowdays, there are more and more requirements of building SoC specific drivers as modules, such as Android GKI (generic kernel image), this patch set supports building i.MX ARMv8 SoCs clock drivers as modules, The CLK_IMXxxx is introduced for i.MX ARMv7 platforms in order to make the build options aligned, the reason why i.MX ARMv7 platforms clock driver do NOT support module build and COMPILE_TEST is because, some drivers like i.MX GPT timer driver depends on clock driver to be ready before it, GPT driver uses TIMER_OF_DECLARE(), while i.MX6/7 clock drivers use CLK_OF_DECLARE(), and GPT driver is critical for i.MX6/7 platforms kernel boot up, so GPT driver needs to be changed to support loadable clock driver first, then the i.MX6/7 clock drivers can support loadable module, this will be done later. Changes since V7: - remove unnecessary inlude of linux/bitfield in patch #1. Anson Huang (6): clk: imx6sl: Use BIT(x) to avoid shifting signed 32-bit value by 31 bits clk: composite: Export clk_hw_register_composite() clk: imx: Support building i.MX common clock driver as module clk: imx: Add clock configuration for ARMv7 platforms clk: imx8m: Support module build clk: imx8qxp: Support building i.MX8QXP clock driver as module drivers/clk/clk-composite.c | 1 + drivers/clk/imx/Kconfig | 94 ++++++++++++++++++++++++++++++++------ drivers/clk/imx/Makefile | 79 ++++++++++++++++---------------- drivers/clk/imx/clk-composite-8m.c | 2 + drivers/clk/imx/clk-cpu.c | 2 + drivers/clk/imx/clk-frac-pll.c | 2 + drivers/clk/imx/clk-gate2.c | 2 + drivers/clk/imx/clk-imx6sl.c | 14 +++--- drivers/clk/imx/clk-imx8mm.c | 4 ++ drivers/clk/imx/clk-imx8mn.c | 4 ++ drivers/clk/imx/clk-imx8mp.c | 4 ++ drivers/clk/imx/clk-imx8mq.c | 4 ++ drivers/clk/imx/clk-imx8qxp-lpcg.c | 4 ++ drivers/clk/imx/clk-imx8qxp.c | 4 ++ drivers/clk/imx/clk-pll14xx.c | 5 ++ drivers/clk/imx/clk-sscg-pll.c | 2 + drivers/clk/imx/clk.c | 17 +++++-- drivers/clk/imx/clk.h | 6 +++ 18 files changed, 185 insertions(+), 65 deletions(-)