1. 19 Feb, 2017 5 commits
    • Mark Brown's avatar
      Merge remote-tracking branches 'regulator/topic/88pm800',... · f88140af
      Mark Brown authored
      Merge remote-tracking branches 'regulator/topic/88pm800', 'regulator/topic/88pm8607', 'regulator/topic/aat2870', 'regulator/topic/act8945a' and 'regulator/topic/ad5938' into regulator-next
      f88140af
    • Mark Brown's avatar
    • Mark Brown's avatar
      Merge remote-tracking branches 'regulator/fix/debugfs' and... · 0fe3f971
      Mark Brown authored
      Merge remote-tracking branches 'regulator/fix/debugfs' and 'regulator/fix/tps65086' into regulator-linus
      0fe3f971
    • Mark Brown's avatar
    • Mark Brown's avatar
      Merge tag 'regulator-fix-v4.10-rc6' into regulator-linus · 6b80562d
      Mark Brown authored
      regulator: Fixes for v4.10
      
      Three changes here, two run of the mill driver specific fixes and a
      change from Mark Rutland which reverts some new device specific ACPI
      binding code which was added during the merge window as there are
      concerns about this sending the wrong signal about usage of regulators
      in ACPI systems.
      
      # gpg: Signature made Fri 03 Feb 2017 11:48:10 GMT
      # gpg:                using RSA key ADE668AA675718B59FE29FEA24D68B725D5487D0
      # gpg:                issuer "broonie@kernel.org"
      # gpg: key 0D9EACE2CD7BEEBC: no public key for trusted key - skipped
      # gpg: key 0D9EACE2CD7BEEBC marked as ultimately trusted
      # gpg: key CCB0A420AF88CD16: no public key for trusted key - skipped
      # gpg: key CCB0A420AF88CD16 marked as ultimately trusted
      # gpg: key 162614E316005C11: no public key for trusted key - skipped
      # gpg: key 162614E316005C11 marked as ultimately trusted
      # gpg: key A730C53A5621E907: no public key for trusted key - skipped
      # gpg: key A730C53A5621E907 marked as ultimately trusted
      # gpg: key 276568D75C6153AD: no public key for trusted key - skipped
      # gpg: key 276568D75C6153AD marked as ultimately trusted
      # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" [ultimate]
      # gpg:                 aka "Mark Brown <broonie@debian.org>" [ultimate]
      # gpg:                 aka "Mark Brown <broonie@kernel.org>" [ultimate]
      # gpg:                 aka "Mark Brown <broonie@tardis.ed.ac.uk>" [ultimate]
      # gpg:                 aka "Mark Brown <broonie@linaro.org>" [ultimate]
      # gpg:                 aka "Mark Brown <Mark.Brown@linaro.org>" [ultimate]
      6b80562d
  2. 16 Feb, 2017 2 commits
    • Javier Martinez Canillas's avatar
      regulator: core: Resolve supplies before disabling unused regulators · 3827b64d
      Javier Martinez Canillas authored
      After commit 66d228a2 ("regulator: core: Don't use regulators as
      supplies until the parent is bound"), input supplies aren't resolved
      if the input supplies parent device has not been bound. This prevent
      regulators to hold an invalid reference if its supply parent device
      driver probe is deferred.
      
      But this causes issues on some boards where a PMIC's regulator use as
      input supply a regulator from another PMIC whose driver is registered
      after the driver for the former.
      
      In this case the regulators for the first PMIC will fail to resolve
      input supplies on regulators registration (since the other PMIC wasn't
      probed yet). And when the core attempts to resolve again latter when
      the other PMIC registers its own regulators, it will fail again since
      the parent device isn't bound yet.
      
      This will cause some parent supplies to never be resolved and wrongly
      be disabled on boot due taking them as unused.
      
      To solve this problem, also attempt to resolve the pending regulators
      input supplies before disabling the unused regulators.
      Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      3827b64d
    • Leonard Crestez's avatar
      regulator: Fix regulator_summary for deviceless consumers · e42a46b6
      Leonard Crestez authored
      It is allowed to call regulator_get with a NULL dev argument
      (_regulator_get explicitly checks for it) but this causes an error later
      when printing /sys/kernel/debug/regulator_summary.
      
      Fix this by explicitly handling "deviceless" consumers in the debugfs code.
      Signed-off-by: default avatarLeonard Crestez <leonard.crestez@nxp.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      e42a46b6
  3. 13 Feb, 2017 2 commits
  4. 08 Feb, 2017 1 commit
    • Dmitry Torokhov's avatar
      regulator: core: simplify _regulator_get() · a4d7641f
      Dmitry Torokhov authored
      The code in _regulator_get() got a bit confusing over time, with control
      flow jumping to a label from couple of places. Let's untangle it a bit by
      doing the following:
      
      1. Make handling of missing supplies and substituting them with dummy
      regulators more explicit:
      
      - check if we not have full constraints and refuse considering dummy
        regulators with appropriate message;
      
      - use "switch (get_type)" to handle different types of request explicitly
        as well. "Normal" requests will get dummies, exclusive will not and
        will notify user about that; optional will fail silently.
      
      2. Stop jumping to a label in the middle of the function but instead have
      proper conditional flow. I believe jumps should be reserved for error
      handling, breaking from inner loop, or restarting a loop, but not for
      implementing normal conditional flow.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      a4d7641f
  5. 05 Feb, 2017 1 commit
  6. 04 Feb, 2017 5 commits
  7. 03 Feb, 2017 1 commit
  8. 31 Jan, 2017 5 commits
    • Bhumika Goyal's avatar
      regulator: ad5398: constify regulator_ops structure · bb24b9df
      Bhumika Goyal authored
      Declare regulator_ops structure as const as it is only stored in the ops
      field of a regulator_desc structure. This field is of type const, so
      regulator_ops structures having this property can be made const too.
      
      File size before: drivers/regulator/ad5398.o
         text	   data	    bss	    dec	    hex	filename
         1707	    672	      0	   2379	    94b	drivers/regulator/ad5398.o
      
      File size after: drivers/regulator/ad5398.o
         text	   data	    bss	    dec	    hex	filename
         1963	    416	      0	   2379	    94b	drivers/regulator/ad5398.o
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      bb24b9df
    • Bhumika Goyal's avatar
      regulator: act8945a-regulator: constify regulator_ops structure · 1ed1da3c
      Bhumika Goyal authored
      Declare regulator_ops structure as const as it is only stored in the ops
      field of a regulator_desc structure. This field is of type const, so
      regulator_ops structures having this property can be made const too.
      
      File size before: drivers/regulator/act8945a-regulator.o
         text	   data	    bss	    dec	    hex	filename
         3680	    464	      0	   4144	   1030 regulator/act8945a-regulator.o
      
      File size after: drivers/regulator/act8945a-regulator.o
         text	   data	    bss	    dec	    hex	filename
         3936	    192	      0	   4128	   1020 regulator/act8945a-regulator.o
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      1ed1da3c
    • Bhumika Goyal's avatar
      regulator: aat2870-regulator: constify regulator_ops structure · 2abf29af
      Bhumika Goyal authored
      Declare regulator_ops structure as const as it is only stored in the ops
      field of a regulator_desc structure. This field is of type const, so
      regulator_ops structures having this property can be made const too.
      
      File size before: drivers/regulator/aat2870-regulator.o
         text	   data	    bss	    dec	    hex	filename
          938	   1424	      0	   2362	    93a regulator/aat2870-regulator.o
      
      File size after: drivers/regulator/aat2870-regulator.o
         text	   data	    bss	    dec	    hex	filename
         1194	   1168	      0	   2362	    93a regulator/aat2870-regulator.o
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      2abf29af
    • Bhumika Goyal's avatar
      regulator: 88pm8607: constify regulator_ops structure · 32cb5d30
      Bhumika Goyal authored
      Declare regulator_ops structures as const as it is only stored in the
      ops field of a regulator_desc structure. This field is of type const, so
      regulator_ops structures having this property can be made const too.
      
      File size before: drivers/regulator/88pm8607.o
         text	   data	    bss	    dec	    hex	filename
         3466	   5488	      0	   8954	   22fa	drivers/regulator/88pm8607.o
      
      File size after: drivers/regulator/88pm8607.o
         text	   data	    bss	    dec	    hex	filename
         3978	   4976	      0	   8954	   22fa	drivers/regulator/88pm8607.o
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      32cb5d30
    • Bhumika Goyal's avatar
      regulator: 88pm800: constify regulator_ops structures · b9f19321
      Bhumika Goyal authored
      Declare regulator_ops structures as const as they are only stored in the
      ops field of a regulator_desc structure. This field is of type const, so
      regulator_ops structures having this property can be made const too.
      
      File size before: drivers/regulator/88pm800.o
         text	   data	    bss	    dec	    hex	filename
         1001	   6288	      0	   7289	   1c79	drivers/regulator/88pm800.o
      
      File size after: drivers/regulator/88pm800.o
         text	   data	    bss	    dec	    hex	filename
         1513	   5776	      0	   7289	   1c79	drivers/regulator/88pm800.o
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      b9f19321
  9. 25 Jan, 2017 1 commit
    • Mark Rutland's avatar
      regulator: fixed: Revert support for ACPI interface · 1372cef1
      Mark Rutland authored
      This reverts commit 13bed58c (regulator: fixed: add support for ACPI
      interface).
      
      While there does appear to be a practical need to manage regulators on ACPI
      systems, using ad-hoc properties to describe regulators to the kernel presents
      a number of problems (especially should ACPI gain first class support for such
      things), and there are ongoing discussions as to how to manage this.
      
      Until there is a rough consensus, revert commit 13bed58c, which hasn't
      been in a released kernel yet as discussed in [1] and the surrounding thread.
      
      [1] http://lkml.kernel.org/r/20170125184949.x2wkoo7kbaaajkjk@sirena.org.ukSigned-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Liam Girdwood <lgirdwood@gmail.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Lu Baolu <baolu.lu@linux.intel.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Rafael J. Wysocki <rafael@kernel.org>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      1372cef1
  10. 23 Jan, 2017 1 commit
  11. 18 Jan, 2017 1 commit
  12. 12 Dec, 2016 6 commits
  13. 11 Dec, 2016 4 commits
  14. 10 Dec, 2016 5 commits
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 04516981
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes the following issues:
      
         - Fix pointer size when caam is used with AArch64 boot loader on
           AArch32 kernel.
      
         - Fix ahash state corruption in marvell driver.
      
         - Fix buggy algif_aed tag handling.
      
         - Prevent mcryptd from being used with incompatible algorithms which
           can cause crashes"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: algif_aead - fix uninitialized variable warning
        crypto: mcryptd - Check mcryptd algorithm compatibility
        crypto: algif_aead - fix AEAD tag memory handling
        crypto: caam - fix pointer size for AArch64 boot loader, AArch32 kernel
        crypto: marvell - Don't corrupt state of an STD req for re-stepped ahash
        crypto: marvell - Don't copy hash operation twice into the SRAM
      04516981
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · cd662895
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Limit the number of can filters to avoid > MAX_ORDER allocations.
          Fix from Marc Kleine-Budde.
      
       2) Limit GSO max size in netvsc driver to avoid problems with NVGRE
          configurations. From Stephen Hemminger.
      
       3) Return proper error when memory allocation fails in
          ser_gigaset_init(), from Dan Carpenter.
      
       4) Missing linkage undo in error paths of ipvlan_link_new(), from Gao
          Feng.
      
       5) Missing necessayr SET_NETDEV_DEV in lantiq and cpmac drivers, from
          Florian Fainelli.
      
       6) Handle probe deferral properly in smsc911x driver.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net: mlx5: Fix Kconfig help text
        net: smsc911x: back out silently on probe deferrals
        ibmveth: set correct gso_size and gso_type
        net: ethernet: cpmac: Call SET_NETDEV_DEV()
        net: ethernet: lantiq_etop: Call SET_NETDEV_DEV()
        vhost-vsock: fix orphan connection reset
        cxgb4/cxgb4vf: Assign netdev->dev_port with port ID
        driver: ipvlan: Unlink the upper dev when ipvlan_link_new failed
        ser_gigaset: return -ENOMEM on error instead of success
        NET: usb: cdc_mbim: add quirk for supporting Telit LE922A
        can: peak: fix bad memory access and free sequence
        phy: Don't increment MDIO bus refcount unless it's a different owner
        netvsc: reduce maximum GSO size
        drivers: net: cpsw-phy-sel: Clear RGMII_IDMODE on "rgmii" links
        can: raw: raw_setsockopt: limit number of can_filter that can be set
      cd662895
    • Christopher Covington's avatar
      net: mlx5: Fix Kconfig help text · d33695fb
      Christopher Covington authored
      Since the following commit, Infiniband and Ethernet have not been
      mutually exclusive.
      
      Fixes: 4aa17b28 mlx5: Enable mutual support for IB and Ethernet
      Signed-off-by: default avatarChristopher Covington <cov@codeaurora.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d33695fb
    • Linus Walleij's avatar
      net: smsc911x: back out silently on probe deferrals · ab4e4c07
      Linus Walleij authored
      When trying to get a regulator we may get deferred and we see
      this noise:
      
      smsc911x 1b800000.ethernet-ebi2 (unnamed net_device) (uninitialized):
         couldn't get regulators -517
      
      Then the driver continues anyway. Which means that the regulator
      may not be properly retrieved and reference counted, and may be
      switched off in case noone else is using it.
      
      Fix this by returning silently on deferred probe and let the
      system work it out.
      
      Cc: Jeremy Linton <jeremy.linton@arm.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ab4e4c07
    • Thomas Falcon's avatar
      ibmveth: set correct gso_size and gso_type · 7b596738
      Thomas Falcon authored
      This patch is based on an earlier one submitted
      by Jon Maxwell with the following commit message:
      
      "We recently encountered a bug where a few customers using ibmveth on the
      same LPAR hit an issue where a TCP session hung when large receive was
      enabled. Closer analysis revealed that the session was stuck because the
      one side was advertising a zero window repeatedly.
      
      We narrowed this down to the fact the ibmveth driver did not set gso_size
      which is translated by TCP into the MSS later up the stack. The MSS is
      used to calculate the TCP window size and as that was abnormally large,
      it was calculating a zero window, even although the sockets receive buffer
      was completely empty."
      
      We rely on the Virtual I/O Server partition in a pseries
      environment to provide the MSS through the TCP header checksum
      field. The stipulation is that users should not disable checksum
      offloading if rx packet aggregation is enabled through VIOS.
      
      Some firmware offerings provide the MSS in the RX buffer.
      This is signalled by a bit in the RX queue descriptor.
      Reviewed-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Reviewed-by: default avatarPradeep Satyanarayana <pradeeps@linux.vnet.ibm.com>
      Reviewed-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Reviewed-by: default avatarJonathan Maxwell <jmaxwell37@gmail.com>
      Reviewed-by: default avatarDavid Dai <zdai@us.ibm.com>
      Signed-off-by: default avatarThomas Falcon <tlfalcon@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7b596738