From nobody Tue Dec 2 00:26:28 2025 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0CE781E4AF; Mon, 24 Nov 2025 13:04:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.199 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763989459; cv=none; b=NNDnzC9vi7odx1zB8rdh+jdAWPGRipLqldcM4unZvYc6suHQXNLMsVGhpNEKyzyyn/MDXU+sAlqACsLeHiTI7MT2cvmaYQBwnyUNH5QcqU+8QOTMvb2J01uZEw5FOXDHj9ZXW9JgzkWk5YAq5y7fuVKuxkbAa0TtemRbOWOxsxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763989459; c=relaxed/simple; bh=JckmVSzukyidG2dui/LSzqe71K/hORksPnHdkUfcy0s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V4uwEZY0Gj71zjZqQjz71RA3r6tYmXqItOI2bnnT/D0cwsh6CsWD8DnW5YQcpWCzM2zbjyTG6z+s7svTSHR5RdJvCk0cM/fy9kJ5aIMZ2OCVoMCF4N2YB3W4OHW8Ma4la1bEUhsjLF4QJ02rQHiJeN7iqRXc5iGU9VGeK0G0JfU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=yoseli.org; spf=pass smtp.mailfrom=yoseli.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b=HjKSXCJ+; arc=none smtp.client-ip=217.70.183.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=yoseli.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yoseli.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b="HjKSXCJ+" Received: by mail.gandi.net (Postfix) with ESMTPSA id D9D63443F5; Mon, 24 Nov 2025 13:04:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1763989455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8jK/BJit61+AKutAJR0P94X+7KV8Ubt7aBKM7Qa21V0=; b=HjKSXCJ+38Iqegz8ch4Vpn4xWfuf/j1Lb/GsEccKlsnHRrVAviKvgwEkZ6wC/Hf5OLe6IF ZwfSpGNfcKl07b9dSxknfgsmGohxUlTWckd98JGhrHVTuo4iOUeupHTqz2cbAaY8WDbtKy pjgRFw5z7vheRp0ATNicb1Mz8/sjnHz08d/w+p7UHq0u4dhR9+sSVjLzs26ByILIdOCvSm HK+yb9hL9cohHyd81msZnEPPAYG8OU/F7jrLxTxrasJhiHe1bBwMRVb02N+78nFpUazGym qm5rHBmX04c3nM7SMZtyGxkQE4u/LBAKYdf6pBzPjGq1dHLrXZ9j5tfpSz5oeg== From: Jean-Michel Hautbois Date: Mon, 24 Nov 2025 14:04:06 +0100 Subject: [PATCH v3 1/3] m68k: coldfire: Mark platform device resource arrays as const 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: <20251124-b4-m5441x-add-rng-support-v3-1-f447251dad27@yoseli.org> References: <20251124-b4-m5441x-add-rng-support-v3-0-f447251dad27@yoseli.org> In-Reply-To: <20251124-b4-m5441x-add-rng-support-v3-0-f447251dad27@yoseli.org> To: Greg Ungerer , Geert Uytterhoeven , Olivia Mackall , Herbert Xu , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Jean-Michel Hautbois , Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1763989450; l=4439; i=jeanmichel.hautbois@yoseli.org; s=20240925; h=from:subject:message-id; bh=JckmVSzukyidG2dui/LSzqe71K/hORksPnHdkUfcy0s=; b=L317WBNEiAsbe5JW5H6UDvOUD3cH2afXNSQ++LQh9y94DWqHfnbsyD2hV4Y8prnOqCOuH0WTr dGO/wmJU+NaCG7uZB1liLyFqPgWKbrnepJnaZOwmQhUfIjUjp6IG1S8 X-Developer-Key: i=jeanmichel.hautbois@yoseli.org; a=ed25519; pk=MsMTVmoV69wLIlSkHlFoACIMVNQFyvJzvsJSQsn/kq4= X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvfeekieejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheplfgvrghnqdfoihgthhgvlhcujfgruhhtsghoihhsuceojhgvrghnmhhitghhvghlrdhhrghuthgsohhisheshihoshgvlhhirdhorhhgqeenucggtffrrghtthgvrhhnpeffjefhtdelhffhheevheeutefghfefteeluedvudfhgeegteeitddtuefhhfelteenucfkphepvdgrtddumegvtdgrmeduieelmeejudegtdemkeeksgefmeehudehfeemtgdvieegmeegfhgsnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddumegvtdgrmeduieelmeejudegtdemkeeksgefmeehudehfeemtgdvieegmeegfhgspdhhvghlohephihoshgvlhhiqdihohgtthhordihohhsvghlihdrohhrghdpmhgrihhlfhhrohhmpehjvggrnhhmihgthhgvlhdrhhgruhhtsghoihhsseihohhsvghlihdrohhrghdpnhgspghrtghpthhtohepudehpdhrtghpthhtohepjhgvrghnmhhitghhvghlrdhhrghuthgsohhisheshihoshgvlhhirdhorhhgpdhrtghpthhtoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfr hgruggvrggurdhorhhgpdhrtghpthhtohepghgvvghrtheslhhinhhugidqmheikehkrdhorhhgpdhrtghpthhtohephhgvrhgsvghrthesghhonhguohhrrdgrphgrnhgrrdhorhhgrdgruhdprhgtphhtthhopehfvghsthgvvhgrmhesghhmrghilhdrtghomhdprhgtphhtthhopehshhgrfihnghhuoheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepshdrhhgruhgvrhesphgvnhhguhhtrhhonhhigidruggvpdhrtghpthhtohepihhmgieslhhishhtshdrlhhinhhugidruggvvh X-GND-Sasl: jeanmichel.hautbois@yoseli.org Add 'const' qualifier to all static resource arrays in device.c. These arrays are never modified at runtime, they are only read by platform device registration functions. Suggested-by: Frank Li Signed-off-by: Jean-Michel Hautbois --- arch/m68k/coldfire/device.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/m68k/coldfire/device.c b/arch/m68k/coldfire/device.c index b6958ec2a220cf91a78a14fc7fa18749451412f7..20adba27a687029ef53249bad71= b342d563d612b 100644 --- a/arch/m68k/coldfire/device.c +++ b/arch/m68k/coldfire/device.c @@ -111,7 +111,7 @@ static struct fec_platform_data fec_pdata =3D { * block. It is Freescale's own hardware block. Some ColdFires * have 2 of these. */ -static struct resource mcf_fec0_resources[] =3D { +static const struct resource mcf_fec0_resources[] =3D { { .start =3D MCFFEC_BASE0, .end =3D MCFFEC_BASE0 + MCFFEC_SIZE0 - 1, @@ -148,7 +148,7 @@ static struct platform_device mcf_fec0 =3D { #endif /* MCFFEC_BASE0 */ =20 #ifdef MCFFEC_BASE1 -static struct resource mcf_fec1_resources[] =3D { +static const struct resource mcf_fec1_resources[] =3D { { .start =3D MCFFEC_BASE1, .end =3D MCFFEC_BASE1 + MCFFEC_SIZE1 - 1, @@ -189,7 +189,7 @@ static struct platform_device mcf_fec1 =3D { * The ColdFire QSPI module is an SPI protocol hardware block used * on a number of different ColdFire CPUs. */ -static struct resource mcf_qspi_resources[] =3D { +static const struct resource mcf_qspi_resources[] =3D { { .start =3D MCFQSPI_BASE, .end =3D MCFQSPI_BASE + MCFQSPI_SIZE - 1, @@ -340,7 +340,7 @@ static struct platform_device mcf_qspi =3D { #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ =20 #if IS_ENABLED(CONFIG_I2C_IMX) -static struct resource mcf_i2c0_resources[] =3D { +static const struct resource mcf_i2c0_resources[] =3D { { .start =3D MCFI2C_BASE0, .end =3D MCFI2C_BASE0 + MCFI2C_SIZE0 - 1, @@ -361,7 +361,7 @@ static struct platform_device mcf_i2c0 =3D { }; #ifdef MCFI2C_BASE1 =20 -static struct resource mcf_i2c1_resources[] =3D { +static const struct resource mcf_i2c1_resources[] =3D { { .start =3D MCFI2C_BASE1, .end =3D MCFI2C_BASE1 + MCFI2C_SIZE1 - 1, @@ -385,7 +385,7 @@ static struct platform_device mcf_i2c1 =3D { =20 #ifdef MCFI2C_BASE2 =20 -static struct resource mcf_i2c2_resources[] =3D { +static const struct resource mcf_i2c2_resources[] =3D { { .start =3D MCFI2C_BASE2, .end =3D MCFI2C_BASE2 + MCFI2C_SIZE2 - 1, @@ -409,7 +409,7 @@ static struct platform_device mcf_i2c2 =3D { =20 #ifdef MCFI2C_BASE3 =20 -static struct resource mcf_i2c3_resources[] =3D { +static const struct resource mcf_i2c3_resources[] =3D { { .start =3D MCFI2C_BASE3, .end =3D MCFI2C_BASE3 + MCFI2C_SIZE3 - 1, @@ -433,7 +433,7 @@ static struct platform_device mcf_i2c3 =3D { =20 #ifdef MCFI2C_BASE4 =20 -static struct resource mcf_i2c4_resources[] =3D { +static const struct resource mcf_i2c4_resources[] =3D { { .start =3D MCFI2C_BASE4, .end =3D MCFI2C_BASE4 + MCFI2C_SIZE4 - 1, @@ -457,7 +457,7 @@ static struct platform_device mcf_i2c4 =3D { =20 #ifdef MCFI2C_BASE5 =20 -static struct resource mcf_i2c5_resources[] =3D { +static const struct resource mcf_i2c5_resources[] =3D { { .start =3D MCFI2C_BASE5, .end =3D MCFI2C_BASE5 + MCFI2C_SIZE5 - 1, @@ -507,7 +507,7 @@ static struct mcf_edma_platform_data mcf_edma_data =3D { .slavecnt =3D ARRAY_SIZE(mcf_edma_map), }; =20 -static struct resource mcf_edma_resources[] =3D { +static const struct resource mcf_edma_resources[] =3D { { .start =3D MCFEDMA_BASE, .end =3D MCFEDMA_BASE + MCFEDMA_SIZE - 1, @@ -560,7 +560,7 @@ static struct mcf_esdhc_platform_data mcf_esdhc_data = =3D { .cd_type =3D ESDHC_CD_NONE, }; =20 -static struct resource mcf_esdhc_resources[] =3D { +static const struct resource mcf_esdhc_resources[] =3D { { .start =3D MCFSDHC_BASE, .end =3D MCFSDHC_BASE + MCFSDHC_SIZE - 1, @@ -590,7 +590,7 @@ static struct flexcan_platform_data mcf5441x_flexcan_in= fo =3D { .clock_frequency =3D 120000000, }; =20 -static struct resource mcf5441x_flexcan0_resource[] =3D { +static const struct resource mcf5441x_flexcan0_resource[] =3D { { .start =3D MCFFLEXCAN_BASE0, .end =3D MCFFLEXCAN_BASE0 + MCFFLEXCAN_SIZE, --=20 2.39.5 From nobody Tue Dec 2 00:26:28 2025 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB1CA304BC4; Mon, 24 Nov 2025 13:04:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.199 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763989460; cv=none; b=QHsKFm82smqRmktzB5Fvklzg9aGgOJCFvmKhC+wRWAja7pMqVl4HknI0/Kzy8opqFhRnzbHsVpnS4+3fAzl+i14eLBzXb8rSBZgytLicsnpiCewPzr2Lpvp0mAw9atl/O53/Wc6fWo/mpaps3+my1SGS4bOmPSIH11x6uspP1xc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763989460; c=relaxed/simple; bh=fGjuVN/eyqpI1YfOz75w1IalYWvHqVhLRSS3ymtYNZg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HecB7UHiioWoEOEEqZM2fDSuWPaAhqvp5t4vlGDpH4QNJhQ6LQkOcravKPp1QYzl2oCv+jaz29towxUFhq8gO4ZmF0p4vxQ8Xy/25yPsSm7XI2czqv6/fd3/bkVRX7olb7TaXO//Go3BmDr+m9b1zlcEiGp/0kYatS/doi9CSL8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=yoseli.org; spf=pass smtp.mailfrom=yoseli.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b=mTr/yLis; arc=none smtp.client-ip=217.70.183.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=yoseli.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yoseli.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b="mTr/yLis" Received: by mail.gandi.net (Postfix) with ESMTPSA id B824E443F7; Mon, 24 Nov 2025 13:04:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1763989457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=s+eqQe2KdBrDZeaHxA8064ihaR99xfXHcypbEAUQbOs=; b=mTr/yLisGjkfwXlyIJ9ZtNTKYfmlGSIsuA2wTJiDiQzsNHCZrmNZpNl3Zcd1FVE04UPv+D 5vRjQ17p11IRbKXwl3bheTIMI5YllSi8tv0dQ2bPx3aquHr2n2it6BqTHI4LIbVE1OBFZD LIr3lNcHv6s+yj4W62ZFmNlw73SQJGxXK91OtJvWTnKckOXKuHIkwpakapJ6dk2ElK42Hp 2DbsPdPCNNeTmTU2qT3jsvd6u3JTT+bJSox5VXtC6d2td9KUyPqoIDcscAGsbJl35bnp0V BKUf5UT/xqwZF6ctbYX8iIfBnlokuzVIrSseVFlqImHFP1h1Z9mK3HjT6kEz3A== From: Jean-Michel Hautbois Date: Mon, 24 Nov 2025 14:04:07 +0100 Subject: [PATCH v3 2/3] hwrng: imx-rngc: Use optional clock 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: <20251124-b4-m5441x-add-rng-support-v3-2-f447251dad27@yoseli.org> References: <20251124-b4-m5441x-add-rng-support-v3-0-f447251dad27@yoseli.org> In-Reply-To: <20251124-b4-m5441x-add-rng-support-v3-0-f447251dad27@yoseli.org> To: Greg Ungerer , Geert Uytterhoeven , Olivia Mackall , Herbert Xu , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Jean-Michel Hautbois X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1763989450; l=988; i=jeanmichel.hautbois@yoseli.org; s=20240925; h=from:subject:message-id; bh=fGjuVN/eyqpI1YfOz75w1IalYWvHqVhLRSS3ymtYNZg=; b=URqrjSlLfxew3kIaiALRoQW/ADT/O3pEDUu28AugBnNIKMyuX3rzM7M6PMWDggzCpcLVMbACD cKL5pNEa5soA8h+JSbKgZA2p9hjI3PvFQb9lE7xFeykGsbCLoteyAg9 X-Developer-Key: i=jeanmichel.hautbois@yoseli.org; a=ed25519; pk=MsMTVmoV69wLIlSkHlFoACIMVNQFyvJzvsJSQsn/kq4= X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvfeekieejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheplfgvrghnqdfoihgthhgvlhcujfgruhhtsghoihhsuceojhgvrghnmhhitghhvghlrdhhrghuthgsohhisheshihoshgvlhhirdhorhhgqeenucggtffrrghtthgvrhhnpeffjefhtdelhffhheevheeutefghfefteeluedvudfhgeegteeitddtuefhhfelteenucfkphepvdgrtddumegvtdgrmeduieelmeejudegtdemkeeksgefmeehudehfeemtgdvieegmeegfhgsnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddumegvtdgrmeduieelmeejudegtdemkeeksgefmeehudehfeemtgdvieegmeegfhgspdhhvghlohephihoshgvlhhiqdihohgtthhordihohhsvghlihdrohhrghdpmhgrihhlfhhrohhmpehjvggrnhhmihgthhgvlhdrhhgruhhtsghoihhsseihohhsvghlihdrohhrghdpnhgspghrtghpthhtohepudegpdhrtghpthhtohepjhgvrghnmhhitghhvghlrdhhrghuthgsohhisheshihoshgvlhhirdhorhhgpdhrtghpthhtoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfr hgruggvrggurdhorhhgpdhrtghpthhtohepghgvvghrtheslhhinhhugidqmheikehkrdhorhhgpdhrtghpthhtohephhgvrhgsvghrthesghhonhguohhrrdgrphgrnhgrrdhorhhgrdgruhdprhgtphhtthhopehfvghsthgvvhgrmhesghhmrghilhdrtghomhdprhgtphhtthhopehshhgrfihnghhuoheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepshdrhhgruhgvrhesphgvnhhguhhtrhhonhhigidruggvpdhrtghpthhtohepihhmgieslhhishhtshdrlhhinhhugidruggvvh X-GND-Sasl: jeanmichel.hautbois@yoseli.org Change devm_clk_get() to devm_clk_get_optional() to support platforms where the RNG clock is always enabled and not exposed via the clock framework (such as ColdFire MCF54418). Signed-off-by: Jean-Michel Hautbois Reviewed-by: Frank Li --- drivers/char/hw_random/imx-rngc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/char/hw_random/imx-rngc.c b/drivers/char/hw_random/imx= -rngc.c index 241664a9b5d9ac7244f15cbe5d5302ca3787ebea..d6a847e48339b2758c73c95d57a= 7aa48eb4875e0 100644 --- a/drivers/char/hw_random/imx-rngc.c +++ b/drivers/char/hw_random/imx-rngc.c @@ -259,7 +259,7 @@ static int __init imx_rngc_probe(struct platform_device= *pdev) if (IS_ERR(rngc->base)) return PTR_ERR(rngc->base); =20 - rngc->clk =3D devm_clk_get(&pdev->dev, NULL); + rngc->clk =3D devm_clk_get_optional(&pdev->dev, NULL); if (IS_ERR(rngc->clk)) return dev_err_probe(&pdev->dev, PTR_ERR(rngc->clk), "Cannot get rng_clk= \n"); =20 --=20 2.39.5 From nobody Tue Dec 2 00:26:28 2025 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 908443043BD; Mon, 24 Nov 2025 13:04:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.199 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763989462; cv=none; b=Ki8EYfAW4AukFpWAmU4GIMoi3k/bDzfeRf+Y+frooXZ88DroMSjtsDrEOiNXF5C/wDwn9PSW6wR0WHP/lM7izvZ/aTJ7mfZI93nkSgpl1X/1C9A8TQH51e5pxMW1AT21pujB0tF39qGBwNWCYtPTipOy+ZAuuTqdyKfHz1waZeM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763989462; c=relaxed/simple; bh=NLpSZfKUzPqHfyWjnO/4UQZgjeAox4imDnC6/Fqs5B0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GokED2Y8Xi/PmbLSgZiwKowRzJi1Y0pEp8AcpHjuFqwoc6ASNmbiH9r/Ffm5h58aRJlRPQ8D50mgGhgcS05HKawFUcWNTwlZjpbzsNdNnnxl538TKBlbnT1eBqyid+UU50v+479rMzwB1e4spAHvRbvosuXghRaIELtqiAAmCyk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=yoseli.org; spf=pass smtp.mailfrom=yoseli.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b=aem801oT; arc=none smtp.client-ip=217.70.183.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=yoseli.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yoseli.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=yoseli.org header.i=@yoseli.org header.b="aem801oT" Received: by mail.gandi.net (Postfix) with ESMTPSA id 74BEC443EF; Mon, 24 Nov 2025 13:04:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1763989459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pVUtMnNy35QShWDztJv3N9gy4el01nJk7uIERXY9Fpo=; b=aem801oTDhFCeVWz5uyqMXJM6NdAHkhRIxAmxgw/oUB2F7lIef1482nZ9PYiQuMub/8m5x 6AQpuhArQPYzzy8DEHNKC33PlocU8sHdfZsHyLenOYjySkHqYN8Jb5vkcL3IIKXqSycu4Y srKcd/SkEyW83wJUyCZgbmcpiIpXp1Q+I8rPEDcxsHmuya/ET4ar1WMio09k96LnPnRqj2 7S3YFDsmtKDyJVahpP3A0RFHuaVg9EJ0pTN9PkRrvGYjNv6ZBl7lxrtn1ihoQWbHVa7oH5 zbx1AEhpL+SEPthBFHYTr46KaifekmbBefYTAeu8jBrd/FxJ6XHz42CUF1mvQw== From: Jean-Michel Hautbois Date: Mon, 24 Nov 2025 14:04:08 +0100 Subject: [PATCH v3 3/3] m68k: coldfire: Add RNG support for MCF54418 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: <20251124-b4-m5441x-add-rng-support-v3-3-f447251dad27@yoseli.org> References: <20251124-b4-m5441x-add-rng-support-v3-0-f447251dad27@yoseli.org> In-Reply-To: <20251124-b4-m5441x-add-rng-support-v3-0-f447251dad27@yoseli.org> To: Greg Ungerer , Geert Uytterhoeven , Olivia Mackall , Herbert Xu , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Jean-Michel Hautbois X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1763989450; l=5131; i=jeanmichel.hautbois@yoseli.org; s=20240925; h=from:subject:message-id; bh=NLpSZfKUzPqHfyWjnO/4UQZgjeAox4imDnC6/Fqs5B0=; b=yV70yxGHw489i/dIhhda+Hq2AzNqJvKdwW/sAdszA3aTPmQGM0YbaIna2AC8Gcy5vikEku/cg fYwEFrd9kvjDA1g5ohnFjPigEu0+j+5nYA7cnZc0WPrwlQgH/1Evi2Z X-Developer-Key: i=jeanmichel.hautbois@yoseli.org; a=ed25519; pk=MsMTVmoV69wLIlSkHlFoACIMVNQFyvJzvsJSQsn/kq4= X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvfeekieejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheplfgvrghnqdfoihgthhgvlhcujfgruhhtsghoihhsuceojhgvrghnmhhitghhvghlrdhhrghuthgsohhisheshihoshgvlhhirdhorhhgqeenucggtffrrghtthgvrhhnpeffjefhtdelhffhheevheeutefghfefteeluedvudfhgeegteeitddtuefhhfelteenucfkphepvdgrtddumegvtdgrmeduieelmeejudegtdemkeeksgefmeehudehfeemtgdvieegmeegfhgsnecuvehluhhsthgvrhfuihiivgepvdenucfrrghrrghmpehinhgvthepvdgrtddumegvtdgrmeduieelmeejudegtdemkeeksgefmeehudehfeemtgdvieegmeegfhgspdhhvghlohephihoshgvlhhiqdihohgtthhordihohhsvghlihdrohhrghdpmhgrihhlfhhrohhmpehjvggrnhhmihgthhgvlhdrhhgruhhtsghoihhsseihohhsvghlihdrohhrghdpnhgspghrtghpthhtohepudegpdhrtghpthhtohepjhgvrghnmhhitghhvghlrdhhrghuthgsohhisheshihoshgvlhhirdhorhhgpdhrtghpthhtoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfr hgruggvrggurdhorhhgpdhrtghpthhtohepghgvvghrtheslhhinhhugidqmheikehkrdhorhhgpdhrtghpthhtohephhgvrhgsvghrthesghhonhguohhrrdgrphgrnhgrrdhorhhgrdgruhdprhgtphhtthhopehfvghsthgvvhgrmhesghhmrghilhdrtghomhdprhgtphhtthhopehshhgrfihnghhuoheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepshdrhhgruhgvrhesphgvnhhguhhtrhhonhhigidruggvpdhrtghpthhtohepihhmgieslhhishhtshdrlhhinhhugidruggvvh X-GND-Sasl: jeanmichel.hautbois@yoseli.org Add support for the hardware Random Number Generator (RNGB) found on MCF54418 ColdFire processors with clock enabled at platform initialization. The RNGB block is compatible with the imx-rngc driver. Signed-off-by: Jean-Michel Hautbois Reviewed-by: Frank Li --- arch/m68k/coldfire/device.c | 28 ++++++++++++++++++++++++++++ arch/m68k/coldfire/m5441x.c | 2 +- arch/m68k/include/asm/m5441xsim.h | 9 +++++++++ drivers/char/hw_random/Kconfig | 3 ++- drivers/char/hw_random/imx-rngc.c | 7 +++++++ 5 files changed, 47 insertions(+), 2 deletions(-) diff --git a/arch/m68k/coldfire/device.c b/arch/m68k/coldfire/device.c index 20adba27a687029ef53249bad71b342d563d612b..4183929b0b501459da25d1b4cde= 7d77f19c3dc16 100644 --- a/arch/m68k/coldfire/device.c +++ b/arch/m68k/coldfire/device.c @@ -622,6 +622,31 @@ static struct platform_device mcf_flexcan0 =3D { }; #endif /* MCFFLEXCAN_SIZE */ =20 +#ifdef MCF_RNG_BASE +/* + * Random Number Generator (RNG) - only on MCF54418 + */ +static const struct resource mcf_rng_resource[] =3D { + { + .start =3D MCF_RNG_BASE, + .end =3D MCF_RNG_BASE + MCF_RNG_SIZE - 1, + .flags =3D IORESOURCE_MEM, + }, + { + .start =3D MCF_IRQ_RNG, + .end =3D MCF_IRQ_RNG, + .flags =3D IORESOURCE_IRQ, + }, +}; + +static struct platform_device mcf_rng =3D { + .name =3D "imx-rngc", + .id =3D -1, + .num_resources =3D ARRAY_SIZE(mcf_rng_resource), + .resource =3D mcf_rng_resource, +}; +#endif /* MCF_RNG_BASE */ + static struct platform_device *mcf_devices[] __initdata =3D { &mcf_uart, #ifdef MCFFEC_BASE0 @@ -660,6 +685,9 @@ static struct platform_device *mcf_devices[] __initdata= =3D { #ifdef MCFFLEXCAN_SIZE &mcf_flexcan0, #endif +#ifdef MCF_RNG_BASE + &mcf_rng, +#endif }; =20 /* diff --git a/arch/m68k/coldfire/m5441x.c b/arch/m68k/coldfire/m5441x.c index 7a25cfc7ac07570ff15da3c55d080a717cf93a06..ab5b006372379294db3b522820d= e88137bfb7e78 100644 --- a/arch/m68k/coldfire/m5441x.c +++ b/arch/m68k/coldfire/m5441x.c @@ -158,6 +158,7 @@ static struct clk * const enable_clks[] __initconst =3D= { &__clk_0_33, /* pit.1 */ &__clk_0_37, /* eport */ &__clk_0_48, /* pll */ + &__clk_0_49, /* rng */ &__clk_0_51, /* esdhc */ =20 &__clk_1_36, /* CCM/reset module/Power management */ @@ -179,7 +180,6 @@ static struct clk * const disable_clks[] __initconst = =3D { &__clk_0_44, /* usb otg */ &__clk_0_45, /* usb host */ &__clk_0_47, /* ssi.0 */ - &__clk_0_49, /* rng */ &__clk_0_50, /* ssi.1 */ &__clk_0_53, /* enet-fec */ &__clk_0_54, /* enet-fec */ diff --git a/arch/m68k/include/asm/m5441xsim.h b/arch/m68k/include/asm/m544= 1xsim.h index f48cf63bd7822fd53c33788128f984585c0c421a..dd64cdfcad3e810254c6854b9de= 5b6bbeb67b950 100644 --- a/arch/m68k/include/asm/m5441xsim.h +++ b/arch/m68k/include/asm/m5441xsim.h @@ -198,6 +198,15 @@ #define MCFRTC_SIZE (0xfc0a8840 - 0xfc0a8000) #define MCF_IRQ_RTC (MCFINT2_VECBASE + MCFINT2_RTC) =20 +/* + * Random Number Generator (RNG) Module. + * Note: Only present in MCF54418, not in MCF54410/54415/54417 + */ +#define MCF_RNG_BASE 0xfc0c4000 +#define MCF_RNG_SIZE 0x1c +#define MCFINT2_RNG 28 +#define MCF_IRQ_RNG (MCFINT2_VECBASE + MCFINT2_RNG) + /* * GPIO Module. */ diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig index 492a2a61a65be8bd9e46b0a70f3e43703973512e..2f301e43db846c687a38377a164= 429818137ece2 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -270,12 +270,13 @@ config HW_RANDOM_MXC_RNGA config HW_RANDOM_IMX_RNGC tristate "Freescale i.MX RNGC Random Number Generator" depends on HAS_IOMEM - depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPIL= E_TEST + depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COLDFI= RE || COMPILE_TEST default HW_RANDOM help This driver provides kernel-side support for the Random Number Generator Version C hardware found on some Freescale i.MX processors. Version B is also supported by this driver. + Also supports RNGB on Freescale MCF54418 (Coldfire V4e). =20 To compile this driver as a module, choose M here: the module will be called imx-rngc. diff --git a/drivers/char/hw_random/imx-rngc.c b/drivers/char/hw_random/imx= -rngc.c index d6a847e48339b2758c73c95d57a7aa48eb4875e0..44f20a05de0a425cb6ff7b2a347= b111750ac3702 100644 --- a/drivers/char/hw_random/imx-rngc.c +++ b/drivers/char/hw_random/imx-rngc.c @@ -353,12 +353,19 @@ static const struct of_device_id imx_rngc_dt_ids[] = =3D { }; MODULE_DEVICE_TABLE(of, imx_rngc_dt_ids); =20 +static const struct platform_device_id imx_rngc_devtype[] =3D { + { .name =3D "imx-rngc" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(platform, imx_rngc_devtype); + static struct platform_driver imx_rngc_driver =3D { .driver =3D { .name =3D KBUILD_MODNAME, .pm =3D pm_ptr(&imx_rngc_pm_ops), .of_match_table =3D imx_rngc_dt_ids, }, + .id_table =3D imx_rngc_devtype, }; =20 module_platform_driver_probe(imx_rngc_driver, imx_rngc_probe); --=20 2.39.5