1. 02 May, 2013 6 commits
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dfab34aa
      Linus Torvalds authored
      Pull ARM SoC device-tree updates from Olof Johansson:
       "Part 1 of device-tree updates for 3.10.  The bulk of the churn in this
        branch is due to i.MX moving from C-defined pin control over to device
        tree, which is a one-time conversion that will allow greater
        flexibility down the road.
      
        Besides that, there's PCI-e bindings for Marvell mvebu platforms and a
        handful of cleanups to tegra due to the new include file functionality
        of the device tree compiler"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (113 commits)
        arm: mvebu: PCIe Device Tree informations for Armada XP GP
        arm: mvebu: PCIe Device Tree informations for Armada 370 DB
        arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
        arm: mvebu: PCIe Device Tree informations for Armada XP DB
        arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
        arm: mvebu: add PCIe Device Tree informations for Armada XP
        arm: mvebu: add PCIe Device Tree informations for Armada 370
        ARM: sunxi: unify osc24M_fixed and osc24M
        arm: vt8500: Add SDHC support to WM8505 DT
        ARM: dts: Add a 64 bits version of the skeleton device tree
        ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
        ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
        ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
        ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
        ARM: dts: imx6dl-wandboard: Add USB Host support
        ARM: dts: imx51 cpu node
        ARM: dts: Add missing imx27-phytec-phycore dtb target
        ARM: dts: Add NFC support for i.MX27 Phytec PCM038 module
        ARM: i.MX51: Add PATA support
        ARM: dts: Add initial support for Wandboard Dual-Lite
        ...
      dfab34aa
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a7726350
      Linus Torvalds authored
      Pull ARM SoC cleanup from Olof Johansson:
       "Here is a collection of cleanup patches.  Among the pieces that stand
        out are:
      
         - The deletion of h720x platforms
         - Split of at91 non-dt platforms to their own Kconfig file to keep
           them separate
         - General cleanups and refactoring of i.MX and MXS platforms
         - Some restructuring of clock tables for OMAP
         - Convertion of PMC driver for Tegra to dt-only
         - Some renames of sunxi -> sun4i (Allwinner A10)
         - ... plus a bunch of other stuff that I haven't mentioned"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
        ARM: i.MX: remove unused ARCH_* configs
        ARM i.MX53: remove platform ahci support
        ARM: sunxi: Rework the restart code
        irqchip: sunxi: Rename sunxi to sun4i
        irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
        clocksource: sunxi: Rename sunxi to sun4i
        clocksource: sunxi: make use of CLKSRC_OF
        clocksource: sunxi: Cleanup the timer code
        ARM: at91: remove trailing semicolon from macros
        ARM: at91/setup: fix trivial typos
        ARM: EXYNOS: remove "config EXYNOS_DEV_DRM"
        ARM: EXYNOS: change the name of USB ohci header
        ARM: SAMSUNG: Remove unnecessary code for dma
        ARM: S3C24XX: Remove unused GPIO drive strength register definitions
        ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method
        ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412
        ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410
        ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards
        ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC"
        ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI"
        ...
      a7726350
    • Linus Torvalds's avatar
      Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4d26aa30
      Linus Torvalds authored
      Pull ARM SoC non-critical fixes from Olof Johansson:
       "Here is a collection of fixes (and some intermixed cleanups) that were
        considered less important and thus not included in the later parts of
        the 3.9-rc cycle.
      
        It's a bit all over the map, contents wise.  A series of ux500 fixes
        and cleanups, a bunch of various fixes for OMAP and tegra, and some
        for Freescale i.MX and even Qualcomm MSM.
      
        Note that there's also a patch on this branch to globally turn off
        -Wmaybe-uninitialized when building with -Os.  It's been posted
        several times by Arnd and no dissent was raised, but nobody seemed
        interested to pick it up.  So here it is, as the topmost patch."
      
      * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
        Turn off -Wmaybe-uninitialized when building with -Os
        ARM: orion5x: include linux/cpu.h
        ARM: tegra: call cpu_do_idle from C code
        ARM: u300: fix ages old copy/paste bug
        ARM: OMAP2+: add dependencies on ARCH_MULTI_V6/V7
        ARM: tegra: solve adr range issue with THUMB2_KERNEL enabled
        ARM: tegra: fix relocation truncated error when THUMB2_KERNEL enabled
        ARM: tegra: fix build error when THUMB2_KERNEL enabled
        ARM: msm: Fix uncompess.h tx underrun check
        ARM: vexpress: Remove A9 PMU compatible values for non-A9 platforms
        ARM: cpuimx27 and mbimx27: prepend CONFIG_ to Kconfig macro
        ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS"
        ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD"
        ARM: mach-imx: mach-imx6q: Fix sparse warnings
        ARM: mach-imx: src: Include "common.h
        ARM: mach-imx: gpc: Include "common.h"
        ARM: mach-imx: avic: Staticize *avic_base
        ARM: mach-imx: tzic: Staticize *tzic_base
        ARM: mach-imx: clk: Include "clk.h"
        ARM: mach-imx: clk-busy: Staticize clk_busy_mux_ops
        ...
      4d26aa30
    • Al Viro's avatar
      ipc_schedule_free() can do vfree() directly now · 600fe975
      Al Viro authored
      Commit 32fcfd40 ("make vfree() safe to call from interrupt
      contexts") made it safe to do vfree directly from the RCU callback,
      which allows us to simplify ipc/util.c a lot by getting rid of the
      differences between vmalloc/kmalloc memory.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      600fe975
    • David Miller's avatar
      net: Restore NETIF_F_* bit ordering. · 4ada8db3
      David Miller authored
      Commit 8ad227ff ("net: vlan: add 802.1ad support") added some new
      NETIF_F_* features bits, but it added them in the middle of existing
      values.
      
      Userland depends upon the flag bits via the per-netdevice 'flags' sysfs
      file.
      
      So restore the previous ordering by adding the new flags at the end.
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4ada8db3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 20b4fb48
      Linus Torvalds authored
      Pull VFS updates from Al Viro,
      
      Misc cleanups all over the place, mainly wrt /proc interfaces (switch
      create_proc_entry to proc_create(), get rid of the deprecated
      create_proc_read_entry() in favor of using proc_create_data() and
      seq_file etc).
      
      7kloc removed.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
        don't bother with deferred freeing of fdtables
        proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
        proc: Make the PROC_I() and PDE() macros internal to procfs
        proc: Supply a function to remove a proc entry by PDE
        take cgroup_open() and cpuset_open() to fs/proc/base.c
        ppc: Clean up scanlog
        ppc: Clean up rtas_flash driver somewhat
        hostap: proc: Use remove_proc_subtree()
        drm: proc: Use remove_proc_subtree()
        drm: proc: Use minor->index to label things, not PDE->name
        drm: Constify drm_proc_list[]
        zoran: Don't print proc_dir_entry data in debug
        reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
        proc: Supply an accessor for getting the data from a PDE's parent
        airo: Use remove_proc_subtree()
        rtl8192u: Don't need to save device proc dir PDE
        rtl8187se: Use a dir under /proc/net/r8180/
        proc: Add proc_mkdir_data()
        proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
        proc: Move PDE_NET() to fs/proc/proc_net.c
        ...
      20b4fb48
  2. 01 May, 2013 34 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b9394d8a
      Linus Torvalds authored
      Pull x86/efi changes from Peter Anvin:
       "The bulk of these changes are cleaning up the efivars handling and
        breaking it up into a tree of files.  There are a number of fixes as
        well.
      
        The entire changeset is pretty big, but most of it is code movement.
      
        Several of these commits are quite new; the history got very messed up
        due to a mismerge with the urgent changes for rc8 which completely
        broke IA64, and so Ingo requested that we rebase it to straighten it
        out."
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: remove "kfree(NULL)"
        efi: locking fix in efivar_entry_set_safe()
        efi, pstore: Read data from variable store before memcpy()
        efi, pstore: Remove entry from list when erasing
        efi, pstore: Initialise 'entry' before iterating
        efi: split efisubsystem from efivars
        efivarfs: Move to fs/efivarfs
        efivars: Move pstore code into the new EFI directory
        efivars: efivar_entry API
        efivars: Keep a private global pointer to efivars
        efi: move utf16 string functions to efi.h
        x86, efi: Make efi_memblock_x86_reserve_range more readable
        efivarfs: convert to use simple_open()
      b9394d8a
    • James Hogan's avatar
      linkage.h: fix build breakage due to symbol prefix handling · 126de6b2
      James Hogan authored
      Al's commit e1b5bb6d ("consolidate cond_syscall and SYSCALL_ALIAS
      declarations") broke the build on blackfin and metag due to the
      following code:
      
        #ifndef SYMBOL_NAME
        #ifdef CONFIG_SYMBOL_PREFIX
        #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
        #else
        #define SYMBOL_NAME(x) x
        #endif
        #endif
        #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
      
      __stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
      lines like this in kernel/sys_ni.s:
      
        .weak CONFIG_SYMBOL_PREFIXsys_quotactl
        .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall
      
      The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
      cleanup." cleans up the whole mess around symbol prefixes, so this patch
      just attempts to fix the build in the meantime.
      
      The intermediate definition of SYMBOL_NAME above isn't used and is
      incorrect when CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX
      is a quoted string literal, so define __SYMBOL_NAME directly depending
      on CONFIG_SYMBOL_PREFIX.
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Mea-culpa-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: uclinux-dist-devel@blackfin.uclinux.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      126de6b2
    • Al Viro's avatar
      don't bother with deferred freeing of fdtables · ac3e3c5b
      Al Viro authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ac3e3c5b
    • Al Viro's avatar
      Merge branch 'vfree' into for-next · 094dd33b
      Al Viro authored
      094dd33b
    • David Howells's avatar
      proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h · 59d8053f
      David Howells authored
      Move non-public declarations and definitions from linux/proc_fs.h to
      fs/proc/internal.h.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      59d8053f
    • David Howells's avatar
      proc: Make the PROC_I() and PDE() macros internal to procfs · c30480b9
      David Howells authored
      Make the PROC_I() and PDE() macros internal to procfs.  This means making
      PDE_DATA() out of line.  This could be made more optimal by storing
      PDE()->data into inode->i_private.
      
      Also provide a __PDE_DATA() that is inline and internal to procfs.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c30480b9
    • David Howells's avatar
      proc: Supply a function to remove a proc entry by PDE · a8ca16ea
      David Howells authored
      Supply a function (proc_remove()) to remove a proc entry (and any subtree
      rooted there) by proc_dir_entry pointer rather than by name and (optionally)
      root dir entry pointer.  This allows us to eliminate all remaining pde->name
      accesses outside of procfs.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGrant Likely <grant.likely@linaro.or>
      cc: linux-acpi@vger.kernel.org
      cc: openipmi-developer@lists.sourceforge.net
      cc: devicetree-discuss@lists.ozlabs.org
      cc: linux-pci@vger.kernel.org
      cc: netdev@vger.kernel.org
      cc: netfilter-devel@vger.kernel.org
      cc: alsa-devel@alsa-project.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      a8ca16ea
    • Al Viro's avatar
      8d8b97ba
    • David Howells's avatar
      ppc: Clean up scanlog · 4c237820
      David Howells authored
      Clean up the pseries scanlog driver's use of procfs:
      
       (1) Don't need to save the proc_dir_entry pointer as we have the filename to
           remove with.
      
       (2) Save the scan log buffer pointer in a static variable (there is only one
           of it) and don't save it in the PDE (which doesn't have a destructor).
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      cc: Paul Mackerras <paulus@samba.org>
      cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      4c237820
    • David Howells's avatar
      ppc: Clean up rtas_flash driver somewhat · e8eeded3
      David Howells authored
      Clean up some of the problems with the rtas_flash driver:
      
       (1) It shouldn't fiddle with the internals of the procfs filesystem (altering
           pde->count).
      
       (2) If pid namespaces are in effect, then you can get multiple inodes
           connected to a single pde, thereby rendering the pde->count > 2 test
           useless.
      
       (3) The pde->count fudging doesn't work for forked, dup'd or cloned file
           descriptors, so add static mutexes and use them to wrap access to the
           driver through read, write and release methods.
      
       (4) The driver can only handle one device, so allocate most of the data
           previously attached to the pde->data as static variables instead (though
           allocate the validation data buffer with kmalloc).
      
       (5) We don't need to save the pde pointers as long as we have the filenames
           available for removal.
      
       (6) Don't try to multiplex what the update file read method does based on the
           filename.  Instead provide separate file ops and split the function.
      
      Whilst we're at it, tabulate the procfile information and loop through it when
      creating or destroying them rather than manually coding each one.
      
      [Folded fixes from Vasant Hegde <hegdevasant@linux.vnet.ibm.com>]
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      cc: Paul Mackerras <paulus@samba.org>
      cc: Anton Blanchard <anton@samba.org>
      cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e8eeded3
    • David Howells's avatar
      hostap: proc: Use remove_proc_subtree() · 819695ab
      David Howells authored
      Use remove_proc_subtree() rather than remove_proc_entry() to remove a
      device-specific proc directory and all its children.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Jouni Malinen <j@w1.fi>
      cc: Johannes Berg <johannes@sipsolutions.net>
      cc: linux-wireless@vger.kernel.org
      cc: devel@driverdev.osuosl.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      819695ab
    • David Howells's avatar
      drm: proc: Use remove_proc_subtree() · 8bc742e1
      David Howells authored
      Use remove_proc_subtree() rather than remove_proc_entry() to remove a
      minor-specific drm proc directory and all its children.
      
      Things could theoretically be improved by storing the drm_minor pointer in the
      minor-specific dir proc_dir_entry struct data and then scrapping the list of
      proc files - but that's shared with the debugfs interface where you can't do
      that, so I don't see an easy way of doing it.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      8bc742e1
    • David Howells's avatar
      drm: proc: Use minor->index to label things, not PDE->name · b63e6aa5
      David Howells authored
      Use minor->index to label things, not the name field from the proc_dir_entry
      of the /proc/dwm/<minor>/ directory.
      
      Also, use "%u" not "%d" to render the value and use a 12-byte buffer in which
      to render the integer, not a 16-byte buffer.  The longest string an unsigned
      int can give you is 10 chars (4294967295) plus a NUL, so round up to 12 as the
      stack is likely to be 4- or 8-byte aligned.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b63e6aa5
    • David Howells's avatar
      drm: Constify drm_proc_list[] · ce089b54
      David Howells authored
      Constify drm_proc_list[] and related pointers.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ce089b54
    • David Howells's avatar
      zoran: Don't print proc_dir_entry data in debug · 0c2f3438
      David Howells authored
      Don't print proc_dir_entry data in debug as we're soon to have no direct
      access to the contents of the PDE.  Print what was put in there instead.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: mjpeg-users@lists.sourceforge.net
      cc: linux-media@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0c2f3438
    • David Howells's avatar
      reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show() · e42270a1
      David Howells authored
      Don't access the proc_dir_entry in ReiserFS's r_open(), r_start() r_show()
      procfs interface functions.
      
      ReiserFS stores the ->show() method pointer in PDE->data and the super_block
      pointer in PDE->parent->data.  This isn't changing.
      
      Currently, ReiserFS passes the PDE pointer into seq_file::private from
      r_open() so that r_start() and r_show() can then access it.  Instead, use
      seq_open_private() to allocate a two-pointer struct that's passed through
      seq_file::private and put the ->show() method and the sb pointers in there.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: reiserfs-devel@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e42270a1
    • David Howells's avatar
      proc: Supply an accessor for getting the data from a PDE's parent · 4a520d27
      David Howells authored
      Supply an accessor function for getting the private data from the parent
      proc_dir_entry struct of the proc_dir_entry struct associated with an inode.
      
      ReiserFS, for instance, stores the super_block pointer in the proc directory
      it makes for that super_block, and a pointer to the respective seq_file show
      function in each of the proc files in that directory.
      
      This allows a reduction in the number of file_operations structs, open
      functions and seq_operations structs required.  The problem otherwise is that
      each show function requires two pieces of data but only has storage for one
      per PDE (and this has no release function).
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Jerry Chuang <jerry-chuang@realtek.com>
      cc: Maxim Mikityanskiy <maxtram95@gmail.com>
      cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
      cc: linux-wireless@vger.kernel.org
      cc: linux-scsi@vger.kernel.org
      cc: devel@driverdev.osuosl.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      4a520d27
    • David Howells's avatar
      airo: Use remove_proc_subtree() · b25f774d
      David Howells authored
      Use remove_proc_subtree() to remove the airo device subdir and all its
      children instead of doing it manually.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: linux-wireless@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b25f774d
    • David Howells's avatar
      rtl8192u: Don't need to save device proc dir PDE · cc87e0ff
      David Howells authored
      Don't need to save the PDE of a directory created under /proc/net/rtl8192/ as
      we can use proc subtree deletion to get rid of it and all its children.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Jerry Chuang <jerry-chuang@realtek.com>
      cc: linux-wireless@vger.kernel.org
      cc: devel@driverdev.osuosl.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      cc87e0ff
    • David Howells's avatar
      rtl8187se: Use a dir under /proc/net/r8180/ · c4558a26
      David Howells authored
      Create a dir under /proc/net/r8180/ named for the device and create that
      device's files under there.  This means that there won't be a problem for
      multiple devices in the system (if such is possible) and it means we don't
      need to save the 'device directory' PDE any more as we can just do a proc
      subtree removal.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Maxim Mikityanskiy <maxtram95@gmail.com>
      cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
      cc: linux-wireless@vger.kernel.org
      cc: devel@driverdev.osuosl.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c4558a26
    • David Howells's avatar
      proc: Add proc_mkdir_data() · 270b5ac2
      David Howells authored
      Add proc_mkdir_data() to allow procfs directories to be created that are
      annotated at the time of creation with private data rather than doing this
      post-creation.  This means no access is then required to the proc_dir_entry
      struct to set this.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Neela Syam Kolli <megaraidlinux@lsi.com>
      cc: Jerry Chuang <jerry-chuang@realtek.com>
      cc: linux-scsi@vger.kernel.org
      cc: devel@driverdev.osuosl.org
      cc: linux-wireless@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      270b5ac2
    • David Howells's avatar
      proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h} · 34db8aaf
      David Howells authored
      Move some bits from linux/proc_fs.h to linux/of.h, signal.h and tty.h.
      
      Also move proc_tty_init() and proc_device_tree_init() to fs/proc/internal.h as
      they're internal to procfs.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      cc: devicetree-discuss@lists.ozlabs.org
      cc: linux-arch@vger.kernel.org
      cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Jri Slaby <jslaby@suse.cz>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      34db8aaf
    • David Howells's avatar
      proc: Move PDE_NET() to fs/proc/proc_net.c · 4abfd029
      David Howells authored
      Move PDE_NET() to fs/proc/proc_net.c as that's where the only user is.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      4abfd029
    • David Howells's avatar
      proc: Split the namespace stuff out into linux/proc_ns.h · 0bb80f24
      David Howells authored
      Split the proc namespace stuff out into linux/proc_ns.h.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: netdev@vger.kernel.org
      cc: Serge E. Hallyn <serge.hallyn@ubuntu.com>
      cc: Eric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0bb80f24
    • David Howells's avatar
      proc: Move proc_fd() to fs/proc/fd.h · c3bef7bc
      David Howells authored
      Move proc_fd() to fs/proc/fd.h.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c3bef7bc
    • David Howells's avatar
      proc: Uninline pid_delete_dentry() · 1dd704b6
      David Howells authored
      Uninline pid_delete_dentry() as it's only used by three function pointers.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      1dd704b6
    • David Howells's avatar
      proc: Supply PDE attribute setting accessor functions · 271a15ea
      David Howells authored
      Supply accessor functions to set attributes in proc_dir_entry structs.
      
      The following are supplied: proc_set_size() and proc_set_user().
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      cc: linuxppc-dev@lists.ozlabs.org
      cc: linux-media@vger.kernel.org
      cc: netdev@vger.kernel.org
      cc: linux-wireless@vger.kernel.org
      cc: linux-pci@vger.kernel.org
      cc: netfilter-devel@vger.kernel.org
      cc: alsa-devel@alsa-project.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      271a15ea
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 73287a43
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Highlights (1721 non-merge commits, this has to be a record of some
        sort):
      
         1) Add 'random' mode to team driver, from Jiri Pirko and Eric
            Dumazet.
      
         2) Make it so that any driver that supports configuration of multiple
            MAC addresses can provide the forwarding database add and del
            calls by providing a default implementation and hooking that up if
            the driver doesn't have an explicit set of handlers.  From Vlad
            Yasevich.
      
         3) Support GSO segmentation over tunnels and other encapsulating
            devices such as VXLAN, from Pravin B Shelar.
      
         4) Support L2 GRE tunnels in the flow dissector, from Michael Dalton.
      
         5) Implement Tail Loss Probe (TLP) detection in TCP, from Nandita
            Dukkipati.
      
         6) In the PHY layer, allow supporting wake-on-lan in situations where
            the PHY registers have to be written for it to be configured.
      
            Use it to support wake-on-lan in mv643xx_eth.
      
            From Michael Stapelberg.
      
         7) Significantly improve firewire IPV6 support, from YOSHIFUJI
            Hideaki.
      
         8) Allow multiple packets to be sent in a single transmission using
            network coding in batman-adv, from Martin Hundebøll.
      
         9) Add support for T5 cxgb4 chips, from Santosh Rastapur.
      
        10) Generalize the VXLAN forwarding tables so that there is more
            flexibility in configurating various aspects of the endpoints.
            From David Stevens.
      
        11) Support RSS and TSO in hardware over GRE tunnels in bxn2x driver,
            from Dmitry Kravkov.
      
        12) Zero copy support in nfnelink_queue, from Eric Dumazet and Pablo
            Neira Ayuso.
      
        13) Start adding networking selftests.
      
        14) In situations of overload on the same AF_PACKET fanout socket, or
            per-cpu packet receive queue, minimize drop by distributing the
            load to other cpus/fanouts.  From Willem de Bruijn and Eric
            Dumazet.
      
        15) Add support for new payload offset BPF instruction, from Daniel
            Borkmann.
      
        16) Convert several drivers over to mdoule_platform_driver(), from
            Sachin Kamat.
      
        17) Provide a minimal BPF JIT image disassembler userspace tool, from
            Daniel Borkmann.
      
        18) Rewrite F-RTO implementation in TCP to match the final
            specification of it in RFC4138 and RFC5682.  From Yuchung Cheng.
      
        19) Provide netlink socket diag of netlink sockets ("Yo dawg, I hear
            you like netlink, so I implemented netlink dumping of netlink
            sockets.") From Andrey Vagin.
      
        20) Remove ugly passing of rtnetlink attributes into rtnl_doit
            functions, from Thomas Graf.
      
        21) Allow userspace to be able to see if a configuration change occurs
            in the middle of an address or device list dump, from Nicolas
            Dichtel.
      
        22) Support RFC3168 ECN protection for ipv6 fragments, from Hannes
            Frederic Sowa.
      
        23) Increase accuracy of packet length used by packet scheduler, from
            Jason Wang.
      
        24) Beginning set of changes to make ipv4/ipv6 fragment handling more
            scalable and less susceptible to overload and locking contention,
            from Jesper Dangaard Brouer.
      
        25) Get rid of using non-type-safe NLMSG_* macros and use nlmsg_*()
            instead.  From Hong Zhiguo.
      
        26) Optimize route usage in IPVS by avoiding reference counting where
            possible, from Julian Anastasov.
      
        27) Convert IPVS schedulers to RCU, also from Julian Anastasov.
      
        28) Support cpu fanouts in xt_NFQUEUE netfilter target, from Holger
            Eitzenberger.
      
        29) Network namespace support for nf_log, ebt_log, xt_LOG, ipt_ULOG,
            nfnetlink_log, and nfnetlink_queue.  From Gao feng.
      
        30) Implement RFC3168 ECN protection, from Hannes Frederic Sowa.
      
        31) Support several new r8169 chips, from Hayes Wang.
      
        32) Support tokenized interface identifiers in ipv6, from Daniel
            Borkmann.
      
        33) Use usbnet_link_change() helper in USB net driver, from Ming Lei.
      
        34) Add 802.1ad vlan offload support, from Patrick McHardy.
      
        35) Support mmap() based netlink communication, also from Patrick
            McHardy.
      
        36) Support HW timestamping in mlx4 driver, from Amir Vadai.
      
        37) Rationalize AF_PACKET packet timestamping when transmitting, from
            Willem de Bruijn and Daniel Borkmann.
      
        38) Bring parity to what's provided by /proc/net/packet socket dumping
            and the info provided by netlink socket dumping of AF_PACKET
            sockets.  From Nicolas Dichtel.
      
        39) Fix peeking beyond zero sized SKBs in AF_UNIX, from Benjamin
            Poirier"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)
        filter: fix va_list build error
        af_unix: fix a fatal race with bit fields
        bnx2x: Prevent memory leak when cnic is absent
        bnx2x: correct reading of speed capabilities
        net: sctp: attribute printl with __printf for gcc fmt checks
        netlink: kconfig: move mmap i/o into netlink kconfig
        netpoll: convert mutex into a semaphore
        netlink: Fix skb ref counting.
        net_sched: act_ipt forward compat with xtables
        mlx4_en: fix a build error on 32bit arches
        Revert "bnx2x: allow nvram test to run when device is down"
        bridge: avoid OOPS if root port not found
        drivers: net: cpsw: fix kernel warn on cpsw irq enable
        sh_eth: use random MAC address if no valid one supplied
        3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)
        tg3: fix to append hardware time stamping flags
        unix/stream: fix peeking with an offset larger than data in queue
        unix/dgram: fix peeking with an offset larger than data in queue
        unix/dgram: peek beyond 0-sized skbs
        openvswitch: Remove unneeded ovs_netdev_get_ifindex()
        ...
      73287a43
    • Xi Wang's avatar
      filter: fix va_list build error · 20074f35
      Xi Wang authored
      This patch fixes the following build error.
      
      In file included from include/linux/filter.h:52:0,
                       from arch/arm/net/bpf_jit_32.c:14:
      include/linux/printk.h:54:2: error: unknown type name ‘va_list’
      include/linux/printk.h:105:21: error: unknown type name ‘va_list’
      include/linux/printk.h:108:30: error: unknown type name ‘va_list’
      Signed-off-by: default avatarXi Wang <xi.wang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20074f35
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 251df49d
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "Assorted fixes and cleanups to the existing drivers plus a new driver
        for IMS Passenger Control Unit device they use for ther in-flight
        entertainment system."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (44 commits)
        Input: trackpoint - Optimize trackpoint init to use power-on reset
        Input: apbps2 - convert to devm_ioremap_resource()
        Input: ALPS - use %ph to print buffers
        ARM - shmobile: Armadillo800EVA: Move st1232 reset pin handling
        Input: st1232 - add reset pin handling
        Input: st1232 - convert to devm_* infrastructure
        Input: MT - handle semi-mt devices in core
        Input: adxl34x - use spi_get_drvdata()
        Input: ad7877 - use spi_get_drvdata() and spi_set_drvdata()
        Input: ads7846 - use spi_get_drvdata() and spi_set_drvdata()
        Input: ims-pcu - fix a memory leak on error
        Input: sysrq - supplement reset sequence with timeout functionality
        Input: tegra-kbc - support for defining row/columns based on SoC
        Input: imx_keypad - switch to using managed resources
        Input: arc_ps2 - add support for device tree
        Input: mma8450 - fix signed 12bits to 32bits conversion
        Input: eeti_ts - remove redundant null check
        Input: edt-ft5x06 - remove redundant null check before kfree
        Input: ad714x - add CONFIG_PM_SLEEP to suspend/resume functions
        Input: adxl34x - add CONFIG_PM_SLEEP to suspend/resume functions
        ...
      251df49d
    • Eric Dumazet's avatar
      af_unix: fix a fatal race with bit fields · 60bc851a
      Eric Dumazet authored
      Using bit fields is dangerous on ppc64/sparc64, as the compiler [1]
      uses 64bit instructions to manipulate them.
      If the 64bit word includes any atomic_t or spinlock_t, we can lose
      critical concurrent changes.
      
      This is happening in af_unix, where unix_sk(sk)->gc_candidate/
      gc_maybe_cycle/lock share the same 64bit word.
      
      This leads to fatal deadlock, as one/several cpus spin forever
      on a spinlock that will never be available again.
      
      A safer way would be to use a long to store flags.
      This way we are sure compiler/arch wont do bad things.
      
      As we own unix_gc_lock spinlock when clearing or setting bits,
      we can use the non atomic __set_bit()/__clear_bit().
      
      recursion_level can share the same 64bit location with the spinlock,
      as it is set only with this spinlock held.
      
      [1] bug fixed in gcc-4.8.0 :
      http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52080Reported-by: default avatarAmbrose Feinstein <ambrose@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      60bc851a
    • David S. Miller's avatar
      Merge branch 'bnx2x' · c3b28ea3
      David S. Miller authored
      Yuval Mintz says:
      
      ====================
      This fixes 2 small bugs - one which may cause an unnecessary link flap,
      and the other is a small memory leak when unloading while cnic is not
      loaded.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3b28ea3
    • Yuval Mintz's avatar
      bnx2x: Prevent memory leak when cnic is absent · 05952246
      Yuval Mintz authored
      bnx2x driver allocates searcher T2 tables, but it releases that memory
      during unload only released if the cnic is loaded.
      Signed-off-by: default avatarYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05952246
    • Yaniv Rosner's avatar
      bnx2x: correct reading of speed capabilities · b0261926
      Yaniv Rosner authored
      When the bnx2x driver reads the port configuration - mask irrelevant bits.
      
      Without this change, the unintended bits may cause the driver to needlessly
      toggle the link, as a comparison in the link flap avoidance flow will show
      that the old link did not advertise the same capabilities and thus cannot
      be retained.
      Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
      Signed-off-by: default avatarYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0261926