1. 22 Jul, 2011 4 commits
    • Jonas Bonn's avatar
      iomap: make IOPORT/PCI mapping functions conditional · 82ed223c
      Jonas Bonn authored
      Use the CONFIG_HAS_IOPORT and CONFIG_PCI options to decide whether or
      not functions for mapping these areas are provided.
      Signed-off-by: default avatarJonas Bonn <jonas@southpole.se>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      82ed223c
    • Jonas Bonn's avatar
      asm-generic: add MMU variants of io.h functions · f1ecc698
      Jonas Bonn authored
      Some of the implementations, in particular the ioremap variants, in
      asm-generic/io.h are for systems without an MMU.  In order to be able to
      use the generic header file for systems with an MMU, this patch wraps
      these implementations in checks for CONFIG_MMU.
      
      Tested on OpenRISC.
      Signed-off-by: default avatarJonas Bonn <jonas@southpole.se>
      Cc: liqin.chen@sunplusct.com
      Cc: gxt@mprc.pku.edu.cn
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      f1ecc698
    • Jonas Bonn's avatar
      asm-generic: move archictures to common delay.h · a4e05276
      Jonas Bonn authored
      This patch moves the in-tree architectures that were using the 'generic'
      delay.h over to using the header file in asm-generic.
      
      This is not done using the generic-y mechanism as none of these arch's
      have started using that mechanism yet.  This is a trivial change to make
      later when the arch begins using generic-y.
      
      Note the subtle change to the avr32 and SH architectures where the argument
      to __const_udelay was previously using the rounded down constant value
      instead of the rounded up value.
      Signed-off-by: default avatarJonas Bonn <jonas@southpole.se>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHans-Christian Egtvedt <egtvedt@samfundet.no>
      a4e05276
    • Andrew Morton's avatar
      asm-generic: delay.h fix udelay and ndelay for 8 bit args · a87e553f
      Andrew Morton authored
      With a non-constant 8-bit argument, a call to udelay() generates a warning:
      
      drivers/gpu/drm/radeon/atom.c: In function 'atom_op_delay':
      drivers/gpu/drm/radeon/atom.c:654: warning: comparison is always false due to limited range of data type
      
      The code looks like it works OK with an 8-bit arg, and the calling code is
      doing nothing wrong, so udelay() needs fixing.
      
      Fixing it was rather tricky.  Simply typecasting `n' in the comparison with
      20000 didn't change anything.  Hence the divide-by-20000 trick.
      
      Using a do{}while loop didn't work because udelay() is used in ?: statements,
      hence the ({...}) construct.
      
      While I was there I replaced the brain-bending ?:?:?: mess with nice if/else
      code.
      
      Probably other architectures are generating the same warning and can use a
      similar change.
      
      [Taken from the x86 tree and moved to asm-generic by Jonas Bonn]
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJonas Bonn <jonas@southpole.se>
      a87e553f
  2. 07 Jul, 2011 1 commit
    • Jonas Bonn's avatar
      asm-generic: adapt delay.h to common implementation · 30ab2b03
      Jonas Bonn authored
      Several architectures are using a common delay.h implementation that
      appears to have originated with the x86 architecture.  This common
      implementation is a bit fuller than the current asm-generic version
      and has some compile-time checks that should be interesting for all
      architectures.
      
      This patch takes the common delay.h version and replaces the rather
      trivial asm-generic version with it.  As no architecture was actually
      using asm-generic/delay.h, this change is rather innocuous; it will,
      however, allow us to switch at least four architectures over to using
      the asm-generic version.
      Signed-off-by: default avatarJonas Bonn <jonas@southpole.se>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      30ab2b03
  3. 28 Jun, 2011 22 commits
  4. 27 Jun, 2011 11 commits
    • Vitaliy Ivanov's avatar
      Fix some kernel-doc warnings · 4d258b25
      Vitaliy Ivanov authored
      Fix 'make htmldocs' warnings:
      
        Warning(/include/linux/hrtimer.h:153): No description found for parameter 'clockid'
        Warning(/include/linux/device.h:604): Excess struct/union/enum/typedef member 'of_match' description in 'device'
        Warning(/include/net/sock.h:349): Excess struct/union/enum/typedef member 'sk_rmem_alloc' description in 'sock'
      Signed-off-by: default avatarVitaliy Ivanov <vitalivanov@gmail.com>
      Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4d258b25
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · a64227b0
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
        mmc: queue: bring discard_granularity/alignment into line with SCSI
        mmc: queue: append partition subname to queue thread name
        mmc: core: make erase timeout calculation allow for gated clock
        mmc: block: switch card to User Data Area when removing the block driver
        mmc: sdio: reset card during power_restore
        mmc: cb710: fix #ifdef HAVE_EFFICIENT_UNALIGNED_ACCESS
        mmc: sdhi: DMA slave ID 0 is invalid
        mmc: tmio: fix regression in TMIO_MMC_WRPROTECT_DISABLE handling
        mmc: omap_hsmmc: use original sg_len for dma_unmap_sg
        mmc: omap_hsmmc: fix ocr mask usage
        mmc: sdio: fix runtime PM path during driver removal
        mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader
        mmc: sdhi: fix module unloading
        mmc: of_mmc_spi: add NO_IRQ define to of_mmc_spi.c
        mmc: vub300: fix null dereferences in error handling
      a64227b0
    • KAMEZAWA Hiroyuki's avatar
      Fix node_start/end_pfn() definition for mm/page_cgroup.c · c6830c22
      KAMEZAWA Hiroyuki authored
      commit 21a3c964 uses node_start/end_pfn(nid) for detection start/end
      of nodes. But, it's not defined in linux/mmzone.h but defined in
      /arch/???/include/mmzone.h which is included only under
      CONFIG_NEED_MULTIPLE_NODES=y.
      
      Then, we see
        mm/page_cgroup.c: In function 'page_cgroup_init':
        mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
        mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'
      
      So, fixiing page_cgroup.c is an idea...
      
      But node_start_pfn()/node_end_pfn() is a very generic macro and
      should be implemented in the same manner for all archs.
      (m32r has different implementation...)
      
      This patch removes definitions of node_start/end_pfn() in each archs
      and defines a unified one in linux/mmzone.h. It's not under
      CONFIG_NEED_MULTIPLE_NODES, now.
      
      A result of macro expansion is here (mm/page_cgroup.c)
      
      for !NUMA
       start_pfn = ((&contig_page_data)->node_start_pfn);
        end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
      
      for NUMA (x86-64)
        start_pfn = ((node_data[nid])->node_start_pfn);
        end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
      
      Changelog:
       - fixed to avoid using "nid" twice in node_end_pfn() macro.
      Reported-and-acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Reported-and-tested-by: default avatarIngo Molnar <mingo@elte.hu>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c6830c22
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · af4087e0
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
        btrfs: fix inconsonant inode information
        Btrfs: make sure to update total_bitmaps when freeing cache V3
        Btrfs: fix type mismatch in find_free_extent()
        Btrfs: make sure to record the transid in new inodes
      af4087e0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 4699d442
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: prevent bogus assert when trying to remove non-existent attribute
        xfs: clear XFS_IDIRTY_RELEASE on truncate down
        xfs: reset inode per-lifetime state when recycling it
      4699d442
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 375ac3e0
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: hid-multitouch: add support for a new Lumio dual-touch panel
        HID: hid-multitouch: correct VID for Stantum panels
        HID: hid-multitouch: ensure slots are initialized
      375ac3e0
    • Linus Torvalds's avatar
      Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm · edcda265
      Linus Torvalds authored
      * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: pm: ensure ARMv7 CPUs save and restore the TLS register
        ARM: pm: proc-v7: fix missing struct processor pointers for suspend code
        ARM: 6969/1: plat-iop: fix build error
        ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries
        ARM: SMP: wait for CPU to be marked active
        ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols
        ARM: 6962/1: mach-h720x: fix build error
        ARM: 6959/1: SMP build fix for entry-macro-multi.S
      edcda265
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 9c317b3b
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] allow setting of upper 32 bit in smp_ctl_set_bit
        [S390] hwsampler: Set a sane default sampling rate
        [S390] s390: enforce HW limits for the initial sampling rate
        [S390] kvm-s390: fix kconfig dependencies
      9c317b3b
    • Miao Xie's avatar
      btrfs: fix inconsonant inode information · 2f7e33d4
      Miao Xie authored
      When iputting the inode, We may leave the delayed nodes if they have some
      delayed items that have not been dealt with. So when the inode is read again,
      we must look up the relative delayed node, and use the information in it to
      initialize the inode. Or we will get inconsonant inode information, it may
      cause that the same directory index number is allocated again, and hit the
      following oops:
      
      [ 5447.554187] err add delayed dir index item(name: pglog_0.965_0) into the
      insertion tree of the delayed node(root id: 262, inode id: 258, errno: -17)
      [ 5447.569766] ------------[ cut here ]------------
      [ 5447.575361] kernel BUG at fs/btrfs/delayed-inode.c:1301!
      [SNIP]
      [ 5447.790721] Call Trace:
      [ 5447.793191]  [<ffffffffa0641c4e>] btrfs_insert_dir_item+0x189/0x1bb [btrfs]
      [ 5447.800156]  [<ffffffffa0651a45>] btrfs_add_link+0x12b/0x191 [btrfs]
      [ 5447.806517]  [<ffffffffa0651adc>] btrfs_add_nondir+0x31/0x58 [btrfs]
      [ 5447.812876]  [<ffffffffa0651d6a>] btrfs_create+0xf9/0x197 [btrfs]
      [ 5447.818961]  [<ffffffff8111f840>] vfs_create+0x72/0x92
      [ 5447.824090]  [<ffffffff8111fa8c>] do_last+0x22c/0x40b
      [ 5447.829133]  [<ffffffff8112076a>] path_openat+0xc0/0x2ef
      [ 5447.834438]  [<ffffffff810c58e2>] ? __perf_event_task_sched_out+0x24/0x44
      [ 5447.841216]  [<ffffffff8103ecdd>] ? perf_event_task_sched_out+0x59/0x67
      [ 5447.847846]  [<ffffffff81121a79>] do_filp_open+0x3d/0x87
      [ 5447.853156]  [<ffffffff811e126c>] ? strncpy_from_user+0x43/0x4d
      [ 5447.859072]  [<ffffffff8111f1f5>] ? getname_flags+0x2e/0x80
      [ 5447.864636]  [<ffffffff8111f179>] ? do_getname+0x14b/0x173
      [ 5447.870112]  [<ffffffff8111f1b7>] ? audit_getname+0x16/0x26
      [ 5447.875682]  [<ffffffff8112b1ab>] ? spin_lock+0xe/0x10
      [ 5447.880882]  [<ffffffff81112d39>] do_sys_open+0x69/0xae
      [ 5447.886153]  [<ffffffff81112db1>] sys_open+0x20/0x22
      [ 5447.891114]  [<ffffffff813b9aab>] system_call_fastpath+0x16/0x1b
      
      Fix it by reusing the old delayed node.
      Reported-by: default avatarJim Schutt <jaschut@sandia.gov>
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Tested-by: default avatarJim Schutt <jaschut@sandia.gov>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      2f7e33d4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 258e43fd
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN
        cifs: free blkcipher in smbhash
      258e43fd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 804a007f
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        cifs: propagate errors from cifs_get_root() to mount(2)
        cifs: tidy cifs_do_mount() up a bit
        cifs: more breakage on mount failures
        cifs: close sget() races
        cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()
        cifs: move cifs_umount() call into ->kill_sb()
        cifs: pull cifs_mount() call up
        sanitize cifs_umount() prototype
        cifs: initialize ->tlink_tree in cifs_setup_cifs_sb()
        cifs: allocate mountdata earlier
        cifs: leak on mount if we share superblock
        cifs: don't pass superblock to cifs_mount()
        cifs: don't leak nls on mount failure
        cifs: double free on mount failure
        take bdi setup/destruction into cifs_mount/cifs_umount
      Acked-by: default avatarSteve French <smfrench@gmail.com>
      804a007f
  5. 25 Jun, 2011 2 commits