Re: [PATCH v2] mmc: Convert from tasklet to BH workqueue

Allen
2024-06-13T20:59:33Z

> > The only generic interface to execute asynchronously in the BH context is
> > tasklet; however, it's marked deprecated and has some design flaws. To
> > replace tasklets, BH workqueue support was recently added. A BH workqueue
> > behaves similarly to regular workqueues except that the queued work items
> > are executed in the BH context.
> >
> > This patch converts drivers/mmc/* from tasklet to BH workqueue.
> >
> > Based on the work done by Tejun Heo <tj@kernel.org>
> >
> > Tested-by: Christian Loehle <christian.loehle@arm.com>
> > Tested-by: Aubin Constans <aubin.constans@microchip.com>
> > Acked-by: Aubin Constans <aubin.constans@microchip.com>
> > Acked-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > Reviewed-by: Christian Loehle <christian.loehle@arm.com>
> > Signed-off-by: Allen Pais <allen.lkml@gmail.com>
> > ---
> > v2:
> > - fixed patch styling issues
> > - rename work to bh_work
> >
> > Link to v1:
> > https://lore.kernel.org/all/20240327160314.9982-10-apais@linux.microsoft.com/
> >
>
> [SNIP]
>
> > diff --git a/drivers/mmc/host/sdhci-bcm-kona.c b/drivers/mmc/host/sdhci-bcm-kona.c
> > index cb9152c6a65d..9c215db81b2b 100644
> > --- a/drivers/mmc/host/sdhci-bcm-kona.c
> > +++ b/drivers/mmc/host/sdhci-bcm-kona.c
> > @@ -107,7 +107,7 @@ static void sdhci_bcm_kona_sd_init(struct sdhci_host *host)
> > * Software emulation of the SD card insertion/removal. Set insert=1 for insert
> > * and insert=0 for removal. The card detection is done by GPIO. For Broadcom
> > * IP to function properly the bit 0 of CORESTAT register needs to be set/reset
> > - * to generate the CD IRQ handled in sdhci.c which schedules card_tasklet.
> > + * to generate the CD IRQ handled in sdhci.c which schedules card_bh_work.
>
> The comment was stale because sdhci.c has not had a card_tasklet for
> a long time. Just drop the " which schedules card_tasklet"
>

Will do. Thanks.

- Allen

> > */
> > static int sdhci_bcm_kona_sd_card_emulate(struct sdhci_host *host, int insert)
> > {
>

--
- Allen