From nobody Tue Dec 16 07:41:39 2025 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80676125B2 for ; Sun, 14 Dec 2025 23:30:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765755042; cv=none; b=kHF74QZDcpvwIsZdryGyzzXpL5QsBR8f+UlkunhyV1dUebNAKk1z+CtJajn7Q+vPPmuw+6ELy+Kww9h+X4yVG8A80mWo9tgc03azNQ0VK5f4kR6GneV8xXomts89yQhhfY9H9rGEHCDdmpBJM9nANA8PljU2PSG0Uzsbo9k2AMQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765755042; c=relaxed/simple; bh=T7SjwE3X4VHRa7EQmLRK+I4LKSkVDZeZ306BR6wQm0A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=OKB3R4Ue8yNTxdbsStWT7pV2ZC0Sq4uDTxIbWO6FObIk6JULGMeU2yumc4TZ7NclLAiM0eqABQUNlvVdq4V2i++QhTaqF17fY44ZAi3bABvZPvQkHsfuDc9WrfArRIL990iQPTnoLGsF2k4QlHsfx8MvCybyB99QnT8MW5Eby58= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZD6gg5mr; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZD6gg5mr" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-c026e074373so2552344a12.1 for ; Sun, 14 Dec 2025 15:30:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765755041; x=1766359841; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=eYzoYAiPmzzivK8Ki6QV16iwe5G/a6yZeTp3lLRhlMY=; b=ZD6gg5mrAmcRabsstBS289USVSQNF5f03DvigG8LrxyABrtd22LfEesOqWB8hLILBl fRsHDFYLoc6TnerCWkHo6Km1Bd1WZhqXOVuHQGAr5GhHR35kM5kgRYYExUlqcg11tWo6 Z3h+pUviPEmH7B1zzvLGOZfpUR6SRUudvqPlAG+4JXWVnDJY/4nDwSXyGBaiWDCw0CvF RT4fkVpihZDM8tLRU0MJIo9a2/kokqu1I4z4Ye2cz6yZjwzRsgK/5VS1jXfZSExADOfF lw6WVXxq2GuJMt+FbFXd/1t8jKauPAnsoWf+IzPHbOq0lWHAQTS1VJ/uIefBkj1iAu2K uZMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765755041; x=1766359841; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=eYzoYAiPmzzivK8Ki6QV16iwe5G/a6yZeTp3lLRhlMY=; b=WnVnMvDuVicHGKe7RjkSe1YiWltTdZXBuFDhpD19V7qFPvc2cqSYwgwmzhKLsF8aGf 1+QiDi0dS4TD3+mju6vSZqUveEUTlDlJiJq0Kz5zbNcOGlF7EdHSzXD8MxadfTOBX5f1 dit24PqGXjoc+seErrUo9YNl0PmB1bvO92Lradte7QJh9Mh86zX18Vi7OpHlo9EZYOrD EKw9x1no6HVmztbyF+2ZyCQ/BD5xS5xoYbrfe1YqTr3v4ievNSmDbQTqrKFCZoBljSht RTDhSrH6V4wgyn79Vplkk93LiORz5991FqjGIJnjyOPh9MnDfOGhiRyXylbOQsjAxDBf R5hQ== X-Forwarded-Encrypted: i=1; AJvYcCUU+Z8VeVR91TCD5bOjEcHoBFjVOa47VjUuyNP67ujdidgXLv8DVGuCsL92t6shVWwLdHYdTsFmebFVH7U=@vger.kernel.org X-Gm-Message-State: AOJu0Yxc465G6bBsHzu/ALHNmi+ZvpKnmxL8ZNpuq7EbvndfQBOnz8je F+c76qvOfvJTEZGi8sy19/mCfT6o2TkM9aHVW1iJcyPDeqng38S/1D8S X-Gm-Gg: AY/fxX6UxTwGOJl9YybcxyvBH+NkgYThu3kEX9Ls/sWnG6f1mT2iiQhWwtIXB+9CGBm lyVxjItsTazduAyAissv3PC4a0BNRm41p4iipo01//OLX+heCQYeh3h73KqAmcwGwKZqYZvg0yR zjJgEFNg9AR9yRvI6Rr+wWoXLysfLKti0g2jfBxzEa99Scqsh1wPvPU828lyB+FLPfX8zJeh6OG 8omowOdNZz5qxYfi1/ZG5hrHEv7QxZgE7sP2kuiTHDgqn6jZkYJzRoGCfnEEjt97Qe8GGVHqk3t OUCPspU7XHOEDk8MfYofiY2YbtJFxlPpG84gmKL8g0K/dNCD5WotrQxWBwooV+63vUP7uhMYu0q 82VRJGJDSYu+opQmjm4uxOjhmpUZFwLY7oKDd9NL078v33enVaY1ue/ZvfR++EX6xGzmPShiGdc a0iQjPdgPGKA== X-Google-Smtp-Source: AGHT+IGQk884QPSGZiuAKUTjJrQTSdk3vzJE7zDrugsr9qRUB8OVSda5q4I3tfPa/ntnYHcQi10gGw== X-Received: by 2002:a05:7301:e0cc:b0:2ac:21bf:e937 with SMTP id 5a478bee46e88-2ac2f29b7f6mr4392207eec.0.1765755040555; Sun, 14 Dec 2025 15:30:40 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ac3c13d60bsm13553377eec.0.2025.12.14.15.30.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Dec 2025 15:30:40 -0800 (PST) From: Inochi Amaoto To: Michael Turquette , Stephen Boyd , Yixun Lan , Haylen Chu , Inochi Amaoto , Brian Masney , Troy Mitchell , Alex Elder , Akhilesh Patil Cc: linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, Longbin Li Subject: [PATCH] clk: spacemit: Fix module build for spacemit common ccu driver Date: Mon, 15 Dec 2025 07:29:37 +0800 Message-ID: <20251214232938.668293-1-inochiama@gmail.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For build spacemit common clock driver as a module, the build process require MODULE_LICENSE()/MODULE_DESCRIPTION() globally and EXPORT_SYMBOL() for every exposed symbol. Otherwise, the build will fail. Add these missing hints, so the driver can be built as a module. Fixes: 1b72c59db0ad ("clk: spacemit: Add clock support for SpacemiT K1 SoC") Signed-off-by: Inochi Amaoto Acked-by: Troy Mitchell Reviewed-by: Yixun Lan --- drivers/clk/spacemit/ccu_ddn.c | 1 + drivers/clk/spacemit/ccu_mix.c | 9 +++++++++ drivers/clk/spacemit/ccu_pll.c | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/drivers/clk/spacemit/ccu_ddn.c b/drivers/clk/spacemit/ccu_ddn.c index 5b16e273bee5..9b6dc6910284 100644 --- a/drivers/clk/spacemit/ccu_ddn.c +++ b/drivers/clk/spacemit/ccu_ddn.c @@ -84,3 +84,4 @@ const struct clk_ops spacemit_ccu_ddn_ops =3D { .determine_rate =3D ccu_ddn_determine_rate, .set_rate =3D ccu_ddn_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_ddn_ops); diff --git a/drivers/clk/spacemit/ccu_mix.c b/drivers/clk/spacemit/ccu_mix.c index 7b7990875372..09f377a6a4f5 100644 --- a/drivers/clk/spacemit/ccu_mix.c +++ b/drivers/clk/spacemit/ccu_mix.c @@ -198,24 +198,28 @@ const struct clk_ops spacemit_ccu_gate_ops =3D { .enable =3D ccu_gate_enable, .is_enabled =3D ccu_gate_is_enabled, }; +EXPORT_SYMBOL(spacemit_ccu_gate_ops); =20 const struct clk_ops spacemit_ccu_factor_ops =3D { .determine_rate =3D ccu_factor_determine_rate, .recalc_rate =3D ccu_factor_recalc_rate, .set_rate =3D ccu_factor_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_factor_ops); =20 const struct clk_ops spacemit_ccu_mux_ops =3D { .determine_rate =3D ccu_mix_determine_rate, .get_parent =3D ccu_mux_get_parent, .set_parent =3D ccu_mux_set_parent, }; +EXPORT_SYMBOL(spacemit_ccu_mux_ops); =20 const struct clk_ops spacemit_ccu_div_ops =3D { .determine_rate =3D ccu_mix_determine_rate, .recalc_rate =3D ccu_div_recalc_rate, .set_rate =3D ccu_mix_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_div_ops); =20 const struct clk_ops spacemit_ccu_factor_gate_ops =3D { .disable =3D ccu_gate_disable, @@ -226,6 +230,7 @@ const struct clk_ops spacemit_ccu_factor_gate_ops =3D { .recalc_rate =3D ccu_factor_recalc_rate, .set_rate =3D ccu_factor_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_factor_gate_ops); =20 const struct clk_ops spacemit_ccu_mux_gate_ops =3D { .disable =3D ccu_gate_disable, @@ -236,6 +241,7 @@ const struct clk_ops spacemit_ccu_mux_gate_ops =3D { .get_parent =3D ccu_mux_get_parent, .set_parent =3D ccu_mux_set_parent, }; +EXPORT_SYMBOL(spacemit_ccu_mux_gate_ops); =20 const struct clk_ops spacemit_ccu_div_gate_ops =3D { .disable =3D ccu_gate_disable, @@ -246,6 +252,7 @@ const struct clk_ops spacemit_ccu_div_gate_ops =3D { .recalc_rate =3D ccu_div_recalc_rate, .set_rate =3D ccu_mix_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_div_gate_ops); =20 const struct clk_ops spacemit_ccu_mux_div_gate_ops =3D { .disable =3D ccu_gate_disable, @@ -259,6 +266,7 @@ const struct clk_ops spacemit_ccu_mux_div_gate_ops =3D { .recalc_rate =3D ccu_div_recalc_rate, .set_rate =3D ccu_mix_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_mux_div_gate_ops); =20 const struct clk_ops spacemit_ccu_mux_div_ops =3D { .get_parent =3D ccu_mux_get_parent, @@ -268,3 +276,4 @@ const struct clk_ops spacemit_ccu_mux_div_ops =3D { .recalc_rate =3D ccu_div_recalc_rate, .set_rate =3D ccu_mix_set_rate, }; +EXPORT_SYMBOL(spacemit_ccu_mux_div_ops); diff --git a/drivers/clk/spacemit/ccu_pll.c b/drivers/clk/spacemit/ccu_pll.c index d92f0dae65a4..f8fc53887189 100644 --- a/drivers/clk/spacemit/ccu_pll.c +++ b/drivers/clk/spacemit/ccu_pll.c @@ -7,6 +7,7 @@ #include #include #include +#include =20 #include "ccu_common.h" #include "ccu_pll.h" @@ -157,3 +158,7 @@ const struct clk_ops spacemit_ccu_pll_ops =3D { .determine_rate =3D ccu_pll_determine_rate, .is_enabled =3D ccu_pll_is_enabled, }; +EXPORT_SYMBOL(spacemit_ccu_pll_ops); + +MODULE_DESCRIPTION("SpacemiT CCU PLL/MIX/DDN common driver"); +MODULE_LICENSE("GPL"); --=20 2.52.0