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

Ryan Chen ryan_chen at aspeedtech.com
Fri Mar 13 19:35:23 AEDT 2026


> Subject: Re: [PATCH 2/2] mmc: sdhci-of-aspeed: Add ast2700 support
> 
> On Fr, 2026-03-13 at 13:27 +0800, Ryan Chen wrote:
> > 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 at 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");

Ryan


More information about the Linux-aspeed mailing list