Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2982665ybt; Mon, 29 Jun 2020 12:05:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwrv+T9DzAacCSTDiyqRIj33OzyVIzFphfEbUgDDHqUHYtXDlTKO/btTjJ6afGokS0FbIom X-Received: by 2002:a17:906:8607:: with SMTP id o7mr14959406ejx.142.1593457524847; Mon, 29 Jun 2020 12:05:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593457524; cv=none; d=google.com; s=arc-20160816; b=hlgiIC79tDQSSARBfpt+VF3LPb/TOKUJZYKegVaWtsh1ao3GUUz+XEPt9hcWee6eI0 N9+gvnvdhwCegEgYx9/EWikfd2/g0ltRfoXbyx57s0GrMK+uH+QgraJY+lmluOIjhkgC TA4EhXVv7teprFvUz64o99kTlHQjNG0RvT085pnJFCEedWg+6bE9i2tBrr2lS5Dr4Zdy FhtfakRM79hVlo9RjnoeVh7iYdEJwIZCWIHwzO4/yG5qQ5rOSlJ47/wRx5O/OXgC7dr+ htg4HiNVjBkD1kDf2jGLjpHECOg7qVOotqUUKXR6xmhwFO+X3N8VFh2o8kTRwgnbQbnI P1eg== 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=yKiWCsmvSymeDdByEwWUjQ7hNBBTciUpVq1kZQPIi/g=; b=daEWMmZ1DNI8kHNSDlzFDFW7kXATr8tsC6eU5Fy8cDc2mnde6/Os2Osriuh8Q278VR oENG1EK3UllGTZtskIR4WyLvk5KwwJu6a/t93GzgrddvE0wWae8QMxqWGeAK5X9SbiqM 7NtZk2NBtTnKnQxZNJ6Ny6gY9j+TeEmh6CyMJOIhpmO/fl6gqx9mG5VVjnwAdrlN4SxZ Q7aOSBTAjG086vUEmConng9xtOQma8/ErTqRgdEstb38CiRksQyA7Na7IaR2FQc03EBJ WwVND/3YTHWROgdbT+0KS6S1/ttbgmw1jE/1Y3Wg3gmlnVAPfFAbTPiXF65HdjZMt50H lcfQ== 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 bl8si292330ejb.425.2020.06.29.12.05.01; Mon, 29 Jun 2020 12:05:24 -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 S1730676AbgF2TEx (ORCPT + 99 others); Mon, 29 Jun 2020 15:04:53 -0400 Received: from inva021.nxp.com ([92.121.34.21]:41098 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730647AbgF2TEs (ORCPT ); Mon, 29 Jun 2020 15:04:48 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id D4EFF200F30; Mon, 29 Jun 2020 08:05:57 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 13A74200FB7; Mon, 29 Jun 2020 08:05:47 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 630294032B; Mon, 29 Jun 2020 14:05:34 +0800 (SGT) From: Anson Huang To: linux@armlinux.org.uk, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, mturquette@baylibre.com, sboyd@kernel.org, oleksandr.suvorov@toradex.com, stefan.agner@toradex.com, arnd@arndb.de, peng.fan@nxp.com, abel.vesa@nxp.com, aisheng.dong@nxp.com, fugang.duan@nxp.com, daniel.baluta@nxp.com, yuehaibing@huawei.com, sfr@canb.auug.org.au, viro@zeniv.linux.org.uk, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org Cc: Linux-imx@nxp.com Subject: [PATCH V3 00/10] Support building i.MX8 SoCs clock driver as module Date: Mon, 29 Jun 2020 13:53:52 +0800 Message-Id: <1593410042-10598-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.MX8 SoCs clock drivers as modules, including i.MX8MQ/MM/MN/MP/QXP, the common clock modules are: mxc-clk.ko for i.MX8MQ/MM/MN/MP, mxc-clk-scu.ko for i.MX8QXP and later SoCs with SCU inside, normally, each platform can ONLY insmod 1 common i.MX clock driver and its own SoC clock driver. Since i.MX common clk driver will support module build and no longer selected by default, so for i.MX ARMv7 platforms, need to manually select it to make build pass. Changes since V2: - fix __setup_param() instead of handling module build inside clk driver; - improve makefile format to include each file in separated line; - add linux/export.h where necessary. Anson Huang (10): clk: composite: Export clk_hw_register_composite() init.h: Fix the __setup_param() macro for module build ARM: imx: Select MXC_CLK for each SoC clk: imx: Support building SCU clock driver as module clk: imx: Support building i.MX common clock driver as module clk: imx8mm: Support module build clk: imx8mn: Support module build clk: imx8mp: Support module build clk: imx8mq: Support module build clk: imx8qxp: Support module build arch/arm/mach-imx/Kconfig | 11 +++++++++ drivers/clk/clk-composite.c | 1 + drivers/clk/imx/Kconfig | 22 ++++++++++-------- drivers/clk/imx/Makefile | 46 +++++++++++++++++++------------------- 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-imx8mm.c | 1 + drivers/clk/imx/clk-imx8mn.c | 1 + drivers/clk/imx/clk-imx8mp.c | 1 + drivers/clk/imx/clk-imx8mq.c | 1 + drivers/clk/imx/clk-imx8qxp-lpcg.c | 1 + drivers/clk/imx/clk-imx8qxp.c | 1 + drivers/clk/imx/clk-lpcg-scu.c | 2 ++ drivers/clk/imx/clk-pll14xx.c | 5 +++++ drivers/clk/imx/clk-scu.c | 5 +++++ drivers/clk/imx/clk-sscg-pll.c | 2 ++ drivers/clk/imx/clk.c | 20 ++++++++++++----- include/linux/init.h | 2 +- 20 files changed, 91 insertions(+), 39 deletions(-) -- 2.7.4