Re: [PATCH] mark dma_sync_single and dma_sync_sg as deprecated

From: FUJITA Tomonori
Date: Wed May 27 2009 - 21:17:34 EST


On Wed, 27 May 2009 16:43:05 -0700
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Tue, 19 May 2009 13:00:37 +0900
> FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:
>
> > dma_sync_single() and dma_sync_sg() have been described as "Backwards
> > compat, remove in 2.7.x" for a long time (since 2.6.5).
> >
> > This marks dma_sync_single() and dma_sync_sg() as deprecated so the
> > users get notified before removing them.
> >
> > Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
> > ---
> > include/linux/dma-mapping.h | 17 ++++++++++++++---
> > 1 files changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
> > index 8083b6a..197ddc4 100644
> > --- a/include/linux/dma-mapping.h
> > +++ b/include/linux/dma-mapping.h
> > @@ -107,9 +107,20 @@ static inline int is_buffer_dma_capable(u64 mask, dma_addr_t addr, size_t size)
> > #include <asm-generic/dma-mapping-broken.h>
> > #endif
> >
> > -/* Backwards compat, remove in 2.7.x */
> > -#define dma_sync_single dma_sync_single_for_cpu
> > -#define dma_sync_sg dma_sync_sg_for_cpu
> > +/* for backwards compatibility, removed soon */
> > +static inline void __deprecated dma_sync_single(struct device *dev,
> > + dma_addr_t addr, size_t size,
> > + enum dma_data_direction dir)
> > +{
> > + dma_sync_single_for_cpu(dev, addr, size, dir);
> > +}
> > +
> > +static inline void __deprecated dma_sync_sg(struct device *dev,
> > + struct scatterlist *sg, int nelems,
> > + enum dma_data_direction dir)
> > +{
> > + dma_sync_sg_for_cpu(dev, sg, nelems, dir);
> > +}
> >
> > static inline u64 dma_get_mask(struct device *dev)
> > {
>
> I dunno. There are still several callers to dma_sync_single() and
> dma_sync_sg() in various drivers and adding the warning will just
> irritate people. It would be better to make an effort to convert those
> callsites before filling everyone's screens with yet more warnings.

Ok, I was too lazy. I tried to irritate people to fix them but yeah
it's not a polite way. I've just sent patches to convert all those
callsites.


> Most of the offenders are in USB, so let's optimistically cc those fine
> folks.

Actually, all the callsites in USB are wrapped with '#ifdef 0'. So
they don't get any warnings due to this patch.
--
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/