On 13/06/24 02:49, Allen Pais wrote: > 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@xxxxxxxxxx> > > Tested-by: Christian Loehle <christian.loehle@xxxxxxx> > Tested-by: Aubin Constans <aubin.constans@xxxxxxxxxxxxx> > Acked-by: Aubin Constans <aubin.constans@xxxxxxxxxxxxx> > Acked-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx> > Reviewed-by: Christian Loehle <christian.loehle@xxxxxxx> > Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx> > --- > v2: > - fixed patch styling issues > - rename work to bh_work > > Link to v1: > https://lore.kernel.org/all/20240327160314.9982-10-apais@xxxxxxxxxxxxxxxxxxx/ > [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" > */ > static int sdhci_bcm_kona_sd_card_emulate(struct sdhci_host *host, int insert) > {