From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751202Ab1K0F2A (ORCPT ); Sun, 27 Nov 2011 00:28:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:20244 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750795Ab1K0F15 (ORCPT ); Sun, 27 Nov 2011 00:27:57 -0500 From: Cong Wang To: linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, Cong Wang , Peter Zijlstra Subject: =?UTF-8?q?=5BV2=20PATCH=2000/62=5D=20highmem=3A=20remove=20the=20second=20argument=20of=20kmap=5Fatomic/kunmap=5Fatomic?= Date: Sun, 27 Nov 2011 13:26:40 +0800 Message-Id: <1322371662-26166-1-git-send-email-amwang@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Peter Zijlstra --- 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