Re: [PATCH] ata: libata depends on HAS_DMA

From: Arnd Bergmann
Date: Sun May 17 2009 - 15:42:44 EST


On Sunday 17 May 2009, Robert Hancock wrote:
> Arnd Bergmann wrote:
> > On Friday 15 May 2009, Tejun Heo wrote:
> >> Don't know much history here but I don't wanna sprinkle ifdefs around
> >> in libata so I would much prefer dummy implementation which doesn't
> >> fail compile.
> >
> > My original patch did that by adding 'depends on HAS_DMA'.
> >
> > The only architectures that don't have that are m68k, m32r,
> > h8300, s390 and microblaze. More research has shown that
> > they all found a different way to disable the ATA drivers
> > already, except microblaze.
> >
> > Alan, you objected the patch initially (and loudly), but
> > maybe you can reconsider this. The only actual effect
> > that my patch has is to allow an allyesconfig build on
> > microblaze and that will implement dma-mapping.h in the
> > next version.
> >
> > All existing architectures do not care at all about this
> > change, unless I'm missing something.
> >
> > Besides, all the other users of the DMA mapping API
> > also depend on CONFIG_HAS_DMA.
>
> Yes, it fixes the compile problem by preventing libata from being
> compiled at all. But the point is that libata should be able to work
> without DMA support.

Please reread my explanations above and your own reply from
last thursday. The case is entirely theoretical, as all platforms
(except microblaze, which is getting fixed) either set HAS_DMA or
don't allow building ATA drivers anyway. Platforms that don't support
DMA can just define CONFIG_HAS_DMA and do what you suggested:

On Thursday 14 May 2009, Robert Hancock wrote:
> Wouldn't the easiest solution be to just dummy out the DMA API calls on
> this platform to always fail? That would fix these compile problems..

Arnd <><
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/