1. 05 May, 2013 1 commit
    • Linus Torvalds's avatar
      Merge branch 'ipc-cleanups' · 802d0db8
      Linus Torvalds authored
      Merge ipc fixes and cleanups from my IPC branch.
      
      The ipc locking has always been pretty ugly, and the scalability fixes
      to some degree made it even less readable.  We had two cases of double
      unlocks in error paths due to this (one rcu read unlock, one semaphore
      unlock), and this fixes the bugs I found while trying to clean things up
      a bit so that we are less likely to have more.
      
      * ipc-cleanups:
        ipc: simplify rcu_read_lock() in semctl_nolock()
        ipc: simplify semtimedop/semctl_main() common error path handling
        ipc: move sem_obtain_lock() rcu locking into the only caller
        ipc: fix double sem unlock in semctl error path
        ipc: move the rcu_read_lock() from sem_lock_and_putref() into callers
        ipc: sem_putref() does not need the semaphore lock any more
        ipc: move rcu_read_unlock() out of sem_unlock() and into callers
      802d0db8
  2. 04 May, 2013 39 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 1aaf6d3d
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Several routines do not use netdev_features_t to hold such bitmasks,
          fixes from Patrick McHardy and Bjørn Mork.
      
       2) Update cpsw IRQ software state and the actual HW irq enabling in the
          correct order.  From Mugunthan V N.
      
       3) When sending tipc packets to multiple bearers, we have to make
          copies of the SKB rather than just giving the original SKB directly.
          Fix from Gerlando Falauto.
      
       4) Fix race with bridging topology change timer, from Stephen
          Hemminger.
      
       5) Fix TCPv6 segmentation handling in GRE and VXLAN, from Pravin B
          Shelar.
      
       6) Endian bug in USB pegasus driver, from Dan Carpenter.
      
       7) Fix crashes on MTU reduction in USB asix driver, from Holger
          Eitzenberger.
      
       8) Don't allow the kernel to BUG() just because the user puts some crap
          in an AF_PACKET mmap() ring descriptor.  Fix from Daniel Borkmann.
      
       9) Don't use variable sized arrays on the stack in xen-netback, from
          Wei Liu.
      
      10) Fix stats reporting and an unbalanced napi_disable() in be2net
          driver.  From Somnath Kotur and Ajit Khaparde.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (25 commits)
        cxgb4: fix error recovery when t4_fw_hello returns a positive value
        sky2: Fix crash on receiving VLAN frames
        packet: tpacket_v3: do not trigger bug() on wrong header status
        asix: fix BUG in receive path when lowering MTU
        net: qmi_wwan: Add Telewell TW-LTE 4G
        usbnet: pegasus: endian bug in write_mii_word()
        vxlan: Fix TCPv6 segmentation.
        gre: Fix GREv4 TCPv6 segmentation.
        bridge: fix race with topology change timer
        tipc: pskb_copy() buffers when sending on more than one bearer
        tipc: tipc_bcbearer_send(): simplify bearer selection
        tipc: cosmetic: clean up comments and break a long line
        drivers: net: cpsw: irq not disabled in cpsw isr in particular sequence
        xen-netback: better names for thresholds
        xen-netback: avoid allocating variable size array on stack
        xen-netback: remove redundent parameter in netbk_count_requests
        be2net: Fix to fail probe if MSI-X enable fails for a VF
        be2net: avoid napi_disable() when it has not been enabled
        be2net: Fix firmware download for Lancer
        be2net: Fix to receive Multicast Packets when Promiscuous mode is enabled on certain devices
        ...
      1aaf6d3d
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · f589e9bf
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Hibernation support, as well as removal of excess interrupt
          twiddling in MMU context allocation on sparc64 from Kirill Tkhai.
      
       2) Kill references to __ARCH_WANT_UNLOCKED_CTXSW.
      
       3) Sparc32 LEON bug fixes from Daniel Hellstrom and Andreas Larsson.
      
       4) Provide cmpxchg64(), from Geert Uytterhoeven.
      
       5) Device refcount and registry bug fixes from Federico Vaga and Wei
          Yongjun.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        serial: sunsu: add missing platform_driver_unregister() when module exit
        sparc32, leon: Do not overwrite previously set irq flow handlers
        sparc/kernel/vio.c: add put_device() after device_find_child()
        sparc64: Do not save/restore interrupts in get_new_mmu_context()
        sparc: Consistently use 'wr' and 'rd' instructions for ASRs.
        sparc64: Kill __ARCH_WANT_UNLOCKED_CTXSW
        sparc64: Provide cmpxchg64()
        sparc64: Do not change num_physpages during initmem freeing
        sparc64: Hibernation support
        sparc,leon: updated GRPCI2 config name
        sparc,leon: support for GRPCI1 PCI host bridge controller
        sparc32,leon: add support for PCI busn resource for GRPCI2
      f589e9bf
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 048c9acc
      David S. Miller authored
      
      
      Merge sparc bug fixes that didn't make it into v3.9 into
      sparc-next.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      048c9acc
    • Wei Yongjun's avatar
      serial: sunsu: add missing platform_driver_unregister() when module exit · ad348cc5
      Wei Yongjun authored
      
      
      We have registered platform driver when module init, and
      need unregister it when module exit.
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ad348cc5
    • Andreas Larsson's avatar
      sparc32, leon: Do not overwrite previously set irq flow handlers · 6e4741e7
      Andreas Larsson authored
      
      
      This is needed because when scan_of_devices finds the GAISLER_GPTIMER
      core that corresponds to the SMP "ticker" timer, the previously set
      proper irq flow handler gets overwritten with an incorrect one. This
      leads to very flaky timer interrupt handling on some hardware. Proper
      updates to handlers can still be done using leon_update_virq_handling.
      Signed-off-by: default avatarAndreas Larsson <andreas@gaisler.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e4741e7
    • Federico Vaga's avatar
      sparc/kernel/vio.c: add put_device() after device_find_child() · 75e44803
      Federico Vaga authored
      
      
      The vio_remove() function uses device_find_child() but it does not drop
      the reference of the retrieved child.
      Signed-off-by: default avatarFederico Vaga <federico.vaga@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      75e44803
    • Linus Torvalds's avatar
      ipc: simplify rcu_read_lock() in semctl_nolock() · 941b0304
      Linus Torvalds authored
      
      
      This trivially combines two rcu_read_lock() calls in both sides of a
      if-statement into one single one in front of the if-statement.
      
      Split out as an independent cleanup from the previous commit.
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      941b0304
    • Linus Torvalds's avatar
      ipc: simplify semtimedop/semctl_main() common error path handling · c728b9c8
      Linus Torvalds authored
      
      
      With various straight RCU lock/unlock movements, one common exit path
      pattern had become
      
      	rcu_read_unlock();
      	goto out_wakeup;
      
      and in fact there were no cases where we wanted to exit to out_wakeup
      _without_ releasing the RCU read lock.
      
      So replace that pattern with "goto out_rcu_wakeup", and remove the old
      out_wakeup.
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c728b9c8
    • Linus Torvalds's avatar
      ipc: move sem_obtain_lock() rcu locking into the only caller · 321310ce
      Linus Torvalds authored
      
      
      sem_obtain_lock() was another of those functions that returned with the
      RCU lock held for reading in the success case.  Move the RCU locking to
      the caller (semtimedop()), making it more obvious.  We already did RCU
      locking elsewhere in that function.
      
      Side note: why does semtimedop() re-do the semphore lookup after the
      sleep, rather than just getting a reference to the semaphore it already
      looked up originally?
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      321310ce
    • Linus Torvalds's avatar
      ipc: fix double sem unlock in semctl error path · fbfd1d28
      Linus Torvalds authored
      Fix another ipc locking buglet introduced by the scalability patches:
      when semctl_down() was changed to delay the semaphore locking, one error
      path for security_sem_semctl() went through the semaphore unlock logic
      even though the semaphore had never been locked.
      
      Introduced by commit 16df3674
      
       ("ipc,sem: do not hold ipc lock more
      than necessary")
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fbfd1d28
    • Linus Torvalds's avatar
      ipc: move the rcu_read_lock() from sem_lock_and_putref() into callers · 4091fd94
      Linus Torvalds authored
      
      
      This is another ipc semaphore locking cleanup, trying to make the
      locking more straightforward.  We move the rcu read locking into the
      callers of sem_lock_and_putref(), which in general means that we now
      mostly do the rcu_read_lock() and rcu_read_unlock() in the same
      function.
      
      Mostly.  We still have the ipc_addid/newary/freeary mess, and things
      like ipcctl_pre_down_nolock().
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4091fd94
    • Linus Torvalds's avatar
      Merge tag 'mmc-updates-for-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 17319295
      Linus Torvalds authored
      Pull MMC update from Chris Ball:
       "MMC highlights for 3.10:
      
        Core:
         - Introduce MMC_CAP2_NO_PRESCAN_POWERUP to allow skipping
           mmc_power_up() at boot/initialization time if it's already
           happened, for performance (faster boot time) reasons.
         - Fix a bit width test failure that resulted in old eMMC cards being
           put into 1-bit mode when 4-bit mode was available.
         - Expose fwrev/hwrev for MMCv4 parts.
         - Improve card removal logic in the case where the card's removed
           slowly; we were missing card removal events if the card retained
           contact with the slot pads for long enough to reply to a CMD13
           while being removed.
      
        Drivers:
         - davinci_mmc: Support using PIO instead of DMA.
         - dw_mmc: Add support for Exynos4412.
         - mxcmmc: DT support, use slot-gpio API.
         - mxs-mmc: Add broken-cd/cd-inverted/non-removable DT property
           support.
         - sdhci-sirf: New sdhci-pltfm driver for CSR SiRF SoCs:
             SiRFprimaII: unicore ARM Cortex-A9
             SiRFatlas6: unicore ARM Cortex-A9
             SiRFmarco: dual core ARM Cortex-A9 SMP
         - sdhci-tegra: Add support for Tegra114 platforms, use
           mmc_of_parse()"
      
      * tag 'mmc-updates-for-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (66 commits)
        mmc: sdhci-tegra: fix MODULE_DEVICE_TABLE
        mmc: core: fix init controller performance regression, updated patch
        mmc: mxcmmc: enable DMA support on mpc512x
        mmc: mxcmmc: constify mxcmci_devtype
        mmc: mxcmmc: use slot-gpio API for write-protect detection
        mmc: mxcmmc: add mpc512x SDHC support
        mmc: mxcmmc: fix race conditions for host->req and host->data access
        mmc: mxcmmc: DT support
        mmc: dw_mmc: let device core setup the default pin configuration
        mmc: mxs-mmc: add broken-cd property
        mmc: mxs-mmc: add non-removable property
        mmc: mxs-mmc: add cd-inverted property
        mmc: core: call pm_runtime_put_noidle in pm_runtime_get_sync failed case
        mmc: mxcmmc: Fix bug when card is present during boot
        mmc: core: fix performance regression initializing MMC host controllers
        Revert "mmc: core: wait while adding MMC host to ensure root mounts successfully"
        mmc: atmel-mci: pio hang on block errors
        mmc: core: Fix bit width test failing on old eMMC cards
        mmc: dw_mmc: Use pr_info instead of printk
        mmc: dw_mmc: Check return value of regulator_enable
        ...
      17319295
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · e72a5d1c
      Linus Torvalds authored
      Pull hwmon update from Jean Delvare:
       "Only lm75 driver updates this time"
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (lm75) Add support for the Dallas/Maxim DS7505
        hwmon: (lm75) Tune resolution and sample time per chip
        hwmon: (lm75) Prepare to support per-chip resolution and sample time
        hwmon: (lm75) Per-chip configuration register initialization
      e72a5d1c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · bd932ae1
      Linus Torvalds authored
      Pull second round of VFS updates from Al Viro:
       "Assorted fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        xtensa simdisk: fix braino in "xtensa simdisk: switch to proc_create_data()"
        hostfs: use kmalloc instead of kzalloc
        hostfs: move HOSTFS_SUPER_MAGIC to <linux/magic.h>
        hostfs: remove "will unlock" comment
        vfs: use list_move instead of list_del/list_add
        proc_devtree: Replace include linux/module.h with linux/export.h
        create_mnt_ns: unidiomatic use of list_add()
        fs: remove dentry_lru_prune()
        Removed unused typedef to avoid "unused local typedef" warnings.
        kill fs/read_write.h
        fs: Fix hang with BSD accounting on frozen filesystem
        sun3_scsi: add ->show_info()
        nubus: Kill nubus_proc_detach_device()
        more mode_t whack-a-mole...
        do_coredump(): don't wait for thaw if coredump has already been interrupted
        do_mount(): fix a leak introduced in 3.9 ("mount: consolidate permission checks")
      bd932ae1
    • Al Viro's avatar
    • James Hogan's avatar
      hostfs: use kmalloc instead of kzalloc · 371fdab1
      James Hogan authored
      
      
      The inode info structure is zeroed at allocation with kzalloc, and then
      all but one of the fields (including the largest, vfs_inode) are
      initialised explicitly. Switch to using kmalloc and initialise the
      remaining field too.
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      371fdab1
    • James Hogan's avatar
      hostfs: move HOSTFS_SUPER_MAGIC to <linux/magic.h> · 2b3b9bb0
      James Hogan authored
      
      
      Move HOSTFS_SUPER_MAGIC to <linux/magic.h> to be with it's magical
      friends from other file systems.
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      2b3b9bb0
    • James Hogan's avatar
      hostfs: remove "will unlock" comment · 9dcc5e8a
      James Hogan authored
      A "will unlock" comment was added to hostfs in the following commit,
      along with a spinlock:
      
      Commit e9193059 ("hostfs: fix races in
      dentry_name() and inode_name()").
      
      But the spinlock was subsequently removed in the following commit:
      
      Commit ec2447c2
      
       ("hostfs: simplify
      locking").
      
      Since the comment is no longer applicable, remove it.
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9dcc5e8a
    • Wei Yongjun's avatar
      vfs: use list_move instead of list_del/list_add · 9ed53b12
      Wei Yongjun authored
      
      
      Using list_move() instead of list_del() + list_add().
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9ed53b12
    • Linus Torvalds's avatar
      Merge tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 150a8dcf
      Linus Torvalds authored
      Pull ARM SoC board specific changes (part 1) from Olof Johansson:
       "These changes are all for board specific files.  These used to make up
        a large portion of the ARM changes in the past, but as we are
        generalizing the support and moving to device tree probing, this has
        gotten significantly smaller.
      
        The only platform actually adding new code here at the moment is
        Renesas shmobile, as they are still busy converting their code to
        device tree and have not come far enough to not need it."
      
      * tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
        ARM: msm: USB_MSM_OTG needs USB_PHY
        ARM: davinci: da850 evm: fix const qualifier placement
        ARM: davinci: da850 board: add remoteproc support
        ARM: pxa: move debug uart code
        ARM: pxa: select PXA935 on saar & tavorevb
        ARM: mmp: add more compatible names in gpio driver
        ARM: pxa: move PXA_GPIO_TO_IRQ macro
        ARM: pxa: remove cpu_is_xxx in gpio driver
        ARM: Kirkwood: update Network Space Mini v2 description
        ARM: Kirkwood: DT board setup for CloudBox
        ARM: Kirkwood: sort board entries by ASCII-code order
        ARM: OMAP: board-4430sdp: Provide regulator to pwm-backlight
        ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight
        ARM: OMAP2+: omap2plus_defconfig: Add support for BMP085 pressure sensor
        omap2+: Remove useless Makefile line
        omap2+: Remove useless Makefile line
        ARM: OMAP: RX-51: add missing regulator supply definitions for lis3lv02d
        ARM: OMAP1: fix omap_udc registration
        ARM: davinci: use is IS_ENABLED macro
        ARM: kirkwood: add MACH_GURUPLUG_DT to defconfig
        ...
      150a8dcf
    • Linus Torvalds's avatar
      Merge tag 'firmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e3d98847
      Linus Torvalds authored
      Pull ARM platform specific firmware interfaces from Olof Johansson:
       "Two platforms, bcm and exynos have their own firmware interfaces using
        the "secure monitor call", this adds support for those.
      
        We had originally planned to have a third set of patches in here,
        which would extend support for the existing generic "psci" call that
        is used on multiple platforms as well as Xen and KVM guests, but that
        ended up getting dropped because the patches were not ready in time."
      
      * tag 'firmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: bcm: mark bcm_kona_smc_init as __init
        ARM: bcm281xx: Add DT support for SMC handler
        ARM: bcm281xx: Add L2 cache enable code
        ARM: EXYNOS: Add secure firmware support to secondary CPU bring-up
        ARM: EXYNOS: Add IO mapping for non-secure SYSRAM.
        ARM: EXYNOS: Add support for Exynos secure firmware
        ARM: EXYNOS: Add support for secure monitor calls
        ARM: Add interface for registering and calling firmware-specific operations
      e3d98847
    • Linus Torvalds's avatar
      Merge tag 'renesas-pinctrl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 22b15436
      Linus Torvalds authored
      Pull ARM SoC pinctrl changes for Renesas from Olof Johansson:
       "This is yet another driver change, which is split out just because of
        its size.  As already in 3.9, a lot of changes are going on here, as
        the shmobile platform gets converted from its own pin control API to
        the generic drivers/pinctrl subsystem.
      
        Based on agreements with Paul Mundt, we are merging the sh-arch-side
        changes here as well"
      
      * tag 'renesas-pinctrl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (142 commits)
        ARM: shmobile: r8a7779: Remove INTC function GPIOs
        ARM: shmobile: r8a7779: Remove LBSC function GPIOs
        ARM: shmobile: r8a7779: Remove USB function GPIOs
        ARM: shmobile: r8a7779: Remove HSPI function GPIOs
        ARM: shmobile: r8a7779: Remove SCIF function GPIOs
        ARM: shmobile: r8a7779: Remove SDHI and MMCIF function GPIOs
        ARM: shmobile: r8a7779: Remove DU function GPIOs
        ARM: shmobile: r8a7779: Remove DU1_DOTCLKOUT1 GPIO
        ARM: shmobile: r8a7740: Remove SDHI and MMCIF function GPIOs
        ARM: shmobile: r8a7740: Remove LCD0 and LCD1 function GPIOs
        ARM: shmobile: sh73a0: Remove IrDA function GPIOs
        ARM: shmobile: sh73a0: Remove USB function GPIOs
        ARM: shmobile: sh73a0: Remove BSC function GPIOs
        ARM: shmobile: sh73a0: Remove KEYSC function GPIOs
        ARM: shmobile: sh73a0: Remove pull-up function GPIOS
        ARM: shmobile: sh73a0: Remove FSI function GPIOs
        ARM: shmobile: sh73a0: Remove I2C function GPIOs
        ARM: shmobile: sh73a0: Remove SCIFA and SCIFB function GPIOs
        ARM: shmobile: sh73a0: Remove LCDC and LCDC2 function GPIOs
        ARM: shmobile: sh7372: Remove SDHI and MMCIF function GPIOs
        ...
      22b15436
    • Linus Torvalds's avatar
      Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6fa52ed3
      Linus Torvalds authored
      Pull ARM SoC driver changes from Olof Johansson:
       "This is a rather large set of patches for device drivers that for one
        reason or another the subsystem maintainer preferred to get merged
        through the arm-soc tree.  There are both new drivers as well as
        existing drivers that are getting converted from platform-specific
        code into standalone drivers using the appropriate subsystem specific
        interfaces.
      
        In particular, we can now have pinctrl, clk, clksource and irqchip
        drivers in one file per driver, without the need to call into platform
        specific interface, or to get called from platform specific code, as
        long as all information about the hardware is provided through a
        device tree.
      
        Most of the drivers we touch this time are for clocksource.  Since now
        most of them are part of drivers/clocksource, I expect that we won't
        have to touch these again from arm-soc and can let the clocksource
        maintainers take care of these in the future.
      
        Another larger part of this series is specific to the exynos platform,
        which is seeing some significant effort in upstreaming and
        modernization of its device drivers this time around, which
        unfortunately is also the cause for the churn and a lot of the merge
        conflicts.
      
        There is one new subsystem that gets merged as part of this series:
        the reset controller interface, which is a very simple interface for
        taking devices on the SoC out of reset or back into reset.  Patches to
        use this interface on i.MX follow later in this merge window, and we
        are going to have other platforms (at least tegra and sirf) get
        converted in 3.11.  This will let us get rid of platform specific
        callbacks in a number of platform independent device drivers."
      
      * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
        irqchip: s3c24xx: add missing __init annotations
        ARM: dts: Disable the RTC by default on exynos5
        clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
        ARM: exynos: restore mach/regs-clock.h for exynos5
        clocksource: exynos_mct: fix build error on non-DT
        pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
        irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
        reset: NULL deref on allocation failure
        reset: Add reset controller API
        dt: describe base reset signal binding
        ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
        ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
        ARM: EXYNOS: Enable PMUs for exynos4
        irqchip: exynos-combiner: Correct combined IRQs for exynos4
        irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
        ARM: EXYNOS: fix compilation error introduced due to common clock migration
        clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
        clk: exynos4: export clocks required for fimc-is
        clk: samsung: Fix compilation error
        clk: tegra: fix enum tegra114_clk to match binding
        ...
      6fa52ed3
    • Syam Sidhardhan's avatar
      proc_devtree: Replace include linux/module.h with linux/export.h · 75fc0cf6
      Syam Sidhardhan authored
      
      
      Since it uses only THIS_MODULE macro, include <linux/export.h>
      is the right to go here.
      Signed-off-by: default avatarSyam Sidhardhan <s.syam@samsung.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      75fc0cf6
    • Al Viro's avatar
      create_mnt_ns: unidiomatic use of list_add() · b1983cd8
      Al Viro authored
      
      
      while list_add(A, B) and list_add(B, A) are equivalent when both A and B
      are guaranteed to be empty, the usual idiom is list_add(what, where),
      not the other way round...  Not a bug per se, but only by accident and
      it makes RTFS harder for no good reason.
      Spotted-by: default avatarRajat Sharma <fs.rajat@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b1983cd8
    • Yan, Zheng's avatar
      fs: remove dentry_lru_prune() · 61572bb1
      Yan, Zheng authored
      
      
      When pruning a dentry, its ancestor dentry can also be pruned. But
      the ancestor dentry does not go through dput(), so it does not get
      put on the dentry LRU. Hence associating d_prune with removing the
      dentry from the LRU is the wrong.
      
      The fix is remove dentry_lru_prune(). Call file system's d_prune()
      callback directly when pruning dentries.
      Signed-off-by: default avatarYan, Zheng <zheng.z.yan@intel.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      61572bb1
    • Han Shen's avatar
      Removed unused typedef to avoid "unused local typedef" warnings. · 6b13eb1b
      Han Shen authored
      
      
      Fix warnings about unused local typedefs (reported by gcc 4.8).
      
      Signed-off-by: Han Shen  (shenhan@google.com)
      
      Change-Id: I4bccc234f1390daa808d2b309ed112e20c0ac096
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      6b13eb1b
    • Al Viro's avatar
      kill fs/read_write.h · c0bd14af
      Al Viro authored
      
      
      fs/compat.c doesn't need it anymore, so let's just move the remaining
      contents (two typedefs) into fs/read_write.c
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c0bd14af
    • Jan Kara's avatar
      fs: Fix hang with BSD accounting on frozen filesystem · 5ae98f15
      Jan Kara authored
      
      
      When BSD process accounting is enabled and logs information to a
      filesystem which gets frozen, system easily becomes unusable because
      each attempt to account process information blocks. Thus e.g. every task
      gets blocked in exit.
      
      It seems better to drop accounting information (which can already happen
      when filesystem is running out of space) instead of locking system up.
      So we just skip the write if the filesystem is frozen.
      Reported-by: default avatarNikola Ciprich <nikola.ciprich@linuxbox.cz>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      5ae98f15
    • Geert Uytterhoeven's avatar
      sun3_scsi: add ->show_info() · 9dcc26cf
      Geert Uytterhoeven authored
      
      
      Based on Al's changes to atari_scsi.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9dcc26cf
    • Geert Uytterhoeven's avatar
      nubus: Kill nubus_proc_detach_device() · e765acb4
      Geert Uytterhoeven authored
      Commit 59d8053f
      
       ("proc: Move non-public
      stuff from linux/proc_fs.h to fs/proc/internal.h") broke Apple NuBus
      support:
      
      drivers/nubus/proc.c: In function ‘nubus_proc_detach_device’:
      drivers/nubus/proc.c:156: error: dereferencing pointer to incomplete type
      drivers/nubus/proc.c:158: error: dereferencing pointer to incomplete type
      
      Fortunately nubus_proc_detach_device() is unused, and appears to have never
      been used, so just remove it.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e765acb4
    • Al Viro's avatar
      more mode_t whack-a-mole... · 60b7bf4e
      Al Viro authored
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      60b7bf4e
    • Al Viro's avatar
    • Al Viro's avatar
      0d5cadb8
    • Linus Torvalds's avatar
      ipc: sem_putref() does not need the semaphore lock any more · 73b29505
      Linus Torvalds authored
      
      
      ipc_rcu_putref() uses atomics for the refcount, and the games to lock
      and unlock the semaphore just to try to keep the reference counting
      working are no longer useful.
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      73b29505
    • Linus Torvalds's avatar
      ipc: move rcu_read_unlock() out of sem_unlock() and into callers · 6d49dab8
      Linus Torvalds authored
      
      
      The IPC locking is a mess, and sem_unlock() unlocks not only the
      semaphore spinlock, it also drops the rcu read lock.  Unlike sem_lock(),
      which just gets the spin-lock, and expects the caller to get the rcu
      read lock.
      
      This all makes things very hard to follow, and it's very confusing when
      you take the rcu read lock in one function, and then release it in
      another.  And it has caused actual bugs: the sem_obtain_lock() function
      ended up dropping the RCU read lock twice in one error path, because it
      first did the sem_unlock(), and then did a rcu_read_unlock() to match
      the rcu_read_lock() it had done.
      
      This is just a totally mindless "remove rcu_read_unlock() from
      sem_unlock() and add it immediately after each caller" (except for the
      aforementioned bug where we did too many rcu_read_unlock(), and in
      find_alloc_undo() where we just got the rcu_read_lock() to correct for
      the fact that sem_unlock would immediately drop it again).
      
      We can (and should) clean things up further, but this fixes the bug with
      the minimal amount of subtlety.
      Reviewed-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d49dab8
    • Jean Delvare's avatar
      hwmon: (lm75) Add support for the Dallas/Maxim DS7505 · 3fbc81e3
      Jean Delvare authored
      
      
      Basically it's the same as the original DS75 but much faster.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      3fbc81e3
    • Jean Delvare's avatar
      hwmon: (lm75) Tune resolution and sample time per chip · 0cd2c72d
      Jean Delvare authored
      
      
      Most LM75-compatible chips can either sample much faster or with a
      much better resolution than the original LM75 chip. So far the lm75
      driver did not let the user take benefit of these improvements. Do it
      now.
      
      I decided to almost always configure the chip to use the best
      resolution possible, which also means the longest sample time. The
      only chips for which I didn't are the DS75, DS1775 and STDS75, because
      they are really too slow in 12-bit mode (1.2 to 1.5 second worst case)
      so I went for 11-bit mode as a more reasonable tradeoff. This choice is
      dictated by the fact that the hwmon subsystem is meant for system
      monitoring, it has never been supposed to be ultra-fast, and as a
      matter of fact we do cache the sampled values in almost all drivers.
      
      If anyone isn't pleased with these default settings, they can always
      introduce a platform data structure or DT support for the lm75. That
      being said, it seems nobody ever complained that the driver wouldn't
      refresh the value faster than every 1.5 second, and the change made
      it faster for all chips even in 12-bit mode, so I don't expect any
      complaint.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      0cd2c72d
    • Jean Delvare's avatar
      hwmon: (lm75) Prepare to support per-chip resolution and sample time · 87d0621a
      Jean Delvare authored
      
      
      Prepare the lm75 driver to support per-chip resolution and sample
      time. For now we only make the code generic enough to support it, but
      we still use the same, unchanged resolution (9-bit) and sample time
      (1.5 s) for all chips.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      87d0621a