Messages in this thread | | | Date | Fri, 17 Feb 2012 15:59:22 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 01/60] highmem: mark k[un]map_atomic() with two arguments as deprecated |
| |
On Fri, 10 Feb 2012 13:39:22 +0800 Cong Wang <amwang@redhat.com> wrote:
> --- a/include/linux/highmem.h > +++ b/include/linux/highmem.h > @@ -109,20 +109,60 @@ static inline void kmap_atomic_idx_pop(void) > #endif > > /* > - * Make both: kmap_atomic(page, idx) and kmap_atomic(page) work. > + * NOTE: > + * kmap_atomic() and kunmap_atomic() with two arguments are deprecated. > + * We only keep them for backward compatibility, any usage of them > + * are now warned. > */ > -#define kmap_atomic(page, args...) __kmap_atomic(page) > + > +#define PASTE(a, b) a ## b > +#define PASTE2(a, b) PASTE(a, b) > + > +#define NARG_(_2, _1, n, ...) n > +#define NARG(...) NARG_(__VA_ARGS__, 2, 1, :) > + > +static inline void *kmap_atomic(struct page *page) > +{ > + return __kmap_atomic(page); > +} > + > +static inline void __deprecated *kmap_atomic_deprecated(struct page *page, > + enum km_type km) > +{ > + return __kmap_atomic(page); > +} > + > +#define kmap_atomic1(...) kmap_atomic(__VA_ARGS__) > +#define kmap_atomic2(...) kmap_atomic_deprecated(__VA_ARGS__) > +#define kmap_atomic(...) PASTE2(kmap_atomic, NARG(__VA_ARGS__)(__VA_ARGS__)) > + > +static inline void __deprecated __kunmap_atomic_deprecated(void *addr, > + enum km_type km) > +{ > + __kunmap_atomic(addr); > +}
Boggle.
I can't merge these patches because they're already in linux-next.
This is silly. Please send Linus the pull request for 3.4 and be sure to cc myself on it.
| |