lkml.org 
[lkml]   [2011]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[V2 PATCH 00/62] highmem: remove the second argument of kmap atomic/kunmap atomic
Date
V1: https://lkml.org/lkml/2011/1/30/13

V1->V2: Split patches and rebase them to the latest linus tree.

Now the second argument of kmap_atomic()/kunmap_atomic() is totally
unused, this patchset removes it from all callers.

But for backward compatibility, we still keep the deprecated form,
and will warn the users if they still use the deprecated one, like this:

drivers/block/drbd/drbd_bitmap.c: In function ‘bm_page_io_async’:
drivers/block/drbd/drbd_bitmap.c:973:3: warning: ‘kmap_atomic_deprecated’ is deprecated (declared at /home/wangcong/linux-2.6/include/linux/highmem.h:124)
drivers/block/drbd/drbd_bitmap.c:977:3: warning: ‘kunmap_atomic_deprecated’ is deprecated (declared at /home/wangcong/linux-2.6/include/linux/highmem.h:144)

To schedule the final removal of these stuffs, I also write some doc into
feature-removal-schedule.txt, see the last patch in this thread.

Most of this patch is generated by the following commands:

find . -name '*.[c|h]' -exec sed -i -e 's#\bkmap_atomic(\(.*\),.*)#kmap_atomic(\1)#' '{}' \;
find . -name '*.[c|h]' -exec sed -i -e 's#\bkunmap_atomic(\(.*\),.*)#kunmap_atomic(\1)#' '{}' \;

the rest exceptions are fixed by hands.

This patch passes 'make allyesconfig' test on both ppc64 and x86_64.

BTW, all patches can be found on my github:

git@github.com:congwang/linux.git #for-next

and the final removal patches can be found here:

git@github.com:congwang/linux.git #for-3.5


Signed-off-by: Cong Wang <amwang@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>

---

Cong Wang (62):
highmem: mark k[un]map_atomic() with two arguments as deprecated
include/linux/highmem.h: remove the second argument of
k[un]map_atomic()
arm: remove the second argument of k[un]map_atomic()
mips: remove the second argument of k[un]map_atomic()
powerpc: remove the second argument of k[un]map_atomic()
sh: remove the second argument of k[un]map_atomic()
um: remove the second argument of k[un]map_atomic()
x86: remove the second argument of k[un]map_atomic()
crypto: remove the second argument of k[un]map_atomic()
ata: remove the second argument of k[un]map_atomic()
block: remove the second argument of k[un]map_atomic()
crypto: remove the second argument of k[un]map_atomic()
edac: remove the second argument of k[un]map_atomic()
drm: remove the second argument of k[un]map_atomic()
ide: remove the second argument of k[un]map_atomic()
infiniband: remove the second argument of k[un]map_atomic()
md: remove the second argument of k[un]map_atomic()
media: remove the second argument of k[un]map_atomic()
memstick: remove the second argument of k[un]map_atomic()
mmc: remove the second argument of k[un]map_atomic()
net: remove the second argument of k[un]map_atomic()
scsi: remove the second argument of k[un]map_atomic()
hv: remove the second argument of k[un]map_atomic()
pohmelfs: remove the second argument of k[un]map_atomic()
rtl8192u: remove the second argument of k[un]map_atomic()
zram: remove the second argument of k[un]map_atomic()
target: remove the second argument of k[un]map_atomic()
vhost: remove the second argument of k[un]map_atomic()
fs: remove the second argument of k[un]map_atomic()
btrfs: remove the second argument of k[un]map_atomic()
ecryptfs: remove the second argument of k[un]map_atomic()
afs: remove the second argument of k[un]map_atomic()
exofs: remove the second argument of k[un]map_atomic()
ext2: remove the second argument of k[un]map_atomic()
fuse: remove the second argument of k[un]map_atomic()
gfs2: remove the second argument of k[un]map_atomic()
jbd: remove the second argument of k[un]map_atomic()
jbd2: remove the second argument of k[un]map_atomic()
logfs: remove the second argument of k[un]map_atomic()
minix: remove the second argument of k[un]map_atomic()
nfs: remove the second argument of k[un]map_atomic()
nilfs2: remove the second argument of k[un]map_atomic()
ntfs: remove the second argument of k[un]map_atomic()
ocfs2: remove the second argument of k[un]map_atomic()
reiserfs: remove the second argument of k[un]map_atomic()
squashfs: remove the second argument of k[un]map_atomic()
ubifs: remove the second argument of k[un]map_atomic()
udf: remove the second argument of k[un]map_atomic()
kdb: remove the second argument of k[un]map_atomic()
power: remove the second argument of k[un]map_atomic()
lib: remove the second argument of k[un]map_atomic()
mm: remove the second argument of k[un]map_atomic()
net: remove the second argument of k[un]map_atomic()
rds: remove the second argument of k[un]map_atomic()
sunrpc: remove the second argument of k[un]map_atomic()
tomoyo: remove the second argument of k[un]map_atomic()
md: remove the second argument of k[un]map_atomic()
gma500: remove the second argument of k[un]map_atomic()
zcache: remove the second argument of k[un]map_atomic()
drbd: remove the second argument of k[un]map_atomic()
highmem: kill all __kmap_atomic()
feature-removal-schedule.txt: add the deprecated form of
kmap_atomic()

Documentation/feature-removal-schedule.txt | 8 ++
arch/arm/mm/copypage-fa.c | 12 ++--
arch/arm/mm/copypage-feroceon.c | 12 ++--
arch/arm/mm/copypage-v3.c | 12 ++--
arch/arm/mm/copypage-v4mc.c | 8 +-
arch/arm/mm/copypage-v4wb.c | 12 ++--
arch/arm/mm/copypage-v4wt.c | 12 ++--
arch/arm/mm/copypage-v6.c | 12 ++--
arch/arm/mm/copypage-xsc3.c | 12 ++--
arch/arm/mm/copypage-xscale.c | 8 +-
arch/arm/mm/highmem.c | 4 +-
arch/frv/include/asm/highmem.h | 2 +-
arch/frv/mm/highmem.c | 4 +-
arch/mips/include/asm/highmem.h | 2 +-
arch/mips/mm/c-r4k.c | 4 +-
arch/mips/mm/highmem.c | 4 +-
arch/mips/mm/init.c | 8 +-
arch/mn10300/include/asm/highmem.h | 2 +-
arch/parisc/include/asm/cacheflush.h | 2 +-
arch/powerpc/include/asm/highmem.h | 2 +-
arch/powerpc/kvm/book3s_pr.c | 4 +-
arch/powerpc/mm/dma-noncoherent.c | 5 +-
arch/powerpc/mm/hugetlbpage.c | 4 +-
arch/powerpc/mm/mem.c | 4 +-
arch/sh/mm/cache-sh4.c | 4 +-
arch/sh/mm/cache.c | 12 ++--
arch/sparc/include/asm/highmem.h | 2 +-
arch/sparc/mm/highmem.c | 4 +-
arch/tile/include/asm/highmem.h | 2 +-
arch/tile/mm/highmem.c | 4 +-
arch/um/kernel/skas/uaccess.c | 4 +-
arch/x86/crypto/aesni-intel_glue.c | 24 +++---
arch/x86/include/asm/highmem.h | 2 +-
arch/x86/kernel/crash_dump_32.c | 6 +-
arch/x86/kvm/lapic.c | 8 +-
arch/x86/kvm/paging_tmpl.h | 4 +-
arch/x86/kvm/x86.c | 8 +-
arch/x86/lib/usercopy_32.c | 4 +-
arch/x86/mm/highmem_32.c | 4 +-
crypto/ahash.c | 4 +-
crypto/async_tx/async_memcpy.c | 8 +-
crypto/blkcipher.c | 8 +-
crypto/ccm.c | 4 +-
crypto/scatterwalk.c | 8 +-
crypto/shash.c | 8 +-
drivers/ata/libata-sff.c | 8 +-
drivers/block/brd.c | 20 +++---
drivers/block/drbd/drbd_bitmap.c | 50 ++++++------
drivers/block/drbd/drbd_nl.c | 4 +-
drivers/block/loop.c | 16 ++--
drivers/block/pktcdvd.c | 8 +-
drivers/crypto/hifn_795x.c | 10 +-
drivers/edac/edac_mc.c | 4 +-
drivers/gpu/drm/drm_cache.c | 8 +-
drivers/gpu/drm/ttm/ttm_tt.c | 16 ++--
drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 6 +-
drivers/ide/ide-taskfile.c | 4 +-
drivers/infiniband/ulp/iser/iser_memory.c | 8 +-
drivers/md/bitmap.c | 42 +++++-----
drivers/md/dm-crypt.c | 8 +-
drivers/media/video/ivtv/ivtv-udma.c | 4 +-
drivers/memstick/host/jmb38x_ms.c | 4 +-
drivers/memstick/host/tifm_ms.c | 4 +-
drivers/mmc/host/at91_mci.c | 8 +-
drivers/mmc/host/msm_sdcc.c | 6 +-
drivers/mmc/host/sdhci.c | 4 +-
drivers/mmc/host/tifm_sd.c | 16 ++--
drivers/mmc/host/tmio_mmc.c | 1 -
drivers/mmc/host/tmio_mmc.h | 4 +-
drivers/net/ethernet/intel/e1000/e1000_main.c | 6 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 10 +--
drivers/net/ethernet/sun/cassini.c | 4 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 8 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 5 +-
drivers/scsi/cxgbi/libcxgbi.c | 5 +-
drivers/scsi/fcoe/fcoe.c | 4 +-
drivers/scsi/fcoe/fcoe_transport.c | 5 +-
drivers/scsi/gdth.c | 4 +-
drivers/scsi/ips.c | 6 +-
drivers/scsi/isci/request.c | 16 ++--
drivers/scsi/libfc/fc_fcp.c | 8 +-
drivers/scsi/libfc/fc_libfc.c | 8 +-
drivers/scsi/libfc/fc_libfc.h | 2 +-
drivers/scsi/libfc/fc_lport.c | 2 +-
drivers/scsi/libiscsi_tcp.c | 4 +-
drivers/scsi/libsas/sas_host_smp.c | 8 +-
drivers/scsi/megaraid.c | 4 +-
drivers/scsi/mvsas/mv_sas.c | 4 +-
drivers/scsi/scsi_debug.c | 24 +++---
drivers/scsi/scsi_lib.c | 4 +-
drivers/scsi/sd_dif.c | 12 ++--
drivers/staging/gma500/mmu.c | 30 ++++----
drivers/staging/hv/netvsc_drv.c | 5 +-
drivers/staging/hv/rndis_filter.c | 4 +-
drivers/staging/hv/storvsc_drv.c | 31 +++----
drivers/staging/pohmelfs/inode.c | 8 +-
drivers/staging/rtl8192u/ieee80211/cipher.c | 8 +-
drivers/staging/rtl8192u/ieee80211/digest.c | 8 +-
drivers/staging/rtl8192u/ieee80211/internal.h | 17 ----
drivers/staging/rtl8192u/ieee80211/kmap_types.h | 20 -----
drivers/staging/rtl8192u/ieee80211/scatterwalk.c | 19 +---
drivers/staging/zcache/zcache-main.c | 16 ++--
drivers/staging/zram/xvmalloc.c | 39 +++++-----
drivers/staging/zram/zram_drv.c | 44 +++++-----
drivers/target/target_core_transport.c | 4 +-
drivers/target/tcm_fc/tfc_io.c | 10 +--
drivers/vhost/vhost.c | 4 +-
fs/afs/fsclient.c | 8 +-
fs/afs/mntpt.c | 4 +-
fs/aio.c | 30 ++++----
fs/bio-integrity.c | 10 +-
fs/btrfs/compression.c | 12 ++--
fs/btrfs/extent_io.c | 16 ++--
fs/btrfs/file-item.c | 4 +-
fs/btrfs/inode.c | 26 +++---
fs/btrfs/lzo.c | 4 +-
fs/btrfs/scrub.c | 8 +-
fs/btrfs/zlib.c | 4 +-
fs/ecryptfs/mmap.c | 4 +-
fs/ecryptfs/read_write.c | 8 +-
fs/exec.c | 4 +-
fs/exofs/dir.c | 4 +-
fs/ext2/dir.c | 4 +-
fs/fuse/dev.c | 4 +-
fs/fuse/file.c | 4 +-
fs/gfs2/aops.c | 12 ++--
fs/gfs2/lops.c | 8 +-
fs/gfs2/quota.c | 4 +-
fs/jbd/journal.c | 12 ++--
fs/jbd/transaction.c | 4 +-
fs/jbd2/commit.c | 4 +-
fs/jbd2/journal.c | 12 ++--
fs/jbd2/transaction.c | 4 +-
fs/logfs/dir.c | 18 ++--
fs/logfs/readwrite.c | 38 +++++-----
fs/logfs/segment.c | 4 +-
fs/minix/dir.c | 4 +-
fs/namei.c | 4 +-
fs/nfs/dir.c | 8 +-
fs/nfs/nfs4proc.c | 4 +-
fs/nilfs2/cpfile.c | 94 +++++++++++-----------
fs/nilfs2/dat.c | 38 +++++-----
fs/nilfs2/dir.c | 4 +-
fs/nilfs2/ifile.c | 4 +-
fs/nilfs2/mdt.c | 4 +-
fs/nilfs2/page.c | 8 +-
fs/nilfs2/recovery.c | 4 +-
fs/nilfs2/segbuf.c | 4 +-
fs/nilfs2/sufile.c | 68 ++++++++--------
fs/ntfs/aops.c | 20 +++---
fs/ntfs/attrib.c | 20 +++---
fs/ntfs/file.c | 16 ++--
fs/ntfs/super.c | 8 +-
fs/ocfs2/aops.c | 16 ++--
fs/pipe.c | 8 +-
fs/reiserfs/stree.c | 4 +-
fs/reiserfs/tail_conversion.c | 4 +-
fs/splice.c | 7 +-
fs/squashfs/file.c | 8 +-
fs/squashfs/symlink.c | 4 +-
fs/ubifs/file.c | 4 +-
fs/udf/file.c | 4 +-
include/crypto/scatterwalk.h | 28 +------
include/linux/bio.h | 8 +-
include/linux/highmem.h | 77 ++++++++++++-----
kernel/debug/kdb/kdb_support.c | 4 +-
kernel/power/snapshot.c | 28 +++---
lib/scatterlist.c | 4 +-
lib/swiotlb.c | 5 +-
mm/bounce.c | 4 +-
mm/filemap.c | 8 +-
mm/ksm.c | 12 ++--
mm/memory.c | 4 +-
mm/shmem.c | 4 +-
mm/swapfile.c | 30 ++++----
mm/vmalloc.c | 8 +-
net/core/kmap_skb.h | 4 +-
net/rds/ib_recv.c | 7 +-
net/rds/info.c | 6 +-
net/rds/iw_recv.c | 7 +-
net/rds/loop.c | 2 +-
net/rds/rds.h | 2 +-
net/rds/recv.c | 2 +-
net/rds/tcp_recv.c | 11 +--
net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 +-
net/sunrpc/socklib.c | 4 +-
net/sunrpc/xdr.c | 20 +++---
net/sunrpc/xprtrdma/rpc_rdma.c | 8 +-
security/tomoyo/domain.c | 4 +-
189 files changed, 936 insertions(+), 992 deletions(-)
create mode 100644 drivers/net/team/Module.symvers
delete mode 100644 drivers/staging/rtl8192u/ieee80211/kmap_types.h

--
1.7.4.4

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

\
 
 \ /
  Last update: 2011-11-27 06:31    [W:0.464 / U:0.440 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site