1. 26 10月, 2015 1 次提交
  2. 11 11月, 2014 1 次提交
  3. 26 9月, 2014 1 次提交
    • M
      mfd: Add ACPI support · 6ab34301
      Mika Westerberg 提交于
      If an MFD device is backed by ACPI namespace, we should allow subdevice
      drivers to access their corresponding ACPI companion devices through normal
      means (e.g using ACPI_COMPANION()).
      
      This patch adds such support to the MFD core. If the MFD parent device
      does not specify any ACPI _HID/_CID for the child device, the child
      device will share the parent ACPI companion device. Otherwise the child
      device will be assigned with the corresponding ACPI companion, if found
      in the namespace below the parent.
      Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Reviewed-by: NDarren Hart <dvhart@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      6ab34301
  4. 24 5月, 2014 1 次提交
  5. 11 11月, 2013 1 次提交
    • G
      mfd: Stop setting refcounting pointers in original mfd_cell arrays · 03e361b2
      Geert Uytterhoeven 提交于
      Commit 1e29af62 ("mfd: Add refcounting
      support to mfd_cells") had to drop the "const" keyword on the "cell"
      parameter of mfd_add_devices(), as it added the refcounting pointers
      to the objects of the passed mfd_cell array itself.
      
      However, the mfd core code operates on copies of the mfd_cell objects,
      so there's no need to modify the originally passed objects.
      
      Hence, move the setting of the refcounting pointers from mfd_add_devices()
      to mfd_platform_add_cell(), where the copy of the mfd_cell objects is made.
      mfd_clone_cell() can just pass (a copy of) the original usage_count
      pointer.
      
      This allows to make the "cell" parameter of mfd_add_devices() "const"
      again, and avoids future race conditions when registering multiple
      instances of the same device in parallel.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      03e361b2
  6. 23 10月, 2013 1 次提交
  7. 16 9月, 2012 1 次提交
    • M
      mfd: core: Push irqdomain mapping out into devices · 0848c94f
      Mark Brown 提交于
      Currently the MFD core supports remapping MFD cell interrupts using an
      irqdomain but only if the MFD is being instantiated using device tree
      and only if the device tree bindings use the pattern of registering IPs
      in the device tree with compatible properties.  This will be actively
      harmful for drivers which support non-DT platforms and use this pattern
      for their DT bindings as it will mean that the core will silently change
      remapping behaviour and it is also limiting for drivers which don't do
      DT with this particular pattern.  There is also a potential fragility if
      there are interrupts not associated with MFD cells and all the cells are
      omitted from the device tree for some reason.
      
      Instead change the code to take an IRQ domain as an optional argument,
      allowing drivers to take the decision about the parent domain for their
      interrupts.  The one current user of this feature is ab8500-core, it has
      the domain lookup pushed out into the driver.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      0848c94f
  8. 14 9月, 2012 1 次提交
    • M
      mfd: core: Push irqdomain mapping out into devices · 55692af5
      Mark Brown 提交于
      Currently the MFD core supports remapping MFD cell interrupts using an
      irqdomain but only if the MFD is being instantiated using device tree
      and only if the device tree bindings use the pattern of registering IPs
      in the device tree with compatible properties.  This will be actively
      harmful for drivers which support non-DT platforms and use this pattern
      for their DT bindings as it will mean that the core will silently change
      remapping behaviour and it is also limiting for drivers which don't do
      DT with this particular pattern.  There is also a potential fragility if
      there are interrupts not associated with MFD cells and all the cells are
      omitted from the device tree for some reason.
      
      Instead change the code to take an IRQ domain as an optional argument,
      allowing drivers to take the decision about the parent domain for their
      interrupts.  The one current user of this feature is ab8500-core, it has
      the domain lookup pushed out into the driver.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      55692af5
  9. 09 7月, 2012 2 次提交
    • L
      mfd: Attaching a node to new 'struct mfd_cell' of_compatible variable · 2968ab13
      Lee Jones 提交于
      Applying a succinct description to the of_compatible variable recently
      added to the mfd_cell struct. Also link to the documentation page where
      more information can be found about compatible properties.
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      2968ab13
    • L
      mfd: Make MFD core code Device Tree and IRQ domain aware · c94bb233
      Lee Jones 提交于
      During Device Tree enablement of the ab8500 and db8500-prcmu drivers,
      a decision was made to omit registration through the MFD API and use
      Device Tree directly. However, because MFD devices have a different
      address space and the ab8500 and db8500 both use I2C to communicate,
      this causes issues with address translation during execution of
      of_platform_populate(). So the solution is to make the MFD core aware
      of Device Tree and have it assign the correct node pointers instead.
      
      To make this work the MFD core also needs to be awere of IRQ domains,
      as Device Tree insists on IRQ domain compatibility. So, instead of
      providing an irq-base via platform code, in the DT case we simply
      look up the IRQ domain and map to the correct virtual IRQ.
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      c94bb233
  10. 27 5月, 2011 2 次提交
  11. 12 4月, 2011 1 次提交
  12. 27 3月, 2011 1 次提交
    • A
      mfd: Add mfd_clone_cell(), convert cs5535-mfd/olpc-xo1 to it · fa1df691
      Andres Salomon 提交于
      Replace mfd_shared_platform_driver_register with mfd_clone_cell.  The
      former was called by an mfd client, and registered both a platform driver
      and device.  The latter is called by an mfd driver, and registers only a
      platform device.
      
      The downside of this is that mfd drivers need to be modified whenever
      new clients are added that share a cell; the upside is that it fits
      Linux's driver model better.  It's also simpler.
      
      This also converts cs5535-mfd/olpc-xo1 from the old API.  cs5535-mfd
      now creates the olpc-xo1-{acpi,pms} devices, while olpc-xo1 binds to
      them via platform drivers.
      Signed-off-by: NAndres Salomon <dilinger@queued.net>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      fa1df691
  13. 23 3月, 2011 8 次提交
  14. 14 1月, 2011 1 次提交
  15. 02 11月, 2010 1 次提交
  16. 29 10月, 2010 1 次提交
  17. 17 9月, 2009 1 次提交
    • M
      mfd: Allow multiple MFD cells with the same name · 3bed6e41
      Mark Brown 提交于
      Provide basic support for MFDs having multiple cells of a given
      type with different IDs by adding an id to the mfd_cell structure
      and then adding that to the id passed in to mfd_add_devices().
      
      As it stands this approach requires that MFDs using this feature
      deal with ensuring that there aren't any ID collisions resulting
      from multiple MFDs of the same type being instantiated. This needs
      to happen with the existing code too, but with this approach there
      is a knock on effect on the IDs for non-duplicated devices.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      3bed6e41
  18. 29 7月, 2008 3 次提交
  19. 07 7月, 2008 1 次提交