Re: [PATCH] mark dma_sync_single and dma_sync_sg as deprecated

From: Andrew Morton
Date: Wed May 27 2009 - 19:43:53 EST


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.

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

--
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/