Skip to content
  1. Nov 04, 2015
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · df91fba5
      Linus Torvalds authored
      Pull m68k update from Geert Uytterhoeven.
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/sun3: Use %pM format specifier to print ethernet address
      df91fba5
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · e8a2a176
      Linus Torvalds authored
      Pull LED updates from Jacek Anaszewski:
      
       - Move the out-of-LED-tree led-sead3 driver to the LED subsystem.
      
       - Add 'invert' sysfs attribute to the heartbeat trigger.
      
       - Add Device Tree support to the leds-netxbig driver and add related DT
         nodes to the kirkwood-netxbig.dtsi and kirkwood-net5big.dts files.
         Remove static LED setup from the related board files.
      
       - Remove redundant brightness conversion operation from leds-netxbig.
      
       - Improve leds-bcm6328 driver: improve default-state handling, add more
         init configuration options, print invalid LED instead of warning only
         about maximum LED value.
      
       - Add a shutdown function for setting gpio-leds into off state when
         shutting down.
      
       - Fix DT flash timeout property naming in leds-aat1290.txt.
      
       - Switch to using devm prefixed version of led_classdev_register()
         (leds-cobalt-qube, leds-hp6xx, leds-ot200, leds-ipaq-micro,
         leds-netxbig, leds-locomo, leds-menf21bmc, leds-net48xx, leds-wrap).
      
       - Add missing of_node_put (leds-powernv, leds-bcm6358, leds-bcm6328,
         leds-88pm860x).
      
       - Coding style fixes and cleanups: led-class/led-core, leds-ipaq-micro.
      
      * tag 'leds_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (27 commits)
        leds: 88pm860x: add missing of_node_put
        leds: bcm6328: add missing of_node_put
        leds: bcm6358: add missing of_node_put
        powerpc/powernv: add missing of_node_put
        leds: leds-wrap.c: Use devm_led_classdev_register
        leds: aat1290: Fix property naming of flash-timeout-us
        leds: leds-net48xx: Use devm_led_classdev_register
        leds: leds-menf21bmc.c: Use devm_led_class_register
        leds: leds-locomo.c: Use devm_led_classdev_register
        leds: leds-gpio: add shutdown function
        Documentation: leds: update DT bindings for leds-bcm6328
        leds-bcm6328: add more init configuration options
        leds-bcm6328: simplify and improve default-state handling
        leds-bcm6328: print invalid LED
        leds: netxbig: set led_classdev max_brightness
        leds: netxbig: convert to use the devm_ functions
        ARM: mvebu: remove static LED setup for netxbig boards
        ARM: Kirkwood: add LED DT entries for netxbig boards
        leds: netxbig: add device tree binding
        leds: triggers: add invert to heartbeat
        ...
      e8a2a176
  2. Nov 03, 2015
    • Julia Lawall's avatar
      leds: 88pm860x: add missing of_node_put · ffdc307d
      Julia Lawall authored
      for_each_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      local idexpression n;
      expression e,r;
      @@
      
       for_each_child_of_node(r,n) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
      +  of_node_put(n);
      ?  break;
      )
         ...
       }
      ... when != n
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      ffdc307d
    • Julia Lawall's avatar
      leds: bcm6328: add missing of_node_put · 6cc76244
      Julia Lawall authored
      for_each_available_child_of_node performs an of_node_get on each
      iteration, so a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      expression root,e;
      local idexpression child;
      @@
      
       for_each_available_child_of_node(root, child) {
         ... when != of_node_put(child)
             when != e = child
      (
         return child;
      |
      +  of_node_put(child);
      ?  return ...;
      )
         ...
       }
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      6cc76244
    • Julia Lawall's avatar
      leds: bcm6358: add missing of_node_put · 4b6ba5e2
      Julia Lawall authored
      for_each_available_child_of_node performs an of_node_get on each
      iteration, so a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      expression root,e;
      local idexpression child;
      @@
      
       for_each_available_child_of_node(root, child) {
         ... when != of_node_put(child)
             when != e = child
      (
         return child;
      |
      +  of_node_put(child);
      ?  return ...;
      )
         ...
       }
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      4b6ba5e2
    • Julia Lawall's avatar
      powerpc/powernv: add missing of_node_put · dde4afe7
      Julia Lawall authored
      for_each_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      expression root,e;
      local idexpression child;
      @@
      
       for_each_child_of_node(root, child) {
         ... when != of_node_put(child)
             when != e = child
      (
         return child;
      |
      +  of_node_put(child);
      ?  return ...;
      )
         ...
       }
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      dde4afe7
    • Fida Mohammad's avatar
      leds: leds-wrap.c: Use devm_led_classdev_register · e9aadb86
      Fida Mohammad authored
      
      
      Use of resource managed function devm_led_classdev_register to
      make initialization path simpler. Also removed redundant remove
      function.
      
      Signed-off-by: default avatarFida Mohammad <fmthoker@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      e9aadb86
    • Ingi Kim's avatar
      leds: aat1290: Fix property naming of flash-timeout-us · 10238adb
      Ingi Kim authored
      
      
      flash-timeout-us property name is changed to flash-max-timeout-us.
      This patch fixes that name.
      
      Signed-off-by: default avatarIngi Kim <ingi2.kim@samsung.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      10238adb
    • Muhammad Falak R Wani's avatar
      leds: leds-net48xx: Use devm_led_classdev_register · 51167623
      Muhammad Falak R Wani authored
      
      
      Use devm_led_classdev_register instead of led_classdev_register,
      removing the redundant net48xx_led_remove function.
      
      Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      51167623
    • Muhammad Falak R Wani's avatar
      leds: leds-menf21bmc.c: Use devm_led_class_register · 81aad9f8
      Muhammad Falak R Wani authored
      
      
      Use resource-managed function devm_led_classdev_register instead
      of led_classdev_register, consequently remove redundant
      menf21bmc_led_remove function.
      Also drop the unneeded label err_free_leds.
      
      Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      81aad9f8
    • Fida Mohammad's avatar
      leds: leds-locomo.c: Use devm_led_classdev_register · d4398614
      Fida Mohammad authored
      
      
      Use resource managed function devm_led_classdev_register to make
      initialisation path simpler.
      Also removed redundant led_classdev_unregister function.
      
      Signed-off-by: default avatarFida Mohammad <fmthoker@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      d4398614
    • Heiko Schocher's avatar
      leds: leds-gpio: add shutdown function · 707f33ed
      Heiko Schocher authored
      
      
      add a shutdown function for setting the gpio-leds
      into off state when shuting down.
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      707f33ed
    • Álvaro Fernández Rojas's avatar
      Documentation: leds: update DT bindings for leds-bcm6328 · 1d3ff22d
      Álvaro Fernández Rojas authored
      
      
      This patch adds latest DT bindings for leds-bcm6328 init register
      configuration.
      
      Signed-off-by: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      1d3ff22d
    • Álvaro Fernández Rojas's avatar
      leds-bcm6328: add more init configuration options · 9f82c778
      Álvaro Fernández Rojas authored
      
      
      This patch adds more init register configuration options:
      - Serial LEDs multiplexing.
      - Serial LEDs clock signal low/high polarity.
      - Serial LEDs data signal low/high polarity.
      - Serial LEDs shift direction inverted/normal.
      
      Signed-off-by: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      9f82c778
    • Álvaro Fernández Rojas's avatar
      leds-bcm6328: simplify and improve default-state handling · d8fe1606
      Álvaro Fernández Rojas authored
      
      
      This patch simplifies and improves the code related to
      default-state handling.
      It also changes the code to power off the LEDs by default.
      
      Signed-off-by: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      d8fe1606
    • Álvaro Fernández Rojas's avatar
      leds-bcm6328: print invalid LED · 79653fbb
      Álvaro Fernández Rojas authored
      
      
      Print invalid LED instead of warning only about maximum LED value.
      
      Signed-off-by: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      79653fbb
    • Simon Guinot's avatar
      leds: netxbig: set led_classdev max_brightness · 7b9d9d88
      Simon Guinot authored
      
      
      This patch sets the led_classdev max_brightness to the maximum level
      value supported by hardware. This allows to get rid of the brightness
      conversion operation (from software [0:LED_FULL] to hardware ranges) in
      brightness_set().
      
      Signed-off-by: default avatarSimon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      7b9d9d88
    • Simon Guinot's avatar
      leds: netxbig: convert to use the devm_ functions · cd010955
      Simon Guinot authored
      
      
      This patch converts the leds-netxbig driver to use the devres functions
      devm_gpio_request_one() and devm_led_classdev_register(). This allows to
      simplify the code a bit.
      
      Signed-off-by: default avatarSimon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      cd010955
    • Simon Guinot's avatar
      ARM: mvebu: remove static LED setup for netxbig boards · ebc278f1
      Simon Guinot authored
      
      
      Since DT support is now available for the LEDs found on the LaCie
      netxbig boards (Kirkwood-based), then the old-fashion netxbig board
      setup file is no longer needed. This patch removes this file.
      
      Signed-off-by: default avatarSimon Guinot <simon.guinot@sequanux.org>
      Acked-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      ebc278f1
    • Simon Guinot's avatar
      ARM: Kirkwood: add LED DT entries for netxbig boards · 767361fa
      Simon Guinot authored
      
      
      This patch adds DT entries for the LEDs found on the Kirkwood-based
      LaCie boards 2Big and 5Big Network v2.
      
      Signed-off-by: default avatarSimon Guinot <simon.guinot@sequanux.org>
      Acked-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      767361fa
    • Simon Guinot's avatar
      leds: netxbig: add device tree binding · 2976b179
      Simon Guinot authored
      
      
      This patch adds device tree support for the netxbig LEDs.
      
      This also introduces a additionnal DT binding for the GPIO extension bus
      (netxbig-gpio-ext) used to configure the LEDs. Since this bus could also
      be used to control other devices, then it seems more suitable to have it
      in a separate DT binding.
      
      Signed-off-by: default avatarSimon Guinot <simon.guinot@sequanux.org>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      2976b179
    • Jiri Prchal's avatar
      leds: triggers: add invert to heartbeat · 1c7b9d0e
      Jiri Prchal authored
      
      
      This patch adds possibility to invert heartbeat blinking.
      The inverted LED is more time ON then OFF. It's because it looks
      better when the heartbeat LED is next to other LED which is most
      time ON. The invert value is exported same way via sysfs in file
      invert like oneshot. I get inspiration from this trigger.
      
      Signed-off-by: default avatarJiri Prchal <jiri.prchal@aksignal.cz>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      1c7b9d0e
    • Jacek Anaszewski's avatar
      leds: core: Move LED core callbacks out of led-class.c · 757b06ae
      Jacek Anaszewski authored
      
      
      Since the API for controlling LED brightness and blinking is defined in
      the LED core, move the related timer and work callbacks to the led-core.c,
      and initialize them through a new led_core_init API.
      
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      757b06ae
    • Ralf Baechle's avatar
      LED/MIPS: Move SEAD3 LED driver to where it belongs. · 22a16873
      Ralf Baechle authored
      
      
      Fixes the following randconfig problem
      
      leds-sead3.c:(.text+0x7dc): undefined reference to `led_classdev_unregister'
      leds-sead3.c:(.text+0x7e8): undefined reference to `led_classdev_unregister'
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Cc: Bryan Wu <cooloney@gmail.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Markos Chandras <markos.chandras@imgtec.com>
      Cc: linux-leds@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      22a16873
    • Muhammad Falak R Wani's avatar
      leds: leds-ipaq-micro: Fix coding style issues · 95281b5b
      Muhammad Falak R Wani authored
      
      
      Spaces at the starting of a line are removed, indentation using
      tab, instead of space. Also, line width of more than 80 characters
      is also taken care of.
      Two warnings are left alone to aid better readability.
      
      Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      95281b5b
    • Muhammad Falak R Wani's avatar
      leds: leds-ipaq-micro: Use devm_led_classdev_register · 431557f4
      Muhammad Falak R Wani authored
      
      
      Use of resource-managed function devm_led_classdev_register
      instead of led_classdev_register is preferred, consequently
      remove redundant function micro_leds_remove.
      
      Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      431557f4
    • Muhammad Falak R Wani's avatar
      leds: leds-ot200: Use devm_led_classdev_register · 583a2b2c
      Muhammad Falak R Wani authored
      
      
      Use resource-managed function devm_led_classdev_register
      instead of led_classdev_register to make the error path simpler.
      The goto is replaced with direct return, unneeded label err is
      dropped. Also, remove redundant ot200_led_remove.
      
      Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      583a2b2c
    • Muhammad Falak R Wani's avatar
      leds: leds-hp6xx: Use devm_led_classdev_register · c0fc68ba
      Muhammad Falak R Wani authored
      
      
      Use resource-managed function devm_led_classdev_register
      instead of led_classdev_register to simplify error path.
      An unnecessary check of ret is replaced with a direct return
      Also, remove redundant hp6xxled_remove.
      
      Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      c0fc68ba
    • Vaishali Thakkar's avatar
      leds: leds-cobalt-qube: Use devm_led_classdev_register · aa4e2524
      Vaishali Thakkar authored
      
      
      Use resource-managed function devm_led_classdev_register instead
      of led_classdev_register to make the error-path simpler.
      
      To be compatible with the change, goto is replaced with direct
      return, unneeded label err_null is dropped and unnecessary variable
      retval is removed. Also, remove redundant cobalt_qube_led_remove.
      
      Signed-off-by: default avatarVaishali Thakkar <vthakkar1994@gmail.com>
      Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
      aa4e2524
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 5062ecdb
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "Quite a few new features for regmap this time, mostly expanding things
        around the edges of the existing functionality to cover more devices
        rather than thinsg with wide applicability:
      
         - Support for offload of the update_bits() operation to hardware
           where devices implement bit level access.
         - Support for a few extra operations that need scratch buffers on
           fast_io devices where we can't sleep.
         - Expanded the feature set of regmap_irq to cope with some extra
           register layouts.
         - Cleanups to the debugfs code"
      
      * tag 'regmap-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Allow installing custom reg_update_bits function
        regmap: debugfs: simplify regmap_reg_ranges_read_file() slightly
        regmap: debugfs: use memcpy instead of snprintf
        regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file()
        regmap: Add generic macro to define regmap_irq
        regmap: debugfs: Remove scratch buffer for register length calculation
        regmap: irq: add ack_invert flag for chips using cleared bits as ack
        regmap: irq: add support for chips who have separate unmask registers
        regmap: Allocate buffers with GFP_ATOMIC when fast_io == true
      5062ecdb
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · e86328c4
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "Here is the bulk of GPIO changes for the v4.4 development cycle.
      
        The only changes hitting outside drivers/gpio are in the pin control
        subsystem and these seem to have settled nicely in linux-next.
      
        Development mistakes and catfights are nicely documented in the
        reverts as you can see.  The outcome of the ABI fight is that we're
        working on a chardev ABI for GPIO now, where hope to show results for
        the v4.5 kernel.
      
        Summary of changes:
      
        GPIO core:
         - Define and handle flags for open drain/open collector and open
           source/open emitter, also know as "single-ended" configurations.
         - Generic request/free operations that handle calling out to the
           (optional) pin control backend.
         - Some refactoring related to an ABI change that did not happen, yet
           provide useful.
         - Added a real-time compliance checklist.  Many GPIO chips have
           irqchips, and need to think this over with the RT patches going
           upstream.
         - Restructure, fix and clean up Kconfig menus a bit.
      
        New drivers:
         - New driver for AMD Promony.
         - New driver for ACCES 104-IDIO-16, a port-mapped I/O card,
           ISA-style.  Very retro.
      
        Subdriver changes:
         - OMAP changes to handle real time requirements.
         - Handle trigger types for edge and level IRQs on PL061 properly.  As
           this hardware is very common it needs to set a proper example for
           others to follow.
         - Some container_of() cleanups.
         - Delete the unused MSM driver in favor of the driver that is
           embedded inside the pin control driver.
         - Cleanup of the ath79 GPIO driver used by many, many OpenWRT router
           targets.
         - A consolidated IT87xx driver replacing the earlier very specific
           IT8761e driver.
         - Handle the TI TCA9539 in the PCA953x driver.  Also handle ACPI
           devices in this subdriver.
         - Drop xilinx arch dependencies as these FPGAs seem to profilate over
           a few different architectures.  MIPS and ARM come to mind"
      
      * tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (57 commits)
        gpio: fix up SPI submenu
        gpio: drop surplus I2C dependencies
        gpio: drop surplus X86 dependencies
        gpio: dt-bindings: document the official use of "ngpios"
        gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver
        gpio / ACPI: Allow shared GPIO event to be read via operation region
        gpio: group port-mapped I/O drivers in a menu
        gpio: Add ACCES 104-IDIO-16 driver maintainer entry
        gpio: zynq: Document interrupt-controller DT binding
        gpio: xilinx: Drop architecture dependencies
        gpio: generic: Revert to old error handling in bgpio_map
        gpio: add a real time compliance notes
        Revert "gpio: add a real time compliance checklist"
        gpio: Add GPIO support for the ACCES 104-IDIO-16
        gpio: driver for AMD Promontory
        gpio: xlp: Convert to use gpiolib irqchip helpers
        gpio: add a real time compliance checklist
        gpio/xilinx: enable for MIPS
        gpiolib: Add and use OF_GPIO_SINGLE_ENDED flag
        gpiolib: Split GPIO flags parsing and GPIO configuration
        ...
      e86328c4
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · bc9d8c20
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the big bulk of pin control changes for the v4.4 kernel
        development cycle.  Development pace is high in pin control again this
        merge window.  28 contributors, 83 patches.
      
        It hits a few sites outside the pin control subsystem:
      
         - Device tree bindings in Documentation (as usual)
         - MAINTAINERS
         - drivers/base/* for the "init" state handling by Doug Anderson.
           This has been ACKed by Greg.
         - drivers/usb/renesas_usbhs/rcar2.c, for a dependent Renesas change
           in the USB subsystem.  This has been ACKed by both Greg and Felipe.
         - arch/arm/boot/dts/sama5d2.dtsi - this should ideally have gone
           through the ARM SoC tree but ended up here.
      
        This time I am using Geert Uytterhoeven as submaintainer for SH PFC
        since the are three-four people working in parallel with new Renesas
        ASICs.
      
        Summary of changes:
      
        Infrastructure:
      
         - Doug Anderson wrote a patch adding an "init" state different from
           the "default" state for pin control state handling in the core
           framework.  This is applied before the driver's probe() call if
           defined and takes precedence over "default".  If both are defined,
           "init" will be applied *before* probe() and "default" will be
           applied *after* probe().
      
        Significant subdriver improvements:
      
         - SH PFC is switched to getting GPIO ranges from the device tree
           ranges property on DT platforms.
         - Got rid of CONFIG_ARCH_SHMOBILE_LEGACY, we are all modernized.
         - Got rid of SH PFC hardcoded IRQ numbers.
         - Allwinner sunxi external interrupt through the "r" controller.
         - Moved the Cygnus driver to use DT-provided GPIO ranges.
      
        New drivers:
      
         - Atmel PIO4 pin controller for the SAMA4D2 family
      
        New subdrivers:
      
         - Rockchip RK3036 subdriver
         - Renesas SH PFC R8A7795 subdriver
         - Allwinner sunxi A83T PIO subdriver
         - Freescale i.MX7d iomux lpsr subdriver
         - Marvell Berlin BG4CT subdriver
         - SiRF Atlas 7 step B SoC subdriver
         - Intel Broxton SoC subdriver
      
        Apart from this, the usual slew if syntactic and semantic fixes"
      
      * tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (81 commits)
        pinctrl: pinconf: remove needless loop
        pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER
        pinctrl: zynq: fix UTF-8 errors
        pinctrl: zynq: Initialize early
        pinctrl: at91: add missing of_node_put
        pinctrl: tegra-xusb: Correct lane mux options
        pinctrl: intel: Add Intel Broxton pin controller support
        pinctrl: intel: Allow requesting pins which are in ACPI mode as GPIOs
        pinctrl: intel: Add support for multiple GPIO chips sharing the interrupt
        drivers/pinctrl: Add the concept of an "init" state
        pinctrl: uniphier: set input-enable before pin-muxing
        pinctrl: cygnus: Add new compatible string for gpio controller driver
        pinctrl: cygnus: Remove GPIO to Pinctrl pin mapping from driver
        pinctrl: cygnus: Optional DT property to support pin mappings
        pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller
        pinctrl: sunxi: Fix irq_of_xlate for the r_pio pinctrl block
        pinctrl: sh-pfc: Remove obsolete r8a7778 platform_device_id entry
        pinctrl: sh-pfc: Remove obsolete r8a7779 platform_device_id entry
        pinctrl: sh-pfc: Stop including <linux/platform_data/gpio-rcar.h>
        usb: renesas_usbhs: Remove unneeded #include <linux/platform_data/gpio-rcar.h>
        ...
      bc9d8c20
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 9ff3ca58
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       "A bunch of fixes all over the place and some hw enablement this time.
      
         - Convert EDAC to debugfs wrappers and make drivers use those
           (Borislav Petkov)
      
         - L3 and SoC support for xgene_edac (Loc Ho)
      
         - AMD F15h, models 0x60-6f support to amd64_edac (Aravind
           Gopalakrishnan)
      
         - Fixes and cleanups all over the place"
      
      * tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (22 commits)
        EDAC: Fix PAGES_TO_MiB macro misuse
        EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN
        EDAC: Use edac_debugfs_remove_recursive()
        EDAC, ppc4xx_edac: Fix module autoload for OF platform driver
        Documentation/EDAC: Add reference documents section for amd64_edac
        EDAC, amd64_edac: Update copyright and remove changelog
        EDAC, amd64_edac: Extend scrub rate support to F15hM60h
        EDAC: Don't allow empty DIMM labels
        EDAC: Fix sysfs dimm_label store operation
        EDAC: Fix sysfs dimm_label show operation
        arm64, EDAC: Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node
        EDAC, xgene: Add SoC support
        EDAC, xgene: Fix possible sprintf() overflow issue
        EDAC, xgene: Add L3 support
        EDAC, Documentation: Update X-Gene EDAC binding for L3/SoC subnodes
        EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs()
        EDAC, ghes_edac: Remove redundant memory_type array
        EDAC, xgene: Convert to debugfs wrappers
        EDAC, i5100: Convert to debugfs wrappers
        EDAC, altera: Convert to debugfs wrappers
        ...
      9ff3ca58
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc · 17a13590
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Add new API to set VCCQ voltage - mmc_regulator_set_vqmmc()
         - Add new ioctl to allow userspace to send multi commands
         - Wait for card busy signalling before starting SDIO requests
         - Remove MMC_CLKGATE
         - Enable tuning for DDR50 mode
         - Some code clean-up/improvements to mmc pwrseq
         - Use highest priority for eMMC restart handler
         - Add DT bindings for eMMC hardware reset support
         - Extend the mmc_send_tuning() API
         - Improve ios show for debugfs
         - A couple of code optimizations
      
        MMC host:
         - Some generic OF improvements
         - Various code clean-ups
         - sirf: Add support for DDR50
         - sunxi: Add support for card busy detection
         - mediatek: Use MMC_CAP_RUNTIME_RESUME
         - mediatek: Add support for eMMC HW-reset
         - mediatek: Add support for HS400
         - dw_mmc: Convert to use the new mmc_regulator_set_vqmmc() API
         - dw_mmc: Add external DMA interface support
         - dw_mmc: Some various improvements
         - dw_mmc-rockchip: MMC tuning with the clock phase framework
         - sdhci: Properly clear IRQs during resume
         - sdhci: Enable tuning for DDR50 mode
         - sdhci-of-esdhc: Use IRQ mode for card detection
         - sdhci-of-esdhc: Support both BE and LE host controller
         - sdhci-pci: Build o2micro support in the same module
         - sdhci-pci: Support for new Intel host controllers
         - sdhci-acpi: Support for new Intel host controllers"
      
      * tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc: (73 commits)
        mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode
        mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register
        mmc: dw_mmc: NULL dereference in error message
        mmc: pwrseq: Use highest priority for eMMC restart handler
        mmc: mediatek: add HS400 support
        mmc: mmc: extend the mmc_send_tuning()
        mmc: mediatek: add implement of ops->hw_reset()
        mmc: mediatek: fix got GPD checksum error interrupt when data transfer
        mmc: mediatek: change the argument "ddr" to "timing"
        mmc: mediatek: make cmd_ints_mask to const
        mmc: dt-bindings: update Mediatek MMC bindings
        mmc: core: Add DT bindings for eMMC hardware reset support
        mmc: omap_hsmmc: Enable omap_hsmmc for Keystone 2
        mmc: sdhci-acpi: Add more ACPI HIDs for Intel controllers
        mmc: sdhci-pci: Add more PCI IDs for Intel controllers
        arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC
        arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC
        arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC
        arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC
        mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC
        ...
      17a13590
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.4' of... · 66b01996
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "New driver for MAX31790, added support for TMP75C, as well as cleanups
        and minor improvements in various drivers"
      
      * tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (fam15h_power) Add max compute unit accumulated power
        hwmon: (fam15h_power) Enable power1_input on AMD Carrizo
        hwmon: (fam15h_power) Refactor attributes for dynamically added
        hwmon: (ina2xx) remove no longer used variable 'kind'
        hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793
        hwmon: (nct6775) NCT6791D and NCT6792D have an additional temperature source
        hwmon: (ina2xx) give precedence to DT over checking for platform data.
        hwmon: (ina2xx) convert driver to using regmap
        hwmon: (coretemp) Increase limit of maximum core ID from 32 to 128.
        hwmon: (lm75) Add support for TMP75C
        hwmon: (ibmpowernv) Add OF compatibility table entry
        hwmon: (abx500) drop the use of IRQF_NO_SUSPEND
        hwmon: (max31790) Fix dereference of ERR_PTR
        hwmon: Driver for Maxim MAX31790
      66b01996
  3. Nov 02, 2015
    • Linus Torvalds's avatar
      mm: get rid of 'vmalloc_info' from /proc/meminfo · a5ad88ce
      Linus Torvalds authored
      
      
      It turns out that at least some versions of glibc end up reading
      /proc/meminfo at every single startup, because glibc wants to know the
      amount of memory the machine has.  And while that's arguably insane,
      it's just how things are.
      
      And it turns out that it's not all that expensive most of the time, but
      the vmalloc information statistics (amount of virtual memory used in the
      vmalloc space, and the biggest remaining chunk) can be rather expensive
      to compute.
      
      The 'get_vmalloc_info()' function actually showed up on my profiles as
      4% of the CPU usage of "make test" in the git source repository, because
      the git tests are lots of very short-lived shell-scripts etc.
      
      It turns out that apparently this same silly vmalloc info gathering
      shows up on the facebook servers too, according to Dave Jones.  So it's
      not just "make test" for git.
      
      We had two patches to just cache the information (one by me, one by
      Ingo) to mitigate this issue, but the whole vmalloc information of of
      rather dubious value to begin with, and people who *actually* want to
      know what the situation is wrt the vmalloc area should just look at the
      much more complete /proc/vmallocinfo instead.
      
      In fact, according to my testing - and perhaps more importantly,
      according to that big search engine in the sky: Google - there is
      nothing out there that actually cares about those two expensive fields:
      VmallocUsed and VmallocChunk.
      
      So let's try to just remove them entirely.  Actually, this just removes
      the computation and reports the numbers as zero for now, just to try to
      be minimally intrusive.
      
      If this breaks anything, we'll obviously have to re-introduce the code
      to compute this all and add the caching patches on top.  But if given
      the option, I'd really prefer to just remove this bad idea entirely
      rather than add even more code to work around our historical mistake
      that likely nobody really cares about.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a5ad88ce
    • Linus Torvalds's avatar
      Merge branch 'fs-file-descriptor-optimization' · 2e002662
      Linus Torvalds authored
      Merge file descriptor allocation speedup.
      
      Eric Dumazet has a test-case for a fairly common network deamon load
      pattern: openign and closing a lot of sockets that each have very little
      work done on them.  It turns out that in that case, the cost of just
      finding the correct file descriptor number can be a dominating factor.
      
      We've long had a trivial optimization for allocating file descriptors
      sequentially, but that optimization ends up being not very effective
      when other file descriptors are being closed concurrently, and the fd
      patterns are not some simple FIFO pattern.  In such cases we ended up
      spending a lot of time just scanning the bitmap of open file descriptors
      in order to find the next file descriptor number to open.
      
      This trivial patch-series mitigates that by simply introducing a
      second-level bitmap of which words in the first bitmap are already fully
      allocated.  That cuts down the cost of scanning by an order of magnitude
      in some pathological (but realistic) cases.
      
      The second patch is an even more trivial patch to avoid unnecessarily
      dirtying the cacheline for the close-on-exec bit array that normally
      ends up being all empty.
      
      * fs-file-descriptor-optimization:
        vfs: conditionally clear close-on-exec flag
        vfs: Fix pathological performance case for __alloc_fd()
      2e002662
    • Linus Torvalds's avatar
      Linux 4.3 · 6a13feb9
      Linus Torvalds authored
      6a13feb9
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 95fc00a4
      Linus Torvalds authored
      Pull memremap fix from Dan Williams:
       "The new memremap() api introduced in the 4.3 cycle to unify/replace
        ioremap_cache() and ioremap_wt() is mishandling the highmem case.
        This patch has received a build success notification from a
        0day-kbuild-robot run and has received an ack from Ard"
      
      From the commit message:
       "The impact of this bug is low for now since the pmem driver is the
        only user of memremap(), but this is important to fix before more
        conversions to memremap arrive in 4.4"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        memremap: fix highmem support
      95fc00a4
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ca04d396
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "This set of updates contains:
      
         - Another bugfix for the pathologic vm86 machinery.  Clear
           thread.vm86 on fork to prevent corrupting the parent state.  This
           comes along with an update to the vm86 selftest case
      
         - Fix another corner case in the ioapic setup code which causes a
           boot crash on some oddball systems
      
         - Fix the fallout from the dma allocation consolidation work, which
           leads to a NULL pointer dereference when the allocation code is
           called with a NULL device"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vm86: Set thread.vm86 to NULL on fork/clone
        selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs
        x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest()
        x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev
      ca04d396