From nobody Fri Jun 12 20:23:15 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 1FFF5224AFA for ; Tue, 12 May 2026 20:41:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778618463; cv=none; b=aqT8YDzUTK1BI7l4x3JK6t6d2MW3qUHBa9TMNa5GDEcK9FuBymSwcNpkdDiwwm/PgYBGYhKGNH75jsrZXCffTX3Mo2uLfDOKUbKURlH4MOfC9JHqx5VbhVxRhGYbF3I9IhZ2+H+OsA8ytjA6bRDUsidzsywepHvFifSFuZjTRG4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778618463; c=relaxed/simple; bh=KrqDyS0Yy3yf2NMt59+FCaahshEy2irhHS958tZyPSA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QwDWf9O3nON3YJrRzxw7DZ+18I2nOV29fUrulesZaNrI3LVDA8k0+6fxmEmx+BDgVIp5upQTkIrpypGhXvO37QJnX4/thsp8fBYoinUBKNSEguLHHD8AKst9M1YmlNjd6vxtnpR9mYj5ulakl8nThldf3kHPSVWDQl4PK8Rtk7M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=fFprHZDC; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fFprHZDC" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4896c22fcbaso52550095e9.0 for ; Tue, 12 May 2026 13:41:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778618461; x=1779223261; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ew8O/tYrRk/rxSyItBEjL6nrUs9soh50rr590jZ80xU=; b=fFprHZDClHH9NWIt5gTps4JXaR1NzOx1ZEqgwywIbIopJUvjsu7p/LyfnjPClnMGFL uKCQ4bVfgZcl22hoyGeIH7yHqUw2Z0v7vuClN6hCvczdtOaOJYveJ42UvTmtoHHHi9gw vnXnr9lrlfnJ3z3JMwuxw9Az4ZyYFzHIkAW60XJnr3m3mt0oBisjya+ce2SVHtyzvUsg yal0CxdYQQkVE5rfj27LvtjQ9okygBRUjOlOSyDUaoEWRFYqXeMuMvv7KKzfveHzi0Fu hL8S5etBjhiS8rp4diAecEiYQSjYTm4VgTe9rVmm8OaGlcliiYhDSkKQn/+2Gre5RnFr iycA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778618461; x=1779223261; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ew8O/tYrRk/rxSyItBEjL6nrUs9soh50rr590jZ80xU=; b=VczI1TzPC2AFFwQpwWnfWkP+XvsgSOZnko1ithgCs3WtK9Pb5VDZb5PeRwW6Pcuazl HHbXOpQgIjYw4IY0/hoJkNytV+MZzR5LQ/O4AlHBhZCHmdWn4mt7bV9zbx+Iz96aCVNu kwCpu4V+HA2tDow551GvaVFH5P56pxvslixGW0lwQkqlxE2ZEdcehr5NarxqrWWGONWC gdZAet2JFVTqotCLUSrZHgxxfR9YzA7m6pOY6ahLJHtsVbwJmiiAuG2yLUnYRf0PhGQY MI7S0Q2VlSc4LprRsn7kAtLNfyedl3NonikwbG45JAyG/vJpO8qLge7ee3v55sX2TBKT X3QQ== X-Forwarded-Encrypted: i=1; AFNElJ++5dNAuD3gFMr74iW6uSuiNyCBElEPxKWFdc6kTUbDTNnj6n5f8nr7+PwtiYkh+xykFLoVYxmy24cU8TQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzTgPTpbRxTUcVWUltMfFVjZBikvd+49dB9S7HZjAXgQ+ZXi4Fi +z39lJWJLtXDHny8NT99HKuPbQXYIbPgI9JlBsba5n/0kaVX0MwKIXiTLF37OzHetFU= X-Gm-Gg: Acq92OE5Xy0X/K5PO0Gsf12Ubsw+jqosAB0O9srwORc4pkq8ZCgtf+WdgLb5PSLXVDN 3ooMlfJYO0WZmpnONqVzQx77etlOMKxEC4yCMaQ73xMzv3YGXVPOYBrvL+yHC4Frn5R70O42r61 TfjKDfASDd617rqxF3GL0kjCE3qPGJJC0b6McGNHCaPL5mtAqGLnt8EdU01kTLVXkGlt8fut54n r69HfPjkTcIPG4HjUYPZ11HqO//M9kDuFqhdolRY8zLZia0Vw3GzOjqX2pHUTrmie0q8paimF1o guW1ALcRJojy6W0+MN7hGJiZ74SpfffeMpbLJF9l+3IVhOjShZ3Bfm9hPEclowCQRiKYJbecrUP p6OWQdHLlw78dRFlh40XBEaLwCfaZWyBq8ETyYYM/cQUWvFQMcvveunlR4L/HgZ+FiOciz9Fhix aGCyh9LxPSa29D6PYRFUGR151+Hnwcywh0RdjD/wHfpxkVuJrs1Kn1fKiohgXJQYPXw6SDQoR23 0qnkMDTG0uIZOaG X-Received: by 2002:a05:600c:3513:b0:48e:635a:18d9 with SMTP id 5b1f17b1804b1-48fc9a34ae6mr5561115e9.15.1778618460190; Tue, 12 May 2026 13:41:00 -0700 (PDT) Received: from [127.0.1.1] ([94.4.195.193]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48fc8d21c72sm18788095e9.7.2026.05.12.13.40.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 13:40:59 -0700 (PDT) From: Alexey Klimov Date: Tue, 12 May 2026 21:40:48 +0100 Subject: [PATCH 1/2] clk: samsung: acpm: introduce driver data for SoC-specific clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260512-exynos850-acpm-clk-v1-1-837532ddbf38@linaro.org> References: <20260512-exynos850-acpm-clk-v1-0-837532ddbf38@linaro.org> In-Reply-To: <20260512-exynos850-acpm-clk-v1-0-837532ddbf38@linaro.org> To: Sam Protsenko , Tudor Ambarus , Krzysztof Kozlowski , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Brian Masney Cc: linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Currently, the ACPM clock driver hardcodes the GS101 clock variant arrays and counts directly in probe() routine. To support additional other SoCs (for instance Exynos850 SoC) that use the same ACPM protocol but have different clock trees, the driver needs to be more flexible. Introduce driver data attached to the platform_device_id table. Update the probe function to dynamically extract the clock lists, number of clocks, its names and mailbox channel id based on the matching device ID. Signed-off-by: Alexey Klimov Reviewed-by: Tudor Ambarus --- drivers/clk/samsung/clk-acpm.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/clk/samsung/clk-acpm.c b/drivers/clk/samsung/clk-acpm.c index d8944160793a..604604b5b814 100644 --- a/drivers/clk/samsung/clk-acpm.c +++ b/drivers/clk/samsung/clk-acpm.c @@ -113,6 +113,8 @@ static int acpm_clk_register(struct device *dev, struct= acpm_clk *aclk, =20 static int acpm_clk_probe(struct platform_device *pdev) { + const struct acpm_clk_driver_data *drv_data; + const struct platform_device_id *id; struct acpm_handle *acpm_handle; struct clk_hw_onecell_data *clk_data; struct clk_hw **hws; @@ -126,8 +128,14 @@ static int acpm_clk_probe(struct platform_device *pdev) return dev_err_probe(dev, PTR_ERR(acpm_handle), "Failed to get acpm handle\n"); =20 - count =3D acpm_clk_gs101.nr_clks; - mbox_chan_id =3D acpm_clk_gs101.mbox_chan_id; + id =3D platform_get_device_id(pdev); + if (!id || !id->driver_data) + return -ENODEV; + + drv_data =3D (const struct acpm_clk_driver_data *)id->driver_data; + + count =3D drv_data->nr_clks; + mbox_chan_id =3D drv_data->mbox_chan_id; =20 clk_data =3D devm_kzalloc(dev, struct_size(clk_data, hws, count), GFP_KERNEL); @@ -154,8 +162,7 @@ static int acpm_clk_probe(struct platform_device *pdev) =20 hws[i] =3D &aclk->hw; =20 - err =3D acpm_clk_register(dev, aclk, - acpm_clk_gs101.clks[i].name); + err =3D acpm_clk_register(dev, aclk, drv_data->clks[i].name); if (err) return dev_err_probe(dev, err, "Failed to register clock\n"); @@ -166,7 +173,7 @@ static int acpm_clk_probe(struct platform_device *pdev) } =20 static const struct platform_device_id acpm_clk_id[] =3D { - { "gs101-acpm-clk" }, + { "gs101-acpm-clk", (kernel_ulong_t)&acpm_clk_gs101 }, {} }; MODULE_DEVICE_TABLE(platform, acpm_clk_id); --=20 2.51.0 From nobody Fri Jun 12 20:23:15 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 A66CA3C2796 for ; Tue, 12 May 2026 20:41:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778618465; cv=none; b=fIn25ByJ7Mvun4cjFy9lACcoQHRyepsuvghR9o+dquqmxjczIwEG3aeUtr6+pguGOZUo6nD1qDwNhIZwX7dM5av1zdF27jJVz0CFoS3ACYk9MZcJTZBE9i4ZwW5XQmoCcfobfgNUThFkhELdLn0K8gWDElhzV7XXO37aYAf3DIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778618465; c=relaxed/simple; bh=H0RLb9c0LURxO6koeJTD/k16aT3guXED0HIliuxHbOg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kozoP0p5y0KDBQjTl4oUGx/ZolEyRI0b/Od4Yoea6o1DVer5BjA6kFfkY64p/GkfCouU1pflfd+0feINikcxT9vsMZqnzdow+xi1ZorNziC1OkvJKBFJmA9+Gx/R4GEmyyHLpghmoGfwn6G4xr2h/jjuhi1kChlXLX73i4kBHdE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=eVuYCVem; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="eVuYCVem" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-488b3f8fa2bso66977955e9.1 for ; Tue, 12 May 2026 13:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778618462; x=1779223262; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mroWW2HaShkmhTulJgY1nxFyaBNcYTZGN03Y3cw9Xbk=; b=eVuYCVemeNu5EUSDrhQRjFPYxKv/YI4VG1JQOjgmMYNbQt0ycs+Y+iV9Sic/Vxpzx5 pRQVluTcHEKVfY3fOZ3ghgJmG7OxX5PAzWMD21EyJUBWOvLiQ6UD7n1PXIzpRVMyPgyM ojiMDV6OH8Fy+U0TQ5IQP2lLrF+0av4AokqcqTH8MYvsh4N912m1yLj5T2/VfPpcvDEf MnT0GE+d7YDhxYwQP/unln+kzZmBxHh4mL0yPAStUOXrR5WlBy5Dtftg1/+T3PHNi9xw XdqjNESCP8+pySNC1WeS/1nEDssEYMMKOQDUo1ieoQRgevVCB0LLx+aOb4v7ov7hKty5 5Nrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778618462; x=1779223262; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mroWW2HaShkmhTulJgY1nxFyaBNcYTZGN03Y3cw9Xbk=; b=d2zHqqzC6AX4nMkFhVQxtB1urXAkCn459e2ougnJHgbbP58bJqWoqlRIGQ6imody+h v7mzMdif1qUDjDdS6P8Zwb21rTTSvim4Mv/DbVEMUscpwe6OU2wzvqtD25g+TY1jPBTV 44/2q7A9heaDPVQB76wED+e3HsrV1RCog/zTdwJLZyMTYZJHDNPU/2DrLGS3FkJXtfXy GTsqvOQNXU1oOkkOK6F3Eap+5pcrbFH3iLNxky42KkrdqQiuO8BZg5eCtZyvS24Oe+Z3 qu8qNq0JbIT2x3cTq2EXWrAQGRSWKhuzBTXc75TjIcCCk8tUz6t1oF7EKFomAgVd/Pgy OnNQ== X-Forwarded-Encrypted: i=1; AFNElJ+t01AtHDViFhRvCm0J0UJjPT9NjKkqTr/7rcTwSg1864ur6n3+2pWVK+gn5YsgGkCLfzwu2f0BMtNaIuc=@vger.kernel.org X-Gm-Message-State: AOJu0YwmshIhOAnJ0qrMDrB6qlEUgUDnH/igmGW1cCSRAgwW/kMauVRS c5ClT3BgdVEvh6u1GXpcOFVHTXi9ejbYlZ9H1ka1x8GjJwdBYPOtA8ClLvSvJ2b6kGI= X-Gm-Gg: Acq92OGOBHCA8v+xZYuJRwssnNyWQSveZAzKbskra/0ZA3RVJczIHIlQFSdi9rNKBBO kWEfVZPAT19+6/SN8IsGHBl/UaDAz4wmmHH7rORK94Bh4fPrqngxKZcEKJYhC1fnyogNoli/Bgh HQQFzb1meDJtT2yAf+iQyUZzTu7Prep3+6nRiZESrjcEPnFF/skRG0mBiI42lsDR4+oqBi1bRB2 vYiuvMrySwvvFhoelxof4yBlHwpvAiAvsWsUIfmrPMSiU/teGD32sjIBzVdHaD0IOAu0JVgbQOZ hgosStBPOGI0BsdrCMmnhjPfAFJY8u6+5y7JttcCsASXE+4lyi2WS8Cvfh/efPigdjq1RItTYSZ UkfMPc1yqoOXhJeXf8YBbj3YmH9Z7e8zYByh8GwZImB7NrG84C8euepc4+8/1ErWlsrQI/dVJ/e wnvcB2MiP8dzHIAltxiJ/fYel6WGT1mq5RIux6ASBQRnAZJaiSEGOMW5FZ5jcmJEtCMNMmdzRMP qhsttN6tpG6QUxB X-Received: by 2002:a05:600c:45cd:b0:485:3c2e:60d5 with SMTP id 5b1f17b1804b1-48fc971f0ecmr6871455e9.2.1778618462098; Tue, 12 May 2026 13:41:02 -0700 (PDT) Received: from [127.0.1.1] ([94.4.195.193]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48fc8d21c72sm18788095e9.7.2026.05.12.13.41.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 13:41:00 -0700 (PDT) From: Alexey Klimov Date: Tue, 12 May 2026 21:40:49 +0100 Subject: [PATCH 2/2] clk: samsung: acpm: add initial Exynos850 support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260512-exynos850-acpm-clk-v1-2-837532ddbf38@linaro.org> References: <20260512-exynos850-acpm-clk-v1-0-837532ddbf38@linaro.org> In-Reply-To: <20260512-exynos850-acpm-clk-v1-0-837532ddbf38@linaro.org> To: Sam Protsenko , Tudor Ambarus , Krzysztof Kozlowski , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Brian Masney Cc: linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 The Exynos850 SoC utilizes the APM co-processor for clock management via ACPM, similar to the GS101 SoC. Add the Exynos850-specific clock variant array (including mif, int, cpucl0, cpucl1, g3d, aud, cam, disp, and cp) and wire it up to the driver data infrastructure. Add the "exynos850-acpm-clk" device ID to enable dynamic instantiation of these clocks during probe(). Signed-off-by: Alexey Klimov Reviewed-by: Tudor Ambarus --- drivers/clk/samsung/clk-acpm.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/clk/samsung/clk-acpm.c b/drivers/clk/samsung/clk-acpm.c index 604604b5b814..d9b2604db03a 100644 --- a/drivers/clk/samsung/clk-acpm.c +++ b/drivers/clk/samsung/clk-acpm.c @@ -40,6 +40,18 @@ struct acpm_clk_driver_data { .name =3D cname, \ } =20 +static const struct acpm_clk_variant exynos850_acpm_clks[] =3D { + ACPM_CLK("mif"), + ACPM_CLK("int"), + ACPM_CLK("cpucl0"), + ACPM_CLK("cpucl1"), + ACPM_CLK("g3d"), + ACPM_CLK("aud"), + ACPM_CLK("cam"), + ACPM_CLK("disp"), + ACPM_CLK("cp"), +}; + static const struct acpm_clk_variant gs101_acpm_clks[] =3D { ACPM_CLK("mif"), ACPM_CLK("int"), @@ -57,6 +69,12 @@ static const struct acpm_clk_variant gs101_acpm_clks[] = =3D { ACPM_CLK("bo"), }; =20 +static const struct acpm_clk_driver_data acpm_clk_exynos850 =3D { + .clks =3D exynos850_acpm_clks, + .nr_clks =3D ARRAY_SIZE(exynos850_acpm_clks), + .mbox_chan_id =3D 0, +}; + static const struct acpm_clk_driver_data acpm_clk_gs101 =3D { .clks =3D gs101_acpm_clks, .nr_clks =3D ARRAY_SIZE(gs101_acpm_clks), @@ -173,6 +191,7 @@ static int acpm_clk_probe(struct platform_device *pdev) } =20 static const struct platform_device_id acpm_clk_id[] =3D { + { "exynos850-acpm-clk", (kernel_ulong_t)&acpm_clk_exynos850 }, { "gs101-acpm-clk", (kernel_ulong_t)&acpm_clk_gs101 }, {} }; --=20 2.51.0