Re: [PATCH v2] mmc: mmc_spi: Allow the driver to be built when CONFIG_HAS_DMA is unset

From: Ulf Hansson
Date: Tue Sep 01 2020 - 12:09:30 EST


On Tue, 1 Sep 2020 at 17:06, Christoph Hellwig <hch@xxxxxx> wrote:
>
> On Tue, Sep 01, 2020 at 05:04:38PM +0200, Ulf Hansson wrote:
> > +#ifdef CONFIG_HAS_DMA
> > +static int mmc_spi_dma_alloc(struct mmc_spi_host *host)
> > +{
> > + struct spi_device *spi = host->spi;
> > + struct device *dev;
> > +
> > + if (!spi->master->dev.parent->dma_mask)
> > + return 0;
>
> I still don't think this makes sense, as the dma_mask should always
> be non-NULL here.

If that is the case, I wonder how the driver could even have worked without DMA.

Because in the existing code, host->dma_dev gets assigned to
spi->master->dev.parent->dma_mask - which seems to turn on the DMA
usage in the driver.

What am I missing?

Kind regards
Uffe