Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1564473ybg; Wed, 29 Jul 2020 18:27:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxo9svm/s1oKlK/zSN7/cHP/49yQN494EN284IhhbjkGB94rbxyWhbh1qCKGMh7dHnYkRKj X-Received: by 2002:a17:906:817:: with SMTP id e23mr334203ejd.203.1596072469787; Wed, 29 Jul 2020 18:27:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596072469; cv=none; d=google.com; s=arc-20160816; b=Gjsj56aR31+lWqoEhMR5ErlzRJOchkVjjp4J0loBw0aJAYSWRH9MWQhOf7mOs7a0th BOpHL3Pj8uVGa3SoJx+d5J9AsXUuk111sQ8K1TXvT3FQW7KzoOdeF0sIzghiJ5bsl03m GRwiSUdONXFu1t/s3CVIDYKEW2yUabJtfi42xVv/MNQ0Y/lyLmJTFWzpDWFz5DlI0nc6 BkPdeh6etwyBeqb5D0yl2WzimkG4HPEDMwaHxgiXNcQnfC+HfYNn6kD12vbOG/GAt1fK CmWXrwi2w2mMrodgJHaHxiv3tQQb0PF29qoYzRYfs95v2QqY8tPFbv+ZYUvPanq1NQIc bcEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=TtPsX/yNQ6OQcmUdZ9RbRMfzbxKEcz1gN1Af+4TECCI=; b=kpGFyTdzdSOuq8lDCHD/ZFebR2ljZ0bsURxxZjTm7vJ0/BWDB6nG/krZcnTMz8OHUS NPMcQROup3CVMi2zUNC1v/2xlSuizdKvpx4s121CUNdnzD36zRtMEyWrpTt7IncTX0PY iycle/M4TH1GFwk/sshOHMwJRyQJXO6zpQ3Btvmv0+3P87Z0ygFOd4UUjwiVLU/TatZr mjti2/Rt5F0GjcBLoNasvkYxW9tzquVY9TWRGhSMBFisP3de7Reqzbb0Tmw7x8dFhEci +OzOcbUvqrdI5aCJwHzgh2+1M6taU4Dbu/BLx2SCIl1WU0w8e/3/fDYUPxuZaqeqdF3p bfOQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o9si2284384edw.550.2020.07.29.18.27.26; Wed, 29 Jul 2020 18:27:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726494AbgG3B1V (ORCPT + 99 others); Wed, 29 Jul 2020 21:27:21 -0400 Received: from inva020.nxp.com ([92.121.34.13]:42462 "EHLO inva020.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726287AbgG3B1V (ORCPT ); Wed, 29 Jul 2020 21:27:21 -0400 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 2D3851A02AB; Thu, 30 Jul 2020 03:27:19 +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 9C6351A0296; Thu, 30 Jul 2020 03:27:12 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 3AA07402D0; Thu, 30 Jul 2020 03:27:04 +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 Cc: Linux-imx@nxp.com Subject: [PATCH V9 0/6] Support building i.MX ARMv8 platforms clock driver as module Date: Thu, 30 Jul 2020 09:22:48 +0800 Message-Id: <1596072174-16358-1-git-send-email-Anson.Huang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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 V8: - explicitly include linux/bits.h 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 | 15 +++--- 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, 186 insertions(+), 65 deletions(-) -- 2.7.4