Merge tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 16 Nov 2013 00:37:40 +0000 (16:37 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 16 Nov 2013 00:37:40 +0000 (16:37 -0800)
Pull MFD updates from Samuel Ortiz:
 "For the 3.13 merge window we have a couple of new drivers for the AMS
  AS3722 PMIC and for STMicroelectronics STw481x PMIC.

  Although this is a smaller update than usual, we also have:

   - Device tree support for the max77693 driver

   - linux/of.h inclusion for all DT compatible MFD drivers, to avoid
     build breakage in the future

   - Support for Intel Wildcat Point-LP PCH through the lpc_ich driver

   - A small arizona update for new wm5110 DSP registers and a few fixes

   - A small palmas update as well, including an of_device table
     addition and a few minor fixes

   - Two small mfd-core changes, one including a memory leak fix for
     when mfd_add_device() fails

   - Our usual round of minor cleanups and janitorial fixes"

* tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (63 commits)
  Documentation: mfd: Update s2mps11.txt
  mfd: pm8921: Potential NULL dereference in pm8921_remove()
  mfd: Fix memory leak in mfd_add_devices()
  mfd: Stop setting refcounting pointers in original mfd_cell arrays
  mfd: wm5110: Enable micd clamp functionality
  mfd: lpc_ich: Add Device IDs for Intel Wildcat Point-LP PCH
  mfd: max77693: Fix up bug of wrong interrupt number
  mfd: as3722: Don't export the regmap config
  mfd: twl6040: Remove obsolete cleanup for i2c clientdata
  mfd: tps65910: Remove warning during dt node parsing
  mfd: lpc_sch: Ignore resource conflicts when adding mfd cells
  mfd: ti_am335x_tscadc: Avoid possible deadlock of reg_lock
  mfd: syscon: Return -ENOSYS if CONFIG_MFD_SYSCON is not enabled
  mfd: Add support for ams AS3722 PMIC
  mfd: max77693: Include linux/of.h header
  mfd: tc3589x: Detect the precise version
  mfd: omap-usb: prepare/unprepare clock while enable/disable
  mfd: max77686: Include linux/of.h header
  mfd: max8907: Include linux/of.h header
  mfd: max8997: Include linux/of.h header
  ...

1  2 
drivers/mfd/arizona-core.c
drivers/mfd/mfd-core.c
include/linux/mfd/core.h
include/linux/mfd/ti_am335x_tscadc.h

Simple merge
index adc8ea36e7c483e5f9ee05e1587d3fd1b6029719,968775da638a5ded051596623b9736081bd8db52..2676492447378e989b019d05e223b622afb2c79c
@@@ -120,12 -114,12 +122,12 @@@ static int mfd_add_device(struct devic
                ret = platform_device_add_data(pdev,
                                        cell->platform_data, cell->pdata_size);
                if (ret)
 -                      goto fail_res;
 +                      goto fail_alias;
        }
  
-       ret = mfd_platform_add_cell(pdev, cell);
+       ret = mfd_platform_add_cell(pdev, cell, usage_count);
        if (ret)
 -              goto fail_res;
 +              goto fail_alias;
  
        for (r = 0; r < cell->num_resources; r++) {
                res[r].name = cell->resources[r].name;
Simple merge
index 08cce7f96ab9365359c30a4726d910022f571be5,7b68a061cd60f8df9bf64441576f304870bf660f..d498d98f0c2cbfd3c9076aa439433a23caa80899
  #define ADC_CLK                       3000000
  #define TOTAL_STEPS           16
  #define TOTAL_CHANNELS                8
 +#define FIFO1_THRESHOLD               19
  
  /*
- * ADC runs at 3MHz, and it takes
- * 15 cycles to latch one data output.
- * Hence the idle time for ADC to
- * process one sample data would be
- * around 5 micro seconds.
- */
- #define IDLE_TIMEOUT 5 /* microsec */
+  * time in us for processing a single channel, calculated as follows:
+  *
+  * num cycles = open delay + (sample delay + conv time) * averaging
+  *
+  * num cycles: 152 + (1 + 13) * 16 = 376
+  *
+  * clock frequency: 26MHz / 8 = 3.25MHz
+  * clock period: 1 / 3.25MHz = 308ns
+  *
+  * processing time: 376 * 308ns = 116us
+  */
+ #define IDLE_TIMEOUT 116 /* microsec */
  
  #define TSCADC_CELLS          2