- 14 12月, 2009 2 次提交
-
-
由 Mark Brown 提交于
Rather than open coding individual IRQs in each function which manipulates them store data for IRQs in a table which is then referenced in the users. This is a substantial code shrink and should be a performance win in cases where only a single IRQ goes off at once since instead of reading four of the second level IRQ registers for each interrupt we read only the sub-registers which have had an interrupt flagged. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mark Brown 提交于
In preparation for refactoring - it's over 700 lines of well-isolated code and having it in a file by itself makes things more managable. While we're at it make sure that we clean up the IRQ if we fail after acquiring it on init. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 17 9月, 2009 2 次提交
-
-
由 Mark Brown 提交于
Instead of hand rolling our own variant. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mark Brown 提交于
This driver provides reporting of the status supply voltage rails of the WM835x series of PMICs via the hwmon API. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 20 5月, 2009 1 次提交
-
-
由 Mark Brown 提交于
Due to the way that the WM8350 audio driver handles CODEC_ENA many of the WM8350 audio registers are marked as volatile when they aren't actually so. Allow the audio driver to see a cache of these values for inspection during interrupt context. To do this we need to stop satisfying any bits from volatile registers from cache - there's no real benefit from doing so anyway, we did the read already. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 05 4月, 2009 3 次提交
-
-
由 Mark Brown 提交于
Reverse the order of the tests for loop exit so we use a valid value before we time out. Vanishingly unlikely to happen since we retry for several times the expected conversion time. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Some I2C controllers have high overheads for setting up I2C operations which makes the register cache setup on startup excessively slow since it does a lot of small transactions. Reduce this overhead by doing a bulk read of the entire register bank and filtering out what we don't need later. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
- 13 3月, 2009 1 次提交
-
-
由 Mark Brown 提交于
No software visible difference from revision A. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Cc: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 17 2月, 2009 4 次提交
-
-
由 Mark Brown 提交于
The IRQs might have been left enabled in hardware, generating spurious IRQs before the drivers have registered. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Roel Kluin 提交于
With a postfix decrement tries will reach -1 rather than 0, so the warning will not be issued even upon timeout. Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Check the return value of the device I/O functions when reading the ID registers so we can provide a more useful diagnostic when we're having trouble talking to the device. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Ensure that the interrupt handling is configured before we do platform specific init. This allows the platform specific initialisation to configure things which use interrupts safely. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
- 08 1月, 2009 1 次提交
-
-
由 Mark Brown 提交于
The voltage and current regulators on the WM8350 AudioPlus PMIC can be used in concert to provide a power efficient LED driver. This driver implements support for this within the standard LED class. Platform initialisation code should configure the LED hardware in the init callback provided by the WM8350 core driver. The callback should use wm8350_isink_set_flash(), wm8350_dcdc25_set_mode() and wm8350_dcdc_set_slot() to configure the operating parameters of the regulators for their hardware and then then use wm8350_register_led() to instantiate the LED driver. This driver was originally written by Liam Girdwood, though it has been extensively modified since then. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NRichard Purdie <rpurdie@linux.intel.com>
-
- 04 1月, 2009 10 次提交
-
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
The WM8351 is a WM8350 variant. As well as register default changes the WM8351 has fewer voltage and current regulators than the WM8350. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Some WM8350 variants have fewer DCDCs and ISINKs. Identify these at probe and refuse to use the absent DCDCs when running on these chips. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
The WM8352 is a variant of the WM8350. Aside from the register defaults there are no software visible differences to the WM8350. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Since the WM8350 driver was originally written the semantics for the identification registers of the chip have been clarified, allowing us to do an exact match on all the fields. This avoids mistakenly running on unsupported hardware. Also change to using the datasheet names more consistently for legibility and fix a printk() that should be dev_err(). Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Rather than check for chip revisions in the WM8350 drivers have the core code set flags for relevant differences. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
The auxiliary ADC in the WM8350 is shared between several subdevices so access to it needs to be arbitrated by the core driver. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
No other software changes are required. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Mark Brown 提交于
Hopefully this will make the purpose of these functions a bit clearer, it's not immediately obvious that the lock is a hardware feature. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
- 22 10月, 2008 2 次提交
-
-
由 Mark Brown 提交于
This makes the contents of the cache clearer and fixes incorrect initialisation of the cache for partially volatile registers. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
由 Stephen Rothwell 提交于
October 10th linux-next build (powerpc allyesconfig) failed like this: drivers/mfd/wm8350-core.c:1131: error: __ksymtab_wm8350_create_cache causes a section type conflict Caused by commit 89b4012b ("mfd: Core support for the WM8350 AudioPlus PMIC"). wm8350_create_cache is not used elsewhere, so remove the EXPORT_SYMBOL. Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
- 20 10月, 2008 1 次提交
-
-
由 Mark Brown 提交于
NO_IRQ is only defined on some architectures - the general way to test for an invalid IRQ in the modern kernel is by comparing with zero. Reported-by: NStephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@openedhand.com>
-
- 14 10月, 2008 7 次提交
-
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NSamuel Ortiz <sameo@openedhand.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Mark Brown 提交于
In order to avoid merge problems further down the line add placeholders for several of the WM8350 client devices and register them, otherwise the patches adding the client devices will all try to update the same code. Also remove redundant checks for null regulator platform devices while we're at it. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NSamuel Ortiz <sameo@openedhand.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Mark Brown 提交于
Most of the subdevices for the WM8350 code are registered in the same fashion so factor out the code to do the initial registration. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NSamuel Ortiz <sameo@openedhand.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Mark Brown 提交于
The WM8350 features six DCDC convertors (four buck and two boost), four LDO voltage regulators and two constant current sinks. This driver adds support for these through the regulator API. This driver was written by Liam Girdwood with updates for submission from Mark Brown. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Mark Brown 提交于
The WM8350 has an interrupt line to the CPU which is shared by the devices on the CPU. This patch adds support for the interrupt controller within the WM8350 which identifies which identifies the interrupt cause. In common with other similar chips this is done outside the standard interrupt framework due to the need to access the interrupt controller over an interrupt-driven bus. This code was all originally written by Liam Girdwood with updates for submission by me. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NSamuel Ortiz <sameo@openedhand.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Mark Brown 提交于
Some functions of the WM8350 require board-specific initialisation on startup. Provide a callback to the WM8350 driver in platform data for platforms to use to configure the chip. Use of a callback allows platforms to control the ordering of initialisation which can be important. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NSamuel Ortiz <sameo@openedhand.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Mark Brown 提交于
The WM8350 is an integrated audio and power management subsystem intended for use as the primary PMIC in mobile multimedia applications. The WM8350 can be controlled via either I2C or SPI - the control interface is provided by a separate module in order to allow greatest flexibility in configuring the kernel. This driver was originally written by Liam Girdwood and has since been updated to current kernel APIs and split up for submission by me. All the heavy lifting here was done by Liam. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NSamuel Ortiz <sameo@openedhand.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-