1. 11 11月, 2014 1 次提交
    • O
      mfd: Add support for Diolan DLN-2 devices · 338a1281
      Octavian Purdila 提交于
      This patch implements the USB part of the Diolan USB-I2C/SPI/GPIO
      Master Adapter DLN-2. Details about the device can be found here:
      
      https://www.diolan.com/i2c/i2c_interface.html.
      
      Information about the USB protocol can be found in the Programmer's
      Reference Manual [1], see section 1.7.
      
      Because the hardware has a single transmit endpoint and a single
      receive endpoint the communication between the various DLN2 drivers
      and the hardware will be muxed/demuxed by this driver.
      
      Each DLN2 module will be identified by the handle field within the DLN2
      message header. If a DLN2 module issues multiple commands in parallel
      they will be identified by the echo counter field in the message header.
      
      The DLN2 modules can use the dln2_transfer() function to issue a
      command and wait for its response. They can also register a callback
      that is going to be called when a specific event id is generated by
      the device (e.g. GPIO interrupts). The device uses handle 0 for
      sending events.
      
      [1] https://www.diolan.com/downloads/dln-api-manual.pdfSigned-off-by: NOctavian Purdila <octavian.purdila@intel.com>
      Reviewed-by: NJohan Hovold <johan@kernel.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      338a1281
  2. 26 9月, 2014 5 次提交
  3. 24 9月, 2014 1 次提交
  4. 25 7月, 2014 1 次提交
  5. 21 7月, 2014 1 次提交
  6. 09 7月, 2014 4 次提交
  7. 26 6月, 2014 3 次提交
    • A
      mfd: davinci: Voicecodec needs regmap_mmio · 9e888487
      Arnd Bergmann 提交于
      Without REGMAP_MMIO, building that driver results in a link error:
      
      drivers/built-in.o: In function `davinci_vc_probe':
      :(.init.text+0x3c1c): undefined reference to `devm_regmap_init_mmio_clk'
      
      This adds a Kconfig 'select' statement as the usual way to ensure
      that REGMAP_MMIO is enabled.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      9e888487
    • A
      mfd: STw481x: Allow modular build · f41716dc
      Arnd Bergmann 提交于
      This driver depends on I2C, which may be a loadable module.
      While you'd probably want both to be built-in in practice,
      allowing a modular build avoids possible randconfig link
      errors.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      f41716dc
    • A
      mfd: UCB1x00: Enable modular build · 1c93c725
      Arnd Bergmann 提交于
      The UCB1200 / UCB1300 driver uses the MCP_SA11X0 driver, which
      can be a loadable module, but this results in a link error
      when UCB1200 itself is built-in:
      
      drivers/built-in.o: In function `ucb1x00_io_set_dir':
      :(.text+0x4a364): undefined reference to `mcp_reg_write'
      drivers/built-in.o: In function `ucb1x00_io_write':
      :(.text+0x4a3dc): undefined reference to `mcp_reg_write'
      drivers/built-in.o: In function `ucb1x00_io_read':
      :(.text+0x4a400): undefined reference to `mcp_reg_read'
      drivers/built-in.o: In function `ucb1x00_adc_enable':
      :(.text+0x4a460): undefined reference to `mcp_enable'
      ...
      
      This can easily be resolved by making CONFIG_MCP_UCB1200 itself
      a tristate option, since that causes Kconfig to track the
      dependency correctly.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      1c93c725
  8. 17 6月, 2014 2 次提交
  9. 03 6月, 2014 3 次提交
  10. 27 5月, 2014 1 次提交
    • A
      ARM: vexpress: refine dependencies for new code · b33cdd28
      Arnd Bergmann 提交于
      The versatile express changes for 3.16 introduced a number of
      build regressions for randconfig kernels by not tracking dependencies
      between the components right.
      
      This patch tries to rectify that:
      
      * the mach-vexpress code cannot link without the syscfg driver,
        which in turn needs MFD_VEXPRESS_SYSREG
      * various drivers call devm_regmap_init_vexpress_config(), which
        has to be exported so it can be used by loadable modules
      * the configuration bus uses OF DT helper functions that are not
        available to platforms disable CONFIG_OF
      * The sysreg driver exports GPIOs through gpiolib, which can
        be disabled on some platforms.
      * The clocksource code cannot be built on platforms that don't
        use modern timekeeping but rely on gettimeoffset.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      b33cdd28
  11. 16 5月, 2014 1 次提交
    • P
      mfd: vexpress: Define the device as MFD cells · 974cc7b9
      Pawel Moll 提交于
      This patch - finally, after over 6 months! :-( - addresses
      Samuel's request to split the vexpress-sysreg driver into
      smaller portions and define the device in a form of MFD
      cells:
      
      * LEDs code has been completely removed and replaced with
        "gpio-leds" nodes in the tree (referencing dedicated
        GPIO subnodes in sysreg - bindings documentation updated);
        this also better fits the reality as some variants of the
        motherboard don't have all the LEDs populated
      
      * syscfg bridge code has been extracted into a separate
        driver (placed in drivers/misc for no better place)
      
      * all the ID & MISC registers are defined as sysconf
        making them available for other drivers should they need
        to use them (and also to the user via /sys/kernel/debug/regmap
        which can be helpful in platform debugging)
      Signed-off-by: NPawel Moll <pawel.moll@arm.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      974cc7b9
  12. 09 5月, 2014 1 次提交
  13. 23 4月, 2014 1 次提交
    • K
      mfd: max77836: Add MAX77836 support to max14577 driver · aee2a57c
      Krzysztof Kozlowski 提交于
      Add Maxim 77836 support to max14577 driver. The chipsets have same MUIC
      component so the extcon, charger and regulators are almost the same. The
      MAX77836 however has also PMIC and Fuel Gauge.
      
      The MAX77836 uses three I2C slave addresses and has additional interrupts
      (related to PMIC and Fuel Gauge). It has also Interrupt Source register,
      just like MAX77686 and MAX77693.
      
      The MAX77836 PMIC's TOPSYS and INTSRC interrupts are reported in the
      PMIC block. The PMIC block has different I2C slave address and uses own
      regmap so another regmap_irq_chip is needed.
      
      Since we have two regmap_irq_chip, use shared interrupts on MAX77836.
      
      This patch adds additional defines and functions to the max14577 MFD core
      driver so the driver will handle both chipsets. Also this patch replaces
      "0x1 << N" with BIT(N) in defines for register masks.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      aee2a57c
  14. 19 3月, 2014 14 次提交
  15. 18 3月, 2014 1 次提交