Re: [PATCH v2 2/3] mmc: core: Add mmc_delay_us() for microsecond precision delays
Sebastian Reichel <[email protected]> Sat, 25 Jul 2026 00:17:10 +0200
| Newsgroups | org.kernel.vger.linux-mmc,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <amPkAhf_LiXGjzC3@venus> |
Hi, On Wed, Jul 22, 2026 at 03:57:00PM -0500, Judith Mendez wrote: > Add mmc_delay_us() to support microsecond-granularity delays needed > in MMC framework. It uses 25% margin consistent with mmc_delay() for > timing flexibility. > > Signed-off-by: Judith Mendez <[email protected]> > --- > Changes since v1: > - add patch 2/3 > --- Looks like you should just use fsleep() from <linux/delay.h>. Greetings, -- Sebastian > drivers/mmc/core/core.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h > index a028b48be1644..55e9fb3bab9f7 100644 > --- a/drivers/mmc/core/core.h > +++ b/drivers/mmc/core/core.h > @@ -73,6 +73,19 @@ static inline void mmc_delay(unsigned int ms) > msleep(ms); > } > > +static inline void mmc_delay_us(unsigned int us) > +{ > + if (us < 1000) { > + usleep_range(us, us + (us >> 2)); > + } else { > + unsigned int rem_us = us % 1000; > + > + msleep(us / 1000); > + if (rem_us) > + usleep_range(rem_us, rem_us + (rem_us >> 2)); > + } > +} > + > void mmc_rescan(struct work_struct *work); > void mmc_start_host(struct mmc_host *host); > void __mmc_stop_host(struct mmc_host *host); > -- > 2.54.0 > >
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE72YNB0Y/i3JqeVQT2O7X88g7+poFAmpj5GEACgkQ2O7X88g7 +prZMxAAh815X1v+LlRjLLU6UcHD7YF72x1z5AQ8I2/g/Lst+PTKFD0X+n8NDDkp ngZf4bq6FzeqjdJC0/KiCwfshgHHL7je05CGHd83sAZs0+DOqDp8n0YxhU6qX5W0 TQahJRWcKWUVHX83BOw7x4xS5pJaTEUTMKsmpJ9Yhakp0gmhGOdo2ObqWdU6u++q PrMz/DBtkf6DPYTNZBsXSaVlgj8fGH5sktnOMWILbwlrEujQfjbkEtxgjnwJuuP4 Sw1D8ia7F9d5hCt5XybdaKJiQueDwcog9e17bsi9Kpzfgm8uKpEYK2P7O/p+iNG4 tlvCHsMdhgpnuavQO7CzaScA2r9SXroP54B/kIXjcGqqOqVy8KYXl1HOuSUzkYm/ CSIAk4FCgIIfrn0C5r0dTEyVzTENK+vpaglBq+D31uh+HaS6tmAErwnpTBxwtVAh 8P0hc9Yf5r99Es4kKG3zRc+pAt/TYeKKY4swCxHhpGMbojrFnPS7hVX4YO0kEHtn BJUBr4yHQHpz7ZoZS/4MAMyyNgz1dN9fUeoipHnUaMhmgdZpyLcJB3pFiV30FlkO TXsYASHMMfYSKBhSv7ofOdqaWt5fIz1feMlMyeo2XGJCIcLfbgNBmxzSkbA1Te8n pxL7AoH+T1WL/NA6pFbAX46oDUuwzjnvnPdsqb8IeV9/OVZsjao= =xwU+ -----END PGP SIGNATURE-----