- Sep 26, 2014
-
-
Andy Shevchenko authored
Intel Quark X1000 SoC supports IRQ based GPIO. This patch will enable MFD support for Quark X1000 and provide IRQ resources to Quark X1000 GPIO device driver. Signed-off-by:
Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Tested-by:
Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Josef Ahmad authored
This patch adds the PCI id for Intel Quark ILB. It will be used for GPIO and Multifunction device driver. Signed-off-by:
Josef Ahmad <josef.ahmad@intel.com> Acked-by:
Bjorn Helgaas <bhelgaas@google.com> Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Andy Shevchenko authored
This patch refactors the driver to use helper functions instead of copy'n'pasted pieces of code. It also introduces an additional struct to hold a chipset info. The chipset info will be used to store features that are supported by specific processor or chipset. LPC_SCH supports SMBUS, GPIO and WDT features. As this code base might expand further to support more processors, this implementation will help to keep code base clean and manageable. The patch is partially based on the work done by Chang Rebecca Swee Fun. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by:
Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Chris Zhong authored
The RK808 chip is a power management IC for multimedia and handheld devices. It contains the following components: - Regulators - RTC - Clkout The RK808 core driver is registered as a platform driver and provides communication through I2C with the host device for the different components. Signed-off-by:
Chris Zhong <zyw@rock-chips.com> Signed-off-by:
Zhang Qing <zhangqing@rock-chips.com> Tested-by:
Heiko <heiko@sntech.de> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Chris Zhong authored
Add device tree bindings documentation and a header file for rockchip's RK808 pmic. Signed-off-by:
Doug Anderson <dianders@chromium.org> Signed-off-by:
Chris Zhong <zyw@rock-chips.com> Signed-off-by:
Zhang Qing <zhangqing@rock-chips.com> Tested-by:
Heiko <heiko@sntech.de> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Axel Lin authored
Current code init regmap with &da9052_regmap_config for both da9052-spi and da9052-i2c drivers. da9052-spi sets the read_flag_mask. The same setting may be applied for da9052-i2c if da9052-spi driver is loaded first because they actually use the same regmap_config setting. Fix this issue by using a local variable for regmap_config in da9052-spi driver, so the settings in spi driver won't impact the settings in i2c driver. Also makes da9052_regmap_config const to avoid similar issue. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Acked-by:
Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Charles Keepax authored
If one of the internal Arizona IRQs is set as a wake source this needs to be propogated back to the actual IRQ line that the Arizona device is attached to. Signed-off-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Inha Song authored
This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers. Signed-off-by:
Inha Song <ideal.song@samsung.com> Reviewed-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Inha Song authored
Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default. Example: - wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */ Signed-off-by:
Inha Song <ideal.song@samsung.com> Reviewed-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Charles Keepax authored
Some arizona devices have a second asynchronous sample rate, add the registers necessary to support this. Signed-off-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by:
Mark Brown <broonie@linaro.org> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Beniamino Galvani authored
Ricoh RN5T618 is a power management IC which integrates 3 step-down DCDC converters, 7 low-dropout regulators, a Li-ion battery charger, fuel gauge, ADC, GPIOs and a watchdog timer. This commit adds a MFD core driver to support the I2C communication with the device. Signed-off-by:
Beniamino Galvani <b.galvani@gmail.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Vignesh R authored
After enabling and disabling ADC continuous mode via sysfs, ts_print_raw fails to return any data. This is because when ADC is configured for continuous mode, it disables touch screen steps.These steps are not re-enabled when ADC continuous mode is disabled. Therefore existing values of REG_SE needs to be cached before enabling continuous mode and disabling touch screen steps and enabling ADC steps. The cached value are to be restored to REG_SE once ADC is disabled. Fixes: 7ca6740c ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization") Cc: stable@vger.kernel.org # v3.13+ Signed-off-by:
Vignesh R <vigneshr@ti.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Beniamino Galvani authored
This adds the device tree bindings documentation for Ricoh RN5T618. Signed-off-by:
Beniamino Galvani <b.galvani@gmail.com> Reviewed-by:
Mark Brown <broonie@linaro.org> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Rasmus Villemoes authored
The include guard doesn't work as intended due to the transposition typo DAVINCI -> DAVINIC. Signed-off-by:
Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
http://www.ti.com/lit/pdf/SWCZ010: Glitch on SDA-SCL not managed correctly by the I2C IP Impact: The standard specifies that the I2C transfer should restart on a start event in all cases. The current design does not support two consecutive Start conditions. This can cause the first real access after such a glitch to be corrupted. Description: An unexpected glitch on SDA and SCL can generate a wrong start event. In the current design, the SCL line must toggle two times to detect a new start event and completely restart the I2C access; hence the real start event is not detected in the case of a single SCL toggle. Workaround: Repeat I2C access. A simpler workaround is to make a dummy transfer just before the first access to the tps65910 chip. This can be done unconditionally. Signed-off-by:
Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by:
Mark Brown <broonie@kernel.org> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Rasmus Villemoes authored
The header file include/linux/mfd/ti_ssp.h does not seem to be used anywhere. It was orphaned by 3033ee62 "mfd: Remove obsolete ti-ssp driver". Remove it. Signed-off-by:
Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
Numbers are generated by taking the largest currently used values. drivers/mfd/stmpe.c:252:17: warning: Variable length array is used. drivers/mfd/stmpe.c:857:16: warning: Variable length array is used. Acked-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
The largest byte size in use currently is 8. Fix array size to 9. drivers/mfd/max8925-i2c.c:40:33: warning: Variable length array is used Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
drivers/mfd/88pm860x-i2c.c:125:33: warning: Variable length array is used. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
The following functions appear to be unused since v2.6.39: pm860x_page_reg_read() pm860x_page_bulk_write() pm860x_page_set_bits() Let's remove them. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
James Ralston authored
This patch adds the LPC Device IDs for the Intel 9 Series PCH. Signed-off-by:
James Ralston <james.d.ralston@intel.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Jacek Anaszewski authored
This patch improves support for the flash cell of max77693 mfd by adding relevant of_compatible field and a structure for caching related platform data. Added are also FLASH registers related macro definitions. Signed-off-by:
Jacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by:
Andrzej Hajda <a.hajda@samsung.com> Acked-by:
Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Jacek Anaszewski authored
According to the MAX77693 documentation the name of the register is FLASH_STATUS. Signed-off-by:
Jacek Anaszewski <j.anaszewski@samsung.com> Acked-by:
Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Alan Cox authored
This is the same as used in Baytrail so add the new PCI ID to the driver's list of supported IDs. Signed-off-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Axel Lin authored
Since commit b4226107 ("regmap: i2c: fallback to SMBus if the adapter does not support standard I2C"), regmap-i2c will check the I2C_FUNC_SMBUS_[BYTE|WORD]_DATA functionality based on the regmap_config setting if the adapter does not support standard I2C. So remove the I2C_FUNC_SMBUS_BYTE_DATA functionality check in the driver code. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Julia Lawall authored
Convert a zero return value on error to a negative one, as returned elsewhere in the function. Additionally, converted 1 << 7 to BIT(7) at the suggestion of Lee Jones. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by:
Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Charles Keepax authored
regmap_add_irq_chip is called from arizona_irq_init with the irq_base specified as -1 and regmap_add_irq_chip uses if (irq_base) to check if it should use legacy IRQ mapping. As such the irq mappings are currently added with irq_domain_add_legacy, rather than irq_domain_add_linear. This is clearly a typo as there is no reason why this driver can't use irq_domain_add_linear. This patch corrects this by passing the irq_base as zero to regmap_add_irq_chip. Signed-off-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Charles Keepax authored
Mark some additional registers as volatile. The write sequencer control registers should not be cached, as we don't ever want their value synchronised as this might cause a write sequence to be accidentally initiated. Additionally, the DAC_COMP registers require special preconditions to write so there values wouldn't be updated accurately during a register sync. Signed-off-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Mark Brown authored
During init the core checks if the wm5102 has finished starting by reading register 0x19 and looking at the value. This read always fails since this is not a readable register, mark it as being one. While we're at it provide a constant for the register name (as supplied by Charles Keepax). Signed-off-by:
Mark Brown <broonie@linaro.org> Signed-off-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Hans Wennborg authored
The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by:
Hans Wennborg <hans@hanshq.net> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Julia Lawall authored
Convert a zero return value on error to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by:
Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Mark Brown authored
The interfaces that used to be built in only (interrupts IIRC) no longer are so allow the driver to be built as a module fixing arm64 allmodconfig builds. Signed-off-by:
Mark Brown <broonie@linaro.org> Acked-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Himangi Saraogi authored
If vtg is NULL, it is not possible to access its mode_reg field. At all sites where the static function menelaus_set_voltage is called, the first argument is the address of a structure defined in the file. So, the null test is unnecessary and is removed. Also, a label is done away with. This problem was found using the following Coccinelle semantic match: // <smpl> @@ expression E, E1; identifier f; statement S1,S2,S3; @@ * if (E == NULL) { ... when != if (E == NULL) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // </smpl> Signed-off-by:
Himangi Saraogi <himangi774@gmail.com> Acked-by:
Julia Lawall <julia.lawall@lip6.fr> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
We'd like to be able to build the WM8994 family as modules, but the build will fail if the external symbols aren't exported first. Acked-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
Suspicious implicit sign extension where 'reg' (unsigned char) is promoted in reg << clksrc to int, then sign-extended to unsigned long. If reg << clksrc is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
In the original code a return value variable was provided, but it was never checked and the user was never informed of failure. Now it is and they are. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
The return value of platform_device_add() is checked after every other use throughout the kernel. We're also sliding in another cheeky dev_err() => dev_warn() change as we're not actually erroring out here, rather reporting the fact that something's gone wrong, but carrying on regardless. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
As 'reg' is unsigned, it can't be less than 0, so checking if it is greater than or equal to 0 will always result in a true condition. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
Chip identifier wm5102_reva_patch is always overwritten with wm5102_revb_patch, even when the code is run on a Rev-A chip. Place in the missing break to force the code into doing something sensible instead. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
Lee Jones authored
Checking the result of container_of() against NULL will always result to false. Using the offset of member 'chip_out' to find the start of 'struct htcpld_chip' will result in an offset error when .get_chip() is attempting to obtain 'htcpld-in'. Instead, we'll use the correct member based on a previously the set chip label. Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-