1. 28 Feb, 2012 6 commits
    • Arnd Bergmann's avatar
      Merge branch 'board-specific' of git://github.com/hzhuang1/linux into next/boards · fb0b82b3
      Arnd Bergmann authored
      * 'board-specific' of git://github.com/hzhuang1/linux: (5 commits)
        ARM: pxa: add dummy clock for pxa25x and pxa27x
        ARM: mmp: append irq name of gpio device
        pxa/hx4700: Fix PXA_GPIO_IRQ_BASE/IRQ_NUM values
        pxa/hx4700: Add ASIC3 LED support
        pxa/hx4700: Correct StrataFlash block size discovery
      
      (update to v3.3-rc5)
      fb0b82b3
    • Haojian Zhuang's avatar
      ARM: pxa: add dummy clock for pxa25x and pxa27x · 43de6a7d
      Haojian Zhuang authored
      gpio-pxa driver is shared among arch-pxa and arch-mmp. Clock is the
      essential component on pxa3xx/pxa95x and arch-mmp. So we need to
      define dummy clock in pxa25x/pxa27x instead.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@marvell.com>
      43de6a7d
    • Haojian Zhuang's avatar
      ARM: mmp: append irq name of gpio device · 93413c36
      Haojian Zhuang authored
      IRQ name is required in gpio-pxa driver. So we need to append the name
      in gpio device. Otherwise, we can't register gpio-pxa driver
      successfully.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@marvell.com>
      93413c36
    • Paul Parsons's avatar
      pxa/hx4700: Fix PXA_GPIO_IRQ_BASE/IRQ_NUM values · 9a01ec30
      Paul Parsons authored
      The hx4700 platform has 72 board gpios: 64 ASIC3 gpios numbered 192..255, and
      8 EGPIO gpios numbered 256..263 (plus a 9th which is not used).
      Thus the new CONFIG_ARCH_NR_GPIO config option must be set to 264.
      Signed-off-by: default avatarPaul Parsons <lost.distance@yahoo.com>
      Acked-by: default avatarPhilipp Zabel <philipp.zabel@gmail.com>
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      9a01ec30
    • Paul Parsons's avatar
      pxa/hx4700: Add ASIC3 LED support · 91cb8ee3
      Paul Parsons authored
      Add LED support for the HTC ASIC3. Underlying support is provided by the mfd/asic3 and leds/leds-asic3 drivers. An example configuration is provided by the pxa/hx4700 platform.
      Signed-off-by: default avatarPaul Parsons <lost.distance@yahoo.com>
      Acked-by: default avatarPhilipp Zabel <philipp.zabel@gmail.com>
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      91cb8ee3
    • Paul Parsons's avatar
      pxa/hx4700: Correct StrataFlash block size discovery · 11407e57
      Paul Parsons authored
      The HP iPAQ hx4700 has 128Mb of flash provided by two Intel StrataFlash devices.
      The hx4700 platform configuration defines a single 128Mb flash resource,
      resulting in the MTD physmap-flash driver probing the first device only and
      presuming the second device is identical:
      
      physmap platform flash device: 08000000 at 00000000
      physmap-flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008816
      physmap-flash: Found 2 x16 devices at 0x4000000 in 32-bit bank
      <snip>
      erase region 0: offset=0x0,size=0x10000,blocks=4
      erase region 1: offset=0x40000,size=0x40000,blocks=255
      erase region 2: offset=0x4000000,size=0x10000,blocks=4
      erase region 3: offset=0x4040000,size=0x40000,blocks=255
      physmap-flash: 2 set(s) of 2 interleaved chips --> 32 partitions of 4096 KiB
      
      Unfortunately the two devices are not identical. The first has a device ID of
      0x8816, identifying a bottom parameter device. The second has a device ID of
      0x8813, identifying a top parameter device. By not probing the second device,
      physmap-flash does not discover the correct block sizes.
      
      This patch splits the configuration into two 64Mb flash resources, forcing
      physmap-flash to probe both devices and thus discover the correct block sizes:
      
      physmap platform flash device: 04000000 at 00000000
      physmap-flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008816
      <snip>
      erase region 0: offset=0x0,size=0x10000,blocks=4
      erase region 1: offset=0x40000,size=0x40000,blocks=255
      physmap-flash: 1 set(s) of 2 interleaved chips --> 16 partitions of 4096 KiB
      physmap platform flash device: 04000000 at 04000000
      physmap-flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008813
      <snip>
      erase region 0: offset=0x0,size=0x40000,blocks=255
      erase region 1: offset=0x3fc0000,size=0x10000,blocks=4
      physmap-flash: 1 set(s) of 2 interleaved chips --> 16 partitions of 4096 KiB
      Concatenating MTD devices:
      (0): "physmap-flash"
      (1): "physmap-flash"
      into device "physmap-flash"
      Signed-off-by: default avatarPaul Parsons <lost.distance@yahoo.com>
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      11407e57
  2. 27 Feb, 2012 3 commits
  3. 25 Feb, 2012 6 commits
    • Linus Torvalds's avatar
      Linux 3.3-rc5 · 6b21d18e
      Linus Torvalds authored
      6b21d18e
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 00b10ecf
      Linus Torvalds authored
      Couple of minor driver fixes.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max34440) Fix resetting temperature history
        hwmon: (f75375s) Fix register write order when setting fans to full speed
        hwmon: (ads1015) Fix file leak in probe function
        hwmon: (max6639) Fix PPR register initialization to set both channels
        hwmon: (max6639) Fix FAN_FROM_REG calculation
      00b10ecf
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 1e73fde5
      Linus Torvalds authored
      three kbuild fixes for 3.3:
       - make deb-pkg symlink race fix.
       - make coccicheck fix.
       - Dropping the check for modutils.  This is not a regression, but
         allows the module-init-tools replacement kmod work with the 3.3
         kernel.
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        coccicheck: change handling of C={1,2} when M= is set
        builddeb: Don't create files in /tmp with predictable names
        kbuild: do not check for ancient modutils tools
      1e73fde5
    • Ian Kent's avatar
      autofs: work around unhappy compat problem on x86-64 · a32744d4
      Ian Kent authored
      When the autofs protocol version 5 packet type was added in commit
      5c0a32fc ("autofs4: add new packet type for v5 communications"), it
      obvously tried quite hard to be word-size agnostic, and uses explicitly
      sized fields that are all correctly aligned.
      
      However, with the final "char name[NAME_MAX+1]" array at the end, the
      actual size of the structure ends up being not very well defined:
      because the struct isn't marked 'packed', doing a "sizeof()" on it will
      align the size of the struct up to the biggest alignment of the members
      it has.
      
      And despite all the members being the same, the alignment of them is
      different: a "__u64" has 4-byte alignment on x86-32, but native 8-byte
      alignment on x86-64.  And while 'NAME_MAX+1' ends up being a nice round
      number (256), the name[] array starts out a 4-byte aligned.
      
      End result: the "packed" size of the structure is 300 bytes: 4-byte, but
      not 8-byte aligned.
      
      As a result, despite all the fields being in the same place on all
      architectures, sizeof() will round up that size to 304 bytes on
      architectures that have 8-byte alignment for u64.
      
      Note that this is *not* a problem for 32-bit compat mode on POWER, since
      there __u64 is 8-byte aligned even in 32-bit mode.  But on x86, 32-bit
      and 64-bit alignment is different for 64-bit entities, and as a result
      the structure that has exactly the same layout has different sizes.
      
      So on x86-64, but no other architecture, we will just subtract 4 from
      the size of the structure when running in a compat task.  That way we
      will write the properly sized packet that user mode expects.
      
      Not pretty.  Sadly, this very subtle, and unnecessary, size difference
      has been encoded in user space that wants to read packets of *exactly*
      the right size, and will refuse to touch anything else.
      Reported-and-tested-by: default avatarThomas Meyer <thomas@m3y3r.de>
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a32744d4
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · b52b8002
      Linus Torvalds authored
      One InfiniBand/RDMA regression fix for 3.3:
      
       - mlx4 SR-IOV changes added static exported functions, which doesn't
         build on powerpc at least.  Fix from Doug Ledford for this.
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        mlx4_core: Exported functions can't be static
      b52b8002
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 16bca1d5
      Linus Torvalds authored
      SCSI fixes on 20120224:
       "This is a set of assorted bug fixes for power management, mpt2sas,
        ipr, the rdac device handler and quite a big chunk for qla2xxx (plus a
        use after free of scsi_host in scsi_scan.c). "
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] scsi_dh_rdac: Fix for unbalanced reference count
        [SCSI] scsi_pm: Fix bug in the SCSI power management handler
        [SCSI] scsi_scan: Fix 'Poison overwritten' warning caused by using freed 'shost'
        [SCSI] qla2xxx: Update version number to 8.03.07.13-k.
        [SCSI] qla2xxx: Proper detection of firmware abort error code for ISP82xx.
        [SCSI] qla2xxx: Remove resetting memory during device initialization for ISP82xx.
        [SCSI] qla2xxx: Complete mailbox command timedout to avoid initialization failures during next reset cycle.
        [SCSI] qla2xxx: Remove check for null fcport from host reset handler.
        [SCSI] qla2xxx: Correct out of bounds read of ISP2200 mailbox registers.
        [SCSI] qla2xxx: Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing.
        [SCSI] qla2xxx: Clear options-flags while issuing stop-firmware mbx command.
        [SCSI] qla2xxx: Add an "is reset active" helper.
        [SCSI] qla2xxx: Add check for null fcport references in qla2xxx_queuecommand.
        [SCSI] qla2xxx: Propagate up abort failures.
        [SCSI] isci: Fix NULL ptr dereference when no firmware is being loaded
        [SCSI] ipr: fix eeh recovery for 64-bit adapters
        [SCSI] mpt2sas: Fix mismatch in mpt2sas_base_hard_reset_handler() mutex lock-unlock
      16bca1d5
  4. 24 Feb, 2012 22 commits
  5. 23 Feb, 2012 3 commits
    • Anton Altaparmakov's avatar
      Restore direct_io / truncate locking API · 37fbf4bf
      Anton Altaparmakov authored
      With kernel 3.1, Christoph removed i_alloc_sem and replaced it with
      calls (namely inode_dio_wait() and inode_dio_done()) which are
      EXPORT_SYMBOL_GPL() thus they cannot be used by non-GPL file systems and
      further inode_dio_wait() was pushed from notify_change() into the file
      system ->setattr() method but no non-GPL file system can make this call.
      
      That means non-GPL file systems cannot exist any more unless they do not
      use any VFS functionality related to reading/writing as far as I can
      tell or at least as long as they want to implement direct i/o.
      
      Both Linus and Al (and others) have said on LKML that this breakage of
      the VFS API should not have happened and that the change was simply
      missed as it was not documented in the change logs of the patches that
      did those changes.
      
      This patch changes the two function exports in question to be
      EXPORT_SYMBOL() thus restoring the VFS API as it used to be - accessible
      for all modules.
      
      Christoph, who introduced the two functions and exported them GPL-only
      is CC-ed on this patch to give him the opportunity to object to the
      symbols being changed in this manner if he did indeed intend them to be
      GPL-only and does not want them to become available to all modules.
      Signed-off-by: default avatarAnton Altaparmakov <anton@tuxera.com>
      CC: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37fbf4bf
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · bb4c7e9a
      Linus Torvalds authored
      A fix from Jesper Juhl removes an assignment in an ASSERT when a compare
      is intended.  Two fixes from Mitsuo Hayasaka address off-by-ones in XFS
      quota enforcement.
      
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: make inode quota check more general
        xfs: change available ranges of softlimit and hardlimit in quota check
        XFS: xfs_trans_add_item() - don't assign in ASSERT() when compare is intended
      bb4c7e9a
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 73c8e679
      Linus Torvalds authored
      BenH says:
       'Here are a few more powerpc bits for you.  A stupid regression I
        introduced with my previous commit to "fix" program check exceptions
        (brown paper bag for me), fix the cpuidle default, a bug fix for
        something that isn't strictly speaking a regression but some upstream
        changes causes it to show in lockdep now while it didn't before, and
        finally a trivial one for rusty to make his life easier later on
        removing the old cpumask cruft. '
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Fix various issues with return to userspace
        cpuidle: Default y on powerpc pSeries
        powerpc: Fix program check handling when lockdep is enabled
        powerpc: Remove references to cpu_*_map
      73c8e679