Thread (14 messages) 14 messages, 4 authors, 2026-03-16

RE: [PATCH 2/2] mmc: sdhci-of-aspeed: Add ast2700 support

From: Ryan Chen <ryan_chen@aspeedtech.com>
Date: 2026-03-14 01:21:11
Also in: linux-aspeed, linux-devicetree, linux-mmc, lkml, openbmc

Subject: RE: [PATCH 2/2] mmc: sdhci-of-aspeed: Add ast2700 support
quoted
Subject: Re: [PATCH 2/2] mmc: sdhci-of-aspeed: Add ast2700 support

On Fr, 2026-03-13 at 13:27 +0800, Ryan Chen wrote:
quoted
Add support for the AST2700 SOC in the sd controller driver. AST2700
sd controller requires an reset line, so hook up the optional reset
control and deassert it during probe.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
---
 drivers/mmc/host/sdhci-of-aspeed.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c
b/drivers/mmc/host/sdhci-of-aspeed.c
index ca97b01996b1..91c36245e506 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -520,6 +520,7 @@ static int aspeed_sdc_probe(struct
platform_device
*pdev)

 {
 	struct device_node *parent, *child;
+	struct reset_control *reset;
 	struct aspeed_sdc *sdc;
 	int ret;
@@ -529,6 +530,15 @@ static int aspeed_sdc_probe(struct
platform_device *pdev)

 	spin_lock_init(&sdc->lock);

+	reset = reset_control_get_optional_exclusive(&pdev->dev, NULL);
This is missing a reset_control_put() in aspeed_sdc_remove(). Or use
devm_reset_control_get_optional_exclusive().

Is it ok to assert this reset control in _remove()? If so, you could
use devm_reset_control_get_optional_exclusive_deasserted().
Thanks the guidance.
I will update use
sdc->rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
if (IS_ERR(sdc->rst))
	return dev_err_probe(&pdev->dev, PTR_ERR(sdc->rst),
			     "unable to acquire reset\n");
Sorry, I review the devm_reset_control_get_optional_exclusive_deasserted
I will modify with following in probe.

	sdc->rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
									NULL);
	if (IS_ERR(sdc->rst))
		return dev_err_probe(&pdev->dev, PTR_ERR(sdc->rst),
				     "unable to acquire reset\n");

And add reset_control_assert(sdc->rst); in remove.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help