1. 18 Feb, 2019 4 commits
  2. 07 Feb, 2019 10 commits
  3. 01 Feb, 2019 26 commits
    • Jarkko Nikula's avatar
      mfd: Kconfig: Fix I2C_DESIGNWARE_PLATFORM dependencies · 09fdc985
      Jarkko Nikula authored
      INTEL_SOC_PMIC, INTEL_SOC_PMIC_CHTWC and MFD_TPS68470 select the
      I2C_DESIGNWARE_PLATFORM without its dependencies making it possible to see
      warning and build error like below:
      
      WARNING: unmet direct dependencies detected for I2C_DESIGNWARE_PLATFORM
        Depends on [n]: I2C [=y] && HAS_IOMEM [=y] && (ACPI [=y] && COMMON_CLK [=n] || !ACPI [=y])
        Selected by [y]:
        - MFD_TPS68470 [=y] && HAS_IOMEM [=y] && ACPI [=y] && I2C [=y]=y
      
      /usr/bin/ld: drivers/i2c/busses/i2c-designware-platdrv.o: in function `dw_i2c_plat_resume':
      i2c-designware-platdrv.c:(.text+0x62): undefined reference to `i2c_dw_prepare_clk'
      /usr/bin/ld: drivers/i2c/busses/i2c-designware-platdrv.o: in function `dw_i2c_plat_suspend':
      i2c-designware-platdrv.c:(.text+0x9a): undefined reference to `i2c_dw_prepare_clk'
      /usr/bin/ld: drivers/i2c/busses/i2c-designware-platdrv.o: in function `dw_i2c_plat_probe':
      i2c-designware-platdrv.c:(.text+0x41c): undefined reference to `i2c_dw_prepare_clk'
      /usr/bin/ld: i2c-designware-platdrv.c:(.text+0x438): undefined reference to `i2c_dw_read_comp_param'
      /usr/bin/ld: i2c-designware-platdrv.c:(.text+0x545): undefined reference to `i2c_dw_probe'
      /usr/bin/ld: i2c-designware-platdrv.c:(.text+0x727): undefined reference to `i2c_dw_probe_slave'
      
      Fix this by making above options to depend on I2C_DESIGNWARE_PLATFORM
      being built-in. I2C_DESIGNWARE_PLATFORM is a visible symbol with
      dependencies so in general the select should be avoided.
      
      Fixes: acebcff9 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
      Fixes: de85d79f ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
      Fixes: 9bbf6a15 ("mfd: Add support for TPS68470 device")
      Cc: Stable <stable@vger.kernel.org> # v4.14+
      Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      09fdc985
    • Christian Hohnstaedt's avatar
      mfd: tps65218.c: Add input voltage options · d57f7287
      Christian Hohnstaedt authored
      These options apply to all regulators in this chip.
      
      ti,strict-supply-voltage-supervision:
        Set STRICT flag in CONFIG1
      ti,under-voltage-limit-microvolt:
        Select 2.75, 2.95, 3.25 or 3.35 V UVLO in CONFIG1
      ti,under-voltage-hyst-microvolt:
        Select 200mV or 400mV UVLOHYS in CONFIG2
      Signed-off-by: default avatarChristian Hohnstaedt <Christian.Hohnstaedt@wago.com>
      Tested-by: default avatarKeerthy <j-keerthy@ti.com>
      Reviewed-by: default avatarKeerthy <j-keerthy@ti.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      d57f7287
    • Paul Gortmaker's avatar
      mfd: wm8400-core: Make it explicitly non-modular · b2b65875
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_WM8400
      drivers/mfd/Kconfig:    bool "Wolfson Microelectronics WM8400"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      A trivial function rename from wm8400_module_init to the name
      wm8400_driver_init is also done to reduce possible confusion.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      b2b65875
    • Paul Gortmaker's avatar
      mfd: wm8350-core: Drop unused module infrastructure from non-modular code · 0db88688
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_WM8350
      drivers/mfd/Kconfig:    bool
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      We replace module.h with init.h and export.h ; the latter since the
      file does export some symbols.
      
      Previous demodularizaion work has made wm8350_device_exit() no longer
      used, so it is also removed from the 8350 core code.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      0db88688
    • Paul Gortmaker's avatar
      mfd: wm8350-i2c: Make it explicitly non-modular · fc643066
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_WM8350_I2C
      drivers/mfd/Kconfig:    bool "Wolfson Microelectronics WM8350 with I2C"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We don't replace module.h with init.h since the file already has that.
      But we do delete an unused moduleparam.h
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      fc643066
    • Paul Gortmaker's avatar
      mfd: wm831x-core: Drop unused module infrastructure from non-modular code · efb5a790
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_WM831X
      drivers/mfd/Kconfig:    bool
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Previous demodularizaion work has made wm831x_device_exit() no longer
      used, so it is also removed from the 831x core code.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      efb5a790
    • Paul Gortmaker's avatar
      mfd: wm831x-i2c: Make it explicitly non-modular · af5db808
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_WM831X_I2C
      drivers/mfd/Kconfig:    bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      af5db808
    • Paul Gortmaker's avatar
      mfd: wm831x-spi: Make it explicitly non-modular · e85c5f0a
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_WM831X_SPI
      drivers/mfd/Kconfig:    bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      e85c5f0a
    • Paul Gortmaker's avatar
      mfd: tps80031: Make it explicitly non-modular · 6b5e1877
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_TPS80031
      drivers/mfd/Kconfig:    bool "TI TPS80031/TPS80032 Power Management chips"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We don't replace module.h with init.h since the file already has that.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      6b5e1877
    • Paul Gortmaker's avatar
      mfd: tps65910: Make it explicitly non-modular · a8799def
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_TPS65910
      drivers/mfd/Kconfig-    bool "TI TPS65910 Power Management chip"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We don't replace module.h with init.h since the file already has that.
      We do delete an unused moduleparam.h include though.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      a8799def
    • Paul Gortmaker's avatar
      mfd: tps65090: Make it explicitly non-modular · 26fce5e0
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_TPS65090
      drivers/mfd/Kconfig:    bool "TI TPS65090 Power Management chips"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      26fce5e0
    • Paul Gortmaker's avatar
      mfd: syscon: Make it explicitly non-modular · 1345da73
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_SYSCON
      drivers/mfd/Kconfig:    bool "System Controller Register R/W Based on Regmap"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      1345da73
    • Paul Gortmaker's avatar
      mfd: sta2x11: Drop unused MODULE_ tags from non-modular code · cf090914
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_STA2X11
      drivers/mfd/Kconfig:    bool "STMicroelectronics STA2X11"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We replace module.h with init.h and export.h ; the latter since the
      file does export some symbols.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      Acked-by: default avatarDavide Ciminaghi <ciminaghi@gnudd.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      cf090914
    • Paul Gortmaker's avatar
      mfd: rc5t583: Make it explicitly non-modular · cbd23097
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_RC5T583
      drivers/mfd/Kconfig:    bool "Ricoh RC5T583 Power Management system device"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      cbd23097
    • Paul Gortmaker's avatar
      mfd: max8925-core: Drop unused MODULE_ tags from non-modular code · b51bf15c
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_MAX8925
      drivers/mfd/Kconfig:    bool "Maxim Semiconductor MAX8925 PMIC Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      b51bf15c
    • Paul Gortmaker's avatar
      mfd: htc-i2cpld: Make it explicitly non-modular · 11165223
      Paul Gortmaker authored
      The Kconfig for this option is currently:
      
      config HTC_I2CPLD
              bool "HTC I2C PLD chip support"
      
      ...meaning that it currently is not being built as a module by anyone.
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      11165223
    • Paul Gortmaker's avatar
      mfd: db8500-prcmu: Drop unused MODULE_ tags from non-modular code · adef9cf5
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_DB8500_PRCMU
      drivers/mfd/Kconfig:    bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      We replace module.h with init.h and export.h ; the latter since the
      file does export some symbols.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      adef9cf5
    • Paul Gortmaker's avatar
      mfd: as3711: Make it explicitly non-modular · 1e89d907
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_AS3711
      drivers/mfd/Kconfig:    bool "AMS AS3711"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We don't replace module.h with init.h since the file already has that.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      1e89d907
    • Paul Gortmaker's avatar
      mfd: adp5520: Make it explicitly non-modular · 6b09274b
      Paul Gortmaker authored
      The Makefile/Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Makefile:obj-$(CONFIG_PMIC_ADP5520) += adp5520.o
      drivers/mfd/Kconfig:config PMIC_ADP5520
      drivers/mfd/Kconfig:    bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_i2c_driver() uses the same init level priority as
      builtin_i2c_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      6b09274b
    • Paul Gortmaker's avatar
      mfd: aat2870-core: Make it explicitly non-modular · 17f808a7
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/mfd/Kconfig:config MFD_AAT2870_CORE
      drivers/mfd/Kconfig:    bool "AnalogicTech AAT2870"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarJin Park <jinyoungp@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      17f808a7
    • Lee Jones's avatar
      Merge branches 'ib-mfd-iio-input-5.1', 'ib-mfd-input-watchdog-5.1' and... · fa56a62d
      Lee Jones authored
      Merge branches 'ib-mfd-iio-input-5.1', 'ib-mfd-input-watchdog-5.1' and 'ib-mfd-platform-5.1' into ibs-for-mfd-merged
      fa56a62d
    • Enric Balletbo i Serra's avatar
      platform/chrome: cros_ec_lightbar: Instantiate only if the EC has a lightbar · fd68bd0f
      Enric Balletbo i Serra authored
      Due to the way attribute groups visibility work, the function
      cros_ec_lightbar_attrs_are_visible is called multiple times, once per
      attribute, and each of these calls makes an EC transaction. For what is
      worth the EC log reports multiple errors on boot when the lightbar is
      not available. Instead, check if the EC has a lightbar in the probe
      function and only instantiate the device.
      
      Ideally we should have instantiate the driver only if the
      EC_FEATURE_LIGHTBAR is defined, but that's not possible because that flag
      is not in the very first Pixel Chromebook (Link), only on Samus. So, the
      driver is instantiated by his parent always.
      
      This patch changes a bit the actual behaviour. Before the patch if an EC
      doesn't have a lightbar an empty lightbar folder is created in
      /sys/class/chromeos/<ec-device-name>, after the patch the empty folder is
      not created, so, the folder is only created if the lightbar exists.
      Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      fd68bd0f
    • Enric Balletbo i Serra's avatar
      mfd / platform: cros_ec_vbc: Instantiate only if the EC has a VBC NVRAM · 0545625b
      Enric Balletbo i Serra authored
      The cros-ec-vbc driver is DT-only and there is a DT property that
      indicates if the EC has the VCB NVRAM, in such case instantiate the
      driver but don't instantiate on the other cases.
      
      To do this move the check code to its parent instead of play with the
      attribute group visibility. This changes a bit the actual behaviour.
      Before the patch if an EC doesn't have a VBC NVRAM an empty vbc folder
      is created in /sys/class/chromeos/<ec-device-name>, after the patch the
      empty folder is not created, so, the folder is only created if the vbc
      is set.
      Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      0545625b
    • Enric Balletbo i Serra's avatar
      mfd / platform: cros_ec: Move device sysfs attributes to its own driver · 6fd7f2bb
      Enric Balletbo i Serra authored
      The entire way how cros debugfs attibutes are created is broken.
      cros_ec_sysfs should be its own driver and its attributes should be
      associated with the sysfs driver not the mfd driver.
      
      The patch also adds the sysfs documentation.
      Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      6fd7f2bb
    • Enric Balletbo i Serra's avatar
      mfd / platform: cros_ec: Move debugfs attributes to its own driver · 6fce0a2c
      Enric Balletbo i Serra authored
      The entire way how cros debugfs attibutes are created is broken.
      cros_ec_debugfs should be its own driver and its attributes should be
      associated with a debugfs driver not the mfd driver.
      Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      6fce0a2c
    • Enric Balletbo i Serra's avatar
      mfd / platform: cros_ec: Move vbc attributes to its own driver · acb9900f
      Enric Balletbo i Serra authored
      The entire way how cros sysfs attibutes are created is broken.
      cros_ec_vbc should be its own driver and its attributes should be
      associated with a vbc driver not the mfd driver. In order to retain
      the path, the vbc attributes are attached to the cros_class.
      
      The patch also adds the sysfs documentation.
      Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      acb9900f