Charles Keepax [Tue, 15 Jul 2014 10:21:50 +0000 (11:21 +0100)]
mfd: arizona: Only free the CTRLIF_ERR IRQ if we requested it
We only request the control interface error IRQ if we set ctrlif_error,
as such we should only free it in that situation. Otherwise we will
attempt to free an IRQ we never requested and get a warning from the IRQ
core.
This patch moves the ctrlif_error variable into the arizona structure
and checks it in all cases we free the control interface error IRQ.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Tue, 15 Jul 2014 10:21:49 +0000 (11:21 +0100)]
mfd: arizona: Add missing handling for ISRC3 under/overclocked
Some parts have a third ISRC, this patch adds handling for the under and
overclocked interrupts from this ISRC.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Tue, 15 Jul 2014 10:21:48 +0000 (11:21 +0100)]
mfd: wm5110: Add new interrupt register definitions
Newer versions of the IP have a lot of new interrupts and move several
existing interrupts. This patch adds the register definitions and regmap
hookup for these interrupts.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Tue, 15 Jul 2014 10:21:47 +0000 (11:21 +0100)]
mfd: arizona: Rename thermal shutdown interrupt
Newer versions of the IP introduce short circuit protection which will
also shutdown the speaker. Rename the interrupt and associated register
bits associated with thermal events to better fit the function and avoid
conflict with future interrupt additions.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Tue, 15 Jul 2014 10:21:46 +0000 (11:21 +0100)]
mfd: wm5110: Add in the output done interrupts
wm5110 has interrupts to signal that an output has fully enabled. This
patch adds in these interrupts although use is not made of them yet.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Tue, 15 Jul 2014 10:21:45 +0000 (11:21 +0100)]
mfd: wm5110: Remove non-existant interrupts
The DCS_DAC_DONE and DCS_HP_DONE interrupts do not exist on the wm5110
version of the IP. This patch removes them from the regmap IRQ
structure.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Sachin Kamat [Fri, 18 Jul 2014 12:00:17 +0000 (17:30 +0530)]
mfd: tps65912-spi: Remove unused variable
‘rx_buf’ is not used in this function.
Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Sachin Kamat [Fri, 18 Jul 2014 12:00:16 +0000 (17:30 +0530)]
mfd: htc-i2cpld: Remove unused code
Removed code unused in this function.
Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Opensource [Steve Twiss] [Mon, 21 Jul 2014 10:39:33 +0000 (11:39 +0100)]
mfd: da9063: Add support for AD silicon variant
Add register definitions for DA9063 AD (0x3) silicon variant ID
the ability to choose the silicon variant at run-time using regmap
configuration. This patch also adds RTC support for the AD silicon
changes.
It adds both BB and AD support as regmap ranges and then makes the
distinction between the two tables at run-time. This allows both AD
and BB silicon variants to be supported at the same time.
Suggested-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Opensource [Steve Twiss] <stwiss.opensource@diasemi.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Fri, 25 Jul 2014 15:24:44 +0000 (16:24 +0100)]
mfd: arizona: Map MICVDD from extcon device to the Arizona core
The extcon driver should be able to get its regulator against rather
than against the main arizona device, we must add a supply mapping
allowing the regulator to be located. This patch does so.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Fri, 25 Jul 2014 15:24:43 +0000 (16:24 +0100)]
mfd: arizona: Add MICVDD to mapped regulators for wm8997
The previous update adding MICVDD to the regulator mappings:
mfd: arizona: Add MICVDD to mapped regulators
Only added the mapping for wm5102 and wm5110 but wm8997 also has a
MICVDD supply that needs to be mapped back to the main Arizona device.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 24 Jul 2014 16:07:16 +0000 (17:07 +0100)]
mfd: max77686: Ensure device type IDs are architecture agnostic
Extinguishes:
../drivers/mfd/max77686.c: In function ‘max77686_i2c_probe’:
../drivers/mfd/max77686.c:254:20:
warning: cast from pointer to integer of different size
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Thu, 24 Jul 2014 12:39:24 +0000 (14:39 +0200)]
mfd: max77686: Add Maxim 77802 PMIC support
Maxim MAX77802 is a power management chip that contains 10 high
efficiency Buck regulators, 32 Low-dropout (LDO) regulators used
to power up application processors and peripherals, a 2-channel
32kHz clock outputs, a Real-Time-Clock (RTC) and a I2C interface
to program the individual regulators, clocks outputs and the RTC.
This patch adds support for MAX77802 to the MAX77686 driver and is
based on a driver added to the Chrome OS kernel 3.8 by Simon Glass.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Himangi Saraogi [Sat, 19 Jul 2014 08:30:10 +0000 (14:00 +0530)]
mfd: tps6105x: Use managed resources when allocating memory
This patch introduces the use of devm_kzalloc instead of the
corresponding unmanaged version and does away with the kfrees in the
probe and remove functions. Also, a label is done away with.
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 [Mon, 21 Jul 2014 15:52:34 +0000 (16:52 +0100)]
mfd: wm8997-tables: Suppress 'line over 80 chars' warnings
This is part of an effort to clean-up the MFD subsystem.
WARNING: line over 80 characters
+ { 0x00000068, 0x01FF }, /* R104 - Always On Triggers Sequence Select 3 */
WARNING: line over 80 characters
+ { 0x00000069, 0x01FF }, /* R105 - Always On Triggers Sequence Select 4 */
WARNING: line over 80 characters
+ { 0x0000006A, 0x01FF }, /* R106 - Always On Triggers Sequence Select 5 */
WARNING: line over 80 characters
+ { 0x0000006B, 0x01FF }, /* R107 - Always On Triggers Sequence Select 6 */
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 15:47:51 +0000 (16:47 +0100)]
mfd: kempld-core: Correct a variety of checkpatch warnings
WARNING: line over 80 characters
+module_param_string(force_device_id, force_device_id, sizeof(force_device_id), 0);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: __initdata should be placed after kempld_dmi_table[]
+static struct dmi_system_id __initdata kempld_dmi_table[] = {
WARNING: line over 80 characters
+ for (id = kempld_dmi_table; id->matches[0].slot != DMI_NONE; id++)
total: 0 errors, 4 warnings, 771 lines checked
This is part of an effort to clean-up the MFD subsystem.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 15:08:55 +0000 (16:08 +0100)]
mfd: ipaq-micro: Fix coding style errors/warnings reported by checkpatch
This is part of an effort to clean-up the MFD subsystem.
ERROR: space required before the open parenthesis '('
+ if(!micro->msg)
WARNING: unnecessary whitespace before a quoted newline
+ dev_dbg(micro->dev, "key message ignored, no handle \n");
WARNING: unnecessary whitespace before a quoted newline
+ dev_dbg(micro->dev, "touchscreen message ignored, no handle \n");
WARNING: space prohibited before semicolon
+ rx->id = (ch & 0xf0) >> 4 ;
total: 1 errors, 3 warnings, 482 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 14:13:09 +0000 (15:13 +0100)]
mfd: si476x-cmd: Remedy checkpatch style complains
This is part of an effort to clean-up the MFD subsystem.
WARNING: line over 80 characters
+ struct si476x_rsq_status_args *rsqargs,
WARNING: line over 80 characters
+ struct si476x_rsq_status_report *report)
WARNING: Unnecessary space before function pointer arguments
+ int (*power_up) (struct si476x_core *,
WARNING: Unnecessary space before function pointer arguments
+ int (*power_down) (struct si476x_core *,
total: 0 errors, 4 warnings, 1555 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 14:10:35 +0000 (15:10 +0100)]
mfd: tc6387xb: Remove unnecessary braces and correct style warnings
This is part of an effort to clean-up the MFD subsystem.
WARNING: braces {} are not necessary for single statement blocks
+ if (!iomem) {
+ return -EINVAL;
+ }
WARNING: sizeof *tc6387xb should be sizeof(*tc6387xb)
+ tc6387xb = kzalloc(sizeof *tc6387xb, GFP_KERNEL);
WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ...
+ printk(KERN_INFO "Toshiba tc6387xb initialised\n");
total: 0 errors, 3 warnings, 242 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 14:06:35 +0000 (15:06 +0100)]
mfd: twl6030-irq: Extinguish coding style warnings
This is part of an effort to clean-up the MFD subsystem.
WARNING: please, no space before tabs
+^IRSV_INTR_OFFSET, ^I/* Bit 12^IReserved^I^I*/$
WARNING: Missing a blank line after declarations
+ u8 unmask_value;
+ ret = twl_i2c_read_u8(TWL_MODULE_PIH, &unmask_value,
WARNING: Missing a blank line after declarations
+ u8 mask_value;
+ ret = twl_i2c_read_u8(TWL_MODULE_PIH, &mask_value,
total: 0 errors, 3 warnings, 484 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 14:04:10 +0000 (15:04 +0100)]
mfd: wm8350-i2c: Replace spaces with tabs
This is part of an effort to clean-up the MFD subsystem.
WARNING: please, no spaces at the start of a line
+ { "wm8350", 0 },$
WARNING: please, no spaces at the start of a line
+ { "wm8351", 0 },$
WARNING: please, no spaces at the start of a line
+ { "wm8352", 0 },$
WARNING: please, no spaces at the start of a line
+ { }$
total: 0 errors, 4 warnings, 93 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 13:16:23 +0000 (14:16 +0100)]
mfd: max8925-core: Fix 'missing blank line after declarations' warning
This is part of an effort to clean-up the MFD subsystem.
WARNING: Missing a blank line after declarations
+ struct max8925_chip *chip = irq_data_get_irq_chip_data(data);
+ max8925_irqs[data->irq - chip->irq_base].enable
WARNING: Missing a blank line after declarations
+ struct max8925_chip *chip = irq_data_get_irq_chip_data(data);
+ max8925_irqs[data->irq - chip->irq_base].enable = 0;
total: 0 errors, 2 warnings, 927 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 13:05:24 +0000 (14:05 +0100)]
mfd: twl4030-irq: Fix style warnings relating to pr_warn() and sizeof()
This is part of an effort to clean-up the MFD subsystem.
WARNING: Prefer pr_warn(... to pr_warning(...
+ pr_warning("twl4030: I2C error %d reading PIH ISR\n", ret);
WARNING: sizeof buf should be sizeof(buf)
+ memset(buf, 0xff, sizeof buf);
WARNING: sizeof *agent should be sizeof(*agent)
+ agent = kzalloc(sizeof *agent, GFP_KERNEL);
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 12:44:01 +0000 (13:44 +0100)]
mfd: lp8788-irq: Fix 'missing blank line after declarations' warning
This is part of an effort to clean-up the MFD subsystem.
WARNING: Missing a blank line after declarations
+ struct lp8788_irq_data *irqd = irq_data_get_irq_chip_data(data);
+ irqd->enabled[data->hwirq] = 1;
WARNING: Missing a blank line after declarations
+ struct lp8788_irq_data *irqd = irq_data_get_irq_chip_data(data);
+ irqd->enabled[data->hwirq] = 0;
total: 0 errors, 2 warnings, 198 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Fri, 25 Jul 2014 14:31:02 +0000 (15:31 +0100)]
mfd: ezx-pcap: Repair coding style errors picked up with checkpatch
This is part of an effort to clean-up the MFD subsystem.
WARNING: sizeof t should be sizeof(t)
+ memset(&t, 0, sizeof t);
WARNING: void function return statements are not generally useful
+ return;
+}
total: 0 errors, 2 warnings, 542 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 12:13:48 +0000 (13:13 +0100)]
mfd: twl6040: Fix 'insert space after ','', error
This is part of an effort to clean-up the MFD subsystem.
ERROR: space required after that ',' (ctx:VxO)
+ 0, &twl6040_irq_chip,&twl6040->irq_data);
^
ERROR: space required before that '&' (ctx:OxV)
+ 0, &twl6040_irq_chip,&twl6040->irq_data);
^
total: 2 errors, 0 warnings, 816 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 12:09:25 +0000 (13:09 +0100)]
mfd: sec-core: Fix 'missing blank line after declarations' warning
This is part of an effort to clean-up the MFD subsystem.
WARNING: Missing a blank line after declarations
+ const struct of_device_id *match;
+ match = of_match_node(sec_dt_match, i2c->dev.of_node);
total: 0 errors, 1 warnings, 494 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 12:06:42 +0000 (13:06 +0100)]
mfd: dm355evm_msp: Fix checkpatch error: insert space after ','
This is part of an effort to clean-up the MFD subsystem.
ERROR: space required after that ',' (ctx:VxV)
+#define MSP_GPIO(bit,reg) ((DM355EVM_MSP_ ## reg) << 3 | (bit))
^
total: 1 errors, 0 warnings, 437 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 11:57:25 +0000 (12:57 +0100)]
mfd: wm8350-irq: Fix 'line over 80 chars' warning
This is part of an effort to clean-up the MFD subsystem.
WARNING: line over 80 characters
+ wm8350->irq_base = irq_alloc_descs(irq_base, 0, ARRAY_SIZE(wm8350_irqs), 0);
total: 0 errors, 1 warnings, 552 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 11:53:56 +0000 (12:53 +0100)]
mfd: mcp-core: Fix 'blank line after declarations' warning
This is part of an effort to clean-up the MFD subsystem.
WARNING: Missing a blank line after declarations
+ unsigned long flags;
+ spin_lock_irqsave(&mcp->lock, flags);
total: 0 errors, 1 warnings, 238 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 11:18:21 +0000 (12:18 +0100)]
mfd: max8925-i2c: Fix 'blank line after declarations' warning
This is part of an effort to clean-up the MFD subsystem.
WARNING: Missing a blank line after declarations
+ int ret;
+ ret = i2c_add_driver(&max8925_driver);
total: 0 errors, 1 warnings, 275 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 21 Jul 2014 11:15:55 +0000 (12:15 +0100)]
mfd: max77686: Fix 'line over 80 chars' warning
This is part of an effort to clean-up the MFD subsystem.
+WARNING: line over 80 characters
+ &max77686_rtc_regmap_config);
total: 0 errors, 1 warnings, 299 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:10 +0000 (22:24 +0200)]
mfd: max77686: Remove unneeded OOM error message
There is no need to print out-of-memory errors since this is already
done by the memory management subsystem which even calls dump_stack().
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:09 +0000 (22:24 +0200)]
mfd: max77686: Make error checking consistent
Error checking across the driver is mostly consistent besides
a few exceptions, so change these exceptions for consistency.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:08 +0000 (22:24 +0200)]
mfd: max77686: Return correct error when pdata isn't found
When platform data is not found an -EIO (I/O error) code is returned.
This doesn't seem to be the correct error so better return -EINVAL
(Invalid argument) which is what most drivers do in this case.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:07 +0000 (22:24 +0200)]
mfd: max77686: Make platform data over-rule DT
The function max77802_i2c_parse_dt_pdata() should only be called
if there isn't already platform data for the device.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:06 +0000 (22:24 +0200)]
mfd: max77686: Don't define dummy function if OF isn't enabled
When the CONFIG_OF option was not enabled, a dummy function
max77686_i2c_parse_dt_pdata() was defined since this is called
unconditionally on probe(). Just always define the real function
and conditionally call it if CONFIG_OF is enabled instead.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:05 +0000 (22:24 +0200)]
mfd: max77686: Add power management support
The driver doesn't have PM operations defined so add a suspend
and resume function handlers to allow the PMIC IRQ to wakeup
the system when it is put into a sleep state.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Javier Martinez Canillas [Fri, 4 Jul 2014 20:24:04 +0000 (22:24 +0200)]
mfd: max77686: Convert to use regmap_irq
By using the generic IRQ support in the Register map API, it
is possible to get rid max77686-irq.c and simplify the code.
Suggested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Chen-Yu Tsai [Wed, 9 Jul 2014 07:54:36 +0000 (15:54 +0800)]
mfd: sun6i-prcm: Add support for Allwinner A23 PRCM
The Allwinner A23 SoC has a PRCM unit like the previous A31 SoC.
The differences are the AR100 clock can no longer be modified,
the APB0 clock has different divisors, and some clock gates are
gone.
This patch adds a compatible with a modified subdevice list for
the A23.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Mon, 14 Jul 2014 17:29:16 +0000 (18:29 +0100)]
mfd: ab8500-debugfs: BIG clean-up
When checkpatch is run on ab8500-debugfs.c it screamed blue murder!
This patch fixes up all of the errors/warnings reported:
WARNING: line over 80 characters
+ err = seq_printf(s, " [0x%02X/0x%02X]: 0x%02X\n",
WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ...
+ printk(KERN_INFO" [0x%02X/0x%02X]: 0x%02X\n",
WARNING: Prefer seq_puts to seq_printf
+ seq_printf(s, AB8500_NAME_STRING " register values:\n");
WARNING: Prefer seq_puts to seq_printf
+ seq_printf(s, AB8500_NAME_STRING " register values:\n");
WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ...
+ printk(KERN_INFO"ab8500 register values:\n");
WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ...
+ printk(KERN_INFO" bank 0x%02X:\n", i);
WARNING: externs should be avoided in .c files
+extern int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size);
WARNING: quoted string split across lines
+ pr_info("Saving all ABB registers at \"ab8500_complete_register_dump\" "
+ "for crash analyze.\n");
WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
+ printk(KERN_ERR "abx500_set_reg failed %d, %d", err, __LINE__);
WARNING: Prefer seq_puts to seq_printf
+ seq_printf(s, "name: number: number of: wake:\n");
WARNING: line over 80 characters
+ return single_open(file, ab8500_print_modem_registers, inode->i_private);
WARNING: line over 80 characters
+ return single_open(file, ab8500_gpadc_btemp_ball_print, inode->i_private);
WARNING: line over 80 characters
+ return single_open(file, ab8500_gpadc_main_bat_v_print, inode->i_private);
WARNING: line over 80 characters
+ vbat_true_meas_convert = ab8500_gpadc_ad_to_voltage(gpadc, VBAT_TRUE_MEAS,
WARNING: line over 80 characters
+static int ab8540_gpadc_vbat_true_meas_and_ibat_print(struct seq_file *s, void *p)
WARNING: line over 80 characters
+static const struct file_operations ab8540_gpadc_vbat_true_meas_and_ibat_fops = {
WARNING: line over 80 characters
+ vmain_l, vmain_h, btemp_l, btemp_h, vbat_l, vbat_h, ibat_l, ibat_h);
WARNING: quoted string split across lines
+ dev_err(dev, "debugfs error input: "
+ "should be egal to 1, 4, 8 or 16\n");
WARNING: Missing a blank line after declarations
+ char *s = b;
+ if ((*s == '0') && ((*(s+1) == 'x') || (*(s+1) == 'X'))) {
WARNING: simple_strtoul is obsolete, use kstrtoul instead
+ loc.mask = simple_strtoul(b, &b, 0);
WARNING: simple_strtol is obsolete, use kstrtol instead
+ loc.shift = simple_strtol(b, &b, 0);
WARNING: simple_strtoul is obsolete, use kstrtoul instead
+ loc.bank = simple_strtoul(b, &b, 0);
WARNING: simple_strtoul is obsolete, use kstrtoul instead
+ loc.addr = simple_strtoul(b, &b, 0);
WARNING: simple_strtoul is obsolete, use kstrtoul instead
+ val = simple_strtoul(b, &b, 0);
WARNING: quoted string split across lines
+ pr_warn("HWREG request: %s, %s, addr=0x%08X, mask=0x%X, shift=%d"
+ "value=0x%X\n", (write) ? "write" : "read",
WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
+ printk(KERN_ERR "sysfs_create_file failed %d\n", err);
WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
+ printk(KERN_ERR "request_threaded_irq failed %d, %lu\n",
ERROR: code indent should use tabs where possible
+ err, user_val);$
WARNING: please, no spaces at the start of a line
+ err, user_val);$
WARNING: Missing a blank line after declarations
+ struct resource *res;
+ debug_bank = AB8500_MISC;
ERROR: space required after that ',' (ctx:VxV)
+ sizeof(*dev_attr)*num_irqs,GFP_KERNEL);
^
WARNING: return of an errno should typically be -ve (return -ENXIO)
+ return ENXIO;
WARNING: line over 80 characters
+ file = debugfs_create_file("register-bank", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("register-address", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("register-value", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("irq-subscribe", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("irq-unsubscribe", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("all-modem-registers", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("main_charger_v", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("main_charger_c", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("usb_charger_c", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("xtal_temp", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ ab8500_gpadc_dir, &plf->dev, &ab8540_gpadc_xtal_temp_fops);
WARNING: line over 80 characters
+ file = debugfs_create_file("vbattruemeas", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ file = debugfs_create_file("otp_calib", (S_IRUGO | S_IWUSR | S_IWGRP),
WARNING: line over 80 characters
+ ab8500_gpadc_dir, &plf->dev, &ab8540_gpadc_otp_calib_fops);
total: 2 errors, 44 warnings, 3230 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Thu, 10 Jul 2014 16:04:09 +0000 (17:04 +0100)]
mfd: arizona: Update DT binding to support MICVDD init_data
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Thu, 10 Jul 2014 16:04:08 +0000 (17:04 +0100)]
mfd: arizona: Update DT binding to support LDO1 init_data
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Laxman Dewangan [Mon, 9 Jun 2014 07:03:37 +0000 (12:33 +0530)]
Doc: mfd: as3722: Add details of optional missing property
Add details of following properties which are used on driver but
not documented on DT binding document.
- ams,enable-internal-int-pullup
- ams,enable-internal-i2c-pullup
Reported-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Doug Anderson [Fri, 27 Jun 2014 19:56:12 +0000 (12:56 -0700)]
mfd: cros_ec: Use the proper size when looking at the cros_ec_i2c result
We know how many bytes the EC should be sending us (which is also the
number of bytes transferred) and also how many bytes the EC actually
wanted to send to us. When computing the checksum and copying back
data let's make sure we take the lesser of the two of those. We'll
also complain if the EC tried to send us too many bytes. The EC
sending us too few bytes is legit for when we send the EC an invalid
command.
This is based on similar code in cros_ec_spi.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 8 May 2014 13:11:37 +0000 (14:11 +0100)]
mfd: ab8500-core: Resolve code style issues
Soothes the following checkpatch warnings:
WARNING: line over 80 characters
#151: FILE: drivers/mfd/ab8500-core.c:151:
+ 0, 1, 2, 3, 4, -1, -1, -1, -1, 11, 18, 19, 20, 21, 12, 13, 24, 5, 22, 23,
ERROR: spaces required around that '=' (ctx:VxW)
#325: FILE: drivers/mfd/ab8500-core.c:325:
+ ret= mask_and_set_register_interruptible(ab8500, bank, reg,
^
WARNING: line over 80 characters
#418: FILE: drivers/mfd/ab8500-core.c:418:
+ else if (offset >= AB9540_INT_GPIO50R && offset <= AB9540_INT_GPIO54R)
WARNING: line over 80 characters
#420: FILE: drivers/mfd/ab8500-core.c:420:
+ else if (offset == AB8540_INT_GPIO43R || offset == AB8540_INT_GPIO44R)
ERROR: spaces required around that '==' (ctx:VxV)
#454: FILE: drivers/mfd/ab8500-core.c:454:
+ if ((i==3) && (*offset >= 24))
^
ERROR: code indent should use tabs where possible
#576: FILE: drivers/mfd/ab8500-core.c:576:
+ .map = ab8500_irq_map,$
WARNING: please, no spaces at the start of a line
#576: FILE: drivers/mfd/ab8500-core.c:576:
+ .map = ab8500_irq_map,$
ERROR: code indent should use tabs where possible
#577: FILE: drivers/mfd/ab8500-core.c:577:
+ .xlate = irq_domain_xlate_twocell,$
WARNING: please, no spaces at the start of a line
#577: FILE: drivers/mfd/ab8500-core.c:577:
+ .xlate = irq_domain_xlate_twocell,$
WARNING: char * array declaration might be better as static const
#1554: FILE: drivers/mfd/ab8500-core.c:1554:
+ static char *switch_off_status[] = {
WARNING: char * array declaration might be better as static const
#1563: FILE: drivers/mfd/ab8500-core.c:1563:
+ static char *turn_on_status[] = {
WARNING: sizeof *ab8500 should be sizeof(*ab8500)
#1582: FILE: drivers/mfd/ab8500-core.c:1582:
+ ab8500 = devm_kzalloc(&pdev->dev, sizeof *ab8500, GFP_KERNEL);
ERROR: space required after that close brace '}'
#1639: FILE: drivers/mfd/ab8500-core.c:1639:
+ }/* Configure AB8500 or AB9540 IRQ */
WARNING: line over 80 characters
#1652: FILE: drivers/mfd/ab8500-core.c:1652:
+ ab8500->oldmask = devm_kzalloc(&pdev->dev, ab8500->mask_size, GFP_KERNEL);
WARNING: Prefer [subsystem eg: netdev]_cont([subsystem]dev, ... then dev_cont(dev, ... then pr_cont(... to printk(KERN_CONT ...
#1677: FILE: drivers/mfd/ab8500-core.c:1677:
+ printk(KERN_CONT " \"%s\"",
WARNING: Prefer [subsystem eg: netdev]_cont([subsystem]dev, ... then dev_cont(dev, ... then pr_cont(... to printk(KERN_CONT ...
#1682: FILE: drivers/mfd/ab8500-core.c:1682:
+ printk(KERN_CONT "\n");
WARNING: Prefer [subsystem eg: netdev]_cont([subsystem]dev, ... then dev_cont(dev, ... then pr_cont(... to printk(KERN_CONT ...
#1684: FILE: drivers/mfd/ab8500-core.c:1684:
+ printk(KERN_CONT " None\n");
WARNING: printk() should include KERN_ facility level
#1695: FILE: drivers/mfd/ab8500-core.c:1695:
+ printk("\"%s\" ", turn_on_status[i]);
WARNING: printk() should include KERN_ facility level
#1700: FILE: drivers/mfd/ab8500-core.c:1700:
+ printk("None\n");
total: 5 errors, 14 warnings, 1869 lines checked
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 8 May 2014 12:47:15 +0000 (13:47 +0100)]
mfd: ab3100-core: Correct code sytle problems
Corrects the following checkpatch gripes:
WARNING: quoted string split across lines
#95: FILE: drivers/mfd/ab3100-core.c:95:
+ "write error (write register) "
+ "%d bytes transferred (expected 2)\n",
WARNING: quoted string split across lines
#139: FILE: drivers/mfd/ab3100-core.c:139:
+ "write error (write test register) "
+ "%d bytes transferred (expected 2)\n",
WARNING: quoted string split across lines
#175: FILE: drivers/mfd/ab3100-core.c:175:
+ "write error (send register address) "
+ "%d bytes transferred (expected 1)\n",
WARNING: quoted string split across lines
#193: FILE: drivers/mfd/ab3100-core.c:193:
+ "write error (read register) "
+ "%d bytes transferred (expected 1)\n",
WARNING: quoted string split across lines
#241: FILE: drivers/mfd/ab3100-core.c:241:
+ "write error (send first register address) "
+ "%d bytes transferred (expected 1)\n",
WARNING: quoted string split across lines
#256: FILE: drivers/mfd/ab3100-core.c:256:
+ "write error (read register page) "
+ "%d bytes transferred (expected %d)\n",
WARNING: quoted string split across lines
#299: FILE: drivers/mfd/ab3100-core.c:299:
+ "write error (maskset send address) "
+ "%d bytes transferred (expected 1)\n",
WARNING: quoted string split across lines
#314: FILE: drivers/mfd/ab3100-core.c:314:
+ "write error (maskset read register) "
+ "%d bytes transferred (expected 1)\n",
WARNING: quoted string split across lines
#334: FILE: drivers/mfd/ab3100-core.c:334:
+ "write error (write register) "
+ "%d bytes transferred (expected 2)\n",
WARNING: please, no spaces at the start of a line
#374: FILE: drivers/mfd/ab3100-core.c:374:
+ return blocking_notifier_chain_unregister(&ab3100->event_subscribers,$
WARNING: Prefer seq_puts to seq_printf
#458: FILE: drivers/mfd/ab3100-core.c:458:
+ seq_printf(s, "AB3100 registers:\n");
WARNING: quoted string split across lines
#564: FILE: drivers/mfd/ab3100-core.c:564:
+ "debug write reg[0x%02x] with 0x%02x, "
+ "after readback: 0x%02x\n",
WARNING: quoted string split across lines
#723: FILE: drivers/mfd/ab3100-core.c:723:
+ "AB3100 P1E variant detected, "
+ "forcing chip to 32KHz\n");
WARNING: quoted string split across lines
#882: FILE: drivers/mfd/ab3100-core.c:882:
+ "could not communicate with the AB3100 analog "
+ "baseband chip\n");
WARNING: quoted string split across lines
#906: FILE: drivers/mfd/ab3100-core.c:906:
+ dev_err(&client->dev, "accepting it anyway. Please update "
+ "the driver.\n");
total: 0 errors, 15 warnings, 999 lines checked
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 8 May 2014 11:58:24 +0000 (12:58 +0100)]
mfd: aat2870-core: Stop using obsolte simple_strtoul()
Soothes checkpatch warning:
WARNING: simple_strtoul is obsolete, use kstrtoul instead
#306: FILE: drivers/mfd/aat2870-core.c:306:
+ addr = simple_strtoul(start, &start, 16);
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 8 May 2014 11:55:35 +0000 (12:55 +0100)]
mfd: 88pm860x-i2c: Repair 'space before tab' warning
Fixes checkpatch warning:
WARNING: please, no space before tabs
#5: FILE: drivers/mfd/88pm860x-i2c.c:5:
+ * ^IHaojian Zhuang <haojian.zhuang@marvell.com>$
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 8 May 2014 11:28:37 +0000 (12:28 +0100)]
mfd: 88pm860x-core: Repair formatting issues
Fixes the following checkpatch warnings:
WARNING: please, no space before tabs
#5: FILE: drivers/mfd/88pm860x-core.c:5:
+ * ^IHaojian Zhuang <haojian.zhuang@marvell.com>$
WARNING: line over 80 characters
#143: FILE: drivers/mfd/88pm860x-core.c:143:
+ {PM8607_IRQ_AUDIO_SHORT, PM8607_IRQ_AUDIO_SHORT, "audio-short", IORESOURCE_IRQ,},
WARNING: line over 80 characters
#153: FILE: drivers/mfd/88pm860x-core.c:153:
+ {PM8607_IRQ_CHG_DONE, PM8607_IRQ_CHG_DONE, "charging done", IORESOURCE_IRQ,},
WARNING: line over 80 characters
#154: FILE: drivers/mfd/88pm860x-core.c:154:
+ {PM8607_IRQ_CHG_FAIL, PM8607_IRQ_CHG_FAIL, "charging timeout", IORESOURCE_IRQ,},
WARNING: line over 80 characters
#155: FILE: drivers/mfd/88pm860x-core.c:155:
+ {PM8607_IRQ_CHG_FAULT, PM8607_IRQ_CHG_FAULT, "charging fault", IORESOURCE_IRQ,},
WARNING: line over 80 characters
#156: FILE: drivers/mfd/88pm860x-core.c:156:
+ {PM8607_IRQ_GPADC1, PM8607_IRQ_GPADC1, "battery temperature", IORESOURCE_IRQ,},
WARNING: Avoid unnecessary line continuations
#571: FILE: drivers/mfd/88pm860x-core.c:571:
+ struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
WARNING: line over 80 characters
#634: FILE: drivers/mfd/88pm860x-core.c:634:
+ ret = request_threaded_irq(chip->core_irq, NULL, pm860x_irq, flags | IRQF_ONESHOT,
WARNING: Unnecessary parentheses - maybe == should be = ?
#874: FILE: drivers/mfd/88pm860x-core.c:874:
+ if ((pdata == NULL))
WARNING: quoted string split across lines
#1001: FILE: drivers/mfd/88pm860x-core.c:1001:
+ dev_err(chip->dev, "Failed to detect Marvell 88PM8607. "
+ "Chip ID: %02x\n", ret);
WARNING: quoted string split across lines
#1124: FILE: drivers/mfd/88pm860x-core.c:1124:
+ dev_err(dev, "Not found \"marvell,88pm860x-slave-addr\" "
+ "property\n");
total: 0 errors, 11 warnings, 1281 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Thu, 8 May 2014 11:06:19 +0000 (12:06 +0100)]
mfd: 88pm805: msleep(1ms ~ 20ms) may not do what the caller intends
This code has been working since 2012, as limiting the time between
1ms and 3ms is unlikely to do any harm.
Soothes checkpatch warning:
WARNING: msleep < 20ms can sleep for up to 20ms;
see Documentation/timers/timers-howto.txt
#161: FILE: drivers/mfd/88pm805.c:161:
+ msleep(1);
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 2 Jul 2014 13:34:13 +0000 (14:34 +0100)]
mfd: tps65910: Rid data size incompatibility warn when building for 64bit
Extinguishes:
../drivers/mfd/tps65910.c: In function ‘tps65910_parse_dt’:
../drivers/mfd/tps65910.c:404:14:
warning: cast from pointer to integer of different size
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 2 Jul 2014 13:28:46 +0000 (14:28 +0100)]
mfd: arizona: Rid data size incompatibility warn when building for 64bit
Extinguishes:
../drivers/mfd/arizona-core.c: In function ‘arizona_of_get_type’:
../drivers/mfd/arizona-core.c:505:10:
warning: cast from pointer to integer of different size
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 2 Jul 2014 10:54:32 +0000 (11:54 +0100)]
mfd: stmpe: Rid data size incompatibility warn when building for 64bit
Extinguishes:
../drivers/mfd/stmpe-i2c.c: In function ‘stmpe_i2c_probe’:
../drivers/mfd/stmpe-i2c.c:88:13:
warning: cast from pointer to integer of different size
partnum = (int)of_id->data;
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 2 Jul 2014 10:30:12 +0000 (11:30 +0100)]
mfd: intel_soc_pmic: Rid compiler working for unused ACPI match table
If CONIFG_ACPI is not enabled we receive the following warning:
drivers/mfd/intel_soc_pmic_core.c:144:30:
warning: ‘intel_soc_pmic_acpi_match’ defined but not used
This patch rids it.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 2 Jul 2014 10:22:10 +0000 (11:22 +0100)]
mfd: ab8500-debugfs: Simplify invalid debugfs data checking
Noticed during a coding review, if we reorganised the checking a
little, we can rid the code of a pointless 'else'. Whilst looking
for this particular code hunk I noticed another pointless 'else',
which I've subsequently fixed in this patch.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 2 Jul 2014 10:13:42 +0000 (11:13 +0100)]
mfd: ab8500-core: Remove pointless else in if statement
Save a line of code (albeit, it's replaced by a blank line, but
still), as the else is superfluous.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Rickard Strandqvist [Sat, 28 Jun 2014 21:34:38 +0000 (23:34 +0200)]
mfd: ab8500-debugfs: Cleaning up unnecessary to test, unsigned can't be negative.
Unsigned variable can't be negative so it is unnecessary to test it
This was found using a static code analysis program called cppcheck
Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Fabian Frederick [Sat, 28 Jun 2014 11:58:17 +0000 (13:58 +0200)]
mfd: ab8500-debugfs: Remove unnecessary null test before debugfs_remove_recursive
Fix checkpatch warning:
WARNING: debugfs_remove_recursive(NULL) is safe this check is probably not required
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Andrew Bresticker [Wed, 18 Jun 2014 18:14:07 +0000 (11:14 -0700)]
mfd: cros_ec: Move EC interrupt to cros_ec_keyb
If we receive EC interrupts after the cros_ec driver has probed, but
before the cros_ec_keyb driver has probed, the cros_ec IRQ handler
will not run the cros_ec_keyb notifier and the EC will leave the IRQ
line asserted. The cros_ec IRQ handler then returns IRQ_HANDLED and
the resulting flood of interrupts causes the machine to hang.
Since the EC interrupt is currently only used for the keyboard, move
the setup and handling of the EC interrupt to the cros_ec_keyb driver.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:14:06 +0000 (11:14 -0700)]
mfd: cros_ec: ec_dev->cmd_xfer() returns number of bytes received from EC
When communicating with the EC, the cmd_xfer() function should return the
number of bytes it received from the EC, or negative on error.
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:14:05 +0000 (11:14 -0700)]
mfd: cros_ec: Check result code from EC messages
Just because the host was able to talk to the EC doesn't mean that the EC
was happy with what it was told. Errors in communincation are not the same
as error messages from the EC itself.
This change lets the EC report its errors separately.
[dianders: Added common function to cros_ec.c]
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:14:04 +0000 (11:14 -0700)]
mfd: cros_ec: cleanup: Remove EC wrapper functions
Remove the three wrapper functions that talk to the EC without passing all
the desired arguments and just use the underlying communication function
that passes everything in a struct intead.
This is internal code refactoring only. Nothing should change.
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:14:03 +0000 (11:14 -0700)]
mfd: cros_ec: cleanup: remove unused fields from struct cros_ec_device
struct cros_ec_device has a superfluous "name" field. We can get all the
debugging info we need from the existing ec_name and phys_name fields, so
let's take out the extra field.
The printout also has sufficient info in it without explicitly adding
the transport. Before this change:
cros-ec-spi spi2.0: Chrome EC (SPI)
After this change:
cros-ec-spi spi2.0: Chrome EC device registered
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:14:02 +0000 (11:14 -0700)]
mfd: cros_ec: Use struct cros_ec_command to communicate with the EC
This is some internal structure reorganization / renaming to prepare
for future patches that will add a userspace API to cros_ec. There
should be no visible changes.
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Simon Glass [Wed, 18 Jun 2014 18:14:01 +0000 (11:14 -0700)]
mfd: cros_ec: Detect in-progress commands
Some commands take a while to execute. Use -EAGAIN to signal this to the
caller.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:14:00 +0000 (11:14 -0700)]
mfd: cros_ec: Tweak struct cros_ec_device for clarity
The members of struct cros_ec_device were improperly commented, and
intermixed the private and public sections. This is just cleanup to make it
more obvious what goes with what.
[dianders: left lock in the structure but gave it the name that will
eventually be used.]
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:13:59 +0000 (11:13 -0700)]
mfd: cros_ec: Allow static din/dout buffers with cros_ec_register()
The lower-level driver may want to provide its own buffers. If so,
there's no need to allocate new ones. This already happens to work
just fine (since we check for size of 0 and use devm allocation), but
it's good to document it.
[dianders: Resolved conflicts; documented that no code changes needed
on mainline]
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bill Richardson [Wed, 18 Jun 2014 18:13:58 +0000 (11:13 -0700)]
mfd: cros_ec: Fix the comment on cros_ec_remove()
This comment was incorrect, so update it.
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Tue, 1 Jul 2014 11:57:36 +0000 (12:57 +0100)]
mfd: pcf50633: Reconnect -ENOMEM error path
If platform_device_alloc() or platform_device_add_data() fail during
pcf50633_probe(), the current code ignores the return error code and
continues to attempt to allocate new platform devices for each of the
supported regulators. Instead, if any failures occur we should fail
out gracefully by cleaning up after ourselves and return the error.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Rickard Strandqvist [Thu, 26 Jun 2014 13:40:00 +0000 (15:40 +0200)]
mfd: ab8500-debugfs.c: Cleaning up values that are never used
Remove variable that are never used
This was found using a static code analysis program called cppcheck.
Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Chanwoo Choi [Wed, 25 Jun 2014 07:14:47 +0000 (16:14 +0900)]
mfd: sec-core: Prepare regulators for suspend state to reduce power-consumption
This patch use regulator_suspend_prepare() function to prepare the proper state
of regulators for suspend state to remove un-necessary leakage power-consumption.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Chanwoo Choi [Wed, 25 Jun 2014 07:14:46 +0000 (16:14 +0900)]
dt-bindings: mfd: s2mps11: Add support S2MPU02 PMIC
This patch add documentation for S2MPU02 PMIC device. S2MPU02 has a little
difference from S2MPS11/S2MPS14 PMIC and has LDO[1-28]/Buck[1-7].
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Chanwoo Choi [Wed, 25 Jun 2014 07:14:45 +0000 (16:14 +0900)]
regulator: s2mps11: Add support S2MPU02 regulator device
This patch add S2MPU02 regulator device to existing S2MPS11 device driver
because of little difference between S2MPS1x and S2MPU02. The S2MPU02
regulator device includes LDO[1-28] and BUCK[1-7].
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[Add missing linear_min_sel of S2MPU02 LDO regulators by Jonghwa Lee]
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Mark Brown <broonie@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Chanwoo Choi [Wed, 25 Jun 2014 07:14:44 +0000 (16:14 +0900)]
mfd: sec-core: Add support for S2MPU02 device
Add support for Samsung S2MPU02 PMIC device to the MFD sec-core driver.
The S2MPU02 device includes PMIC/RTC/Clock devices.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Alexander Shiyan [Wed, 18 Jun 2014 17:05:40 +0000 (21:05 +0400)]
mfd: mc13xxx: Use regmap irq framework for interrupts
This patch convert mc13xxx MFD driver to use regmap irq framework
for interrupt registration.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Sachin Kamat [Tue, 24 Jun 2014 09:09:07 +0000 (14:39 +0530)]
mfd: pm8921-core: Remove unused variable
‘irq_bit’ is unused in the function. Remove it.
Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Thu, 19 Jun 2014 15:04:23 +0000 (16:04 +0100)]
mfd: arizona: Add comment to explain non-devm regulator_get
To avoid someone attempting to change this regulator_get back into a
devm_regulator_get put a comment in explaining that devres can't be used
here as the regulator will be destroyed before devres calls
regulator_put.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Andreas Färber [Mon, 23 Jun 2014 01:21:19 +0000 (03:21 +0200)]
Documentation: devicetree: Fix s2mps11 and s5m8767 typos
It's LDO2, not LD02.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Sachin Kamat <sachin.kamat@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Andreas Färber [Mon, 23 Jun 2014 01:21:20 +0000 (03:21 +0200)]
Documentation: devicetree: Fix s2mps11 example syntax
It's <1>, not 1.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Sachin Kamat <sachin.kamat@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Mon, 16 Jun 2014 20:15:31 +0000 (21:15 +0100)]
mfd: wm8994: Add a bunch of missing defaults/readables
Ever since this commit:
commit
d4807ad2c4c0e17b6f00e3be9492c81de0804f40
regmap: Check readable regs in _regmap_read
Regmap will refuse to read a register which is not marked as readable,
this has highlighted a number of controls in this driver which are not
marked as readable/missing defaults.
This patch corrects the situation, by adding the missing
readables/defaults.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Prathyush K [Mon, 16 Jun 2014 21:12:23 +0000 (14:12 -0700)]
mfd: cros_ec_spi: Set wakeup capability
Set the device as wakeup capable and register the wakeup source.
Note: Though it makes more sense to have the SPI framework do this,
(either via device tree or by board_info)
this change is as per an existing mail chain:
https://lkml.org/lkml/2009/8/27/291
Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Laxman Dewangan [Mon, 9 Jun 2014 08:31:59 +0000 (14:01 +0530)]
dt-binding: mfd: as3722: Correct macro name
The macro name for enable3 pin is named as AS3722_EXT_CONTROL_PIN_ENABLE2
which is conflict with the enable2 pin.
Correct this macro name to correctly reflect the enable pin i.e.
AS3722_EXT_CONTROL_PIN_ENABLE3.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reported-by: Dan Willemsen <dwillemsen@nvidia.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Mon, 2 Jun 2014 08:50:43 +0000 (09:50 +0100)]
mfd: arizona: Lower ARIZONA_MAX_CORE_SUPPLIES to 2
There are no Arizona devices with 3 core supplies but we define a fix
array with space for 3 core supplies. Lower the ARIZONA_MAX_CORE_SUPPLIES
define to 2, to save a few bytes.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Mon, 2 Jun 2014 08:50:42 +0000 (09:50 +0100)]
mfd: arizona: Use num_core_supplies in arizona_dev_exit
Currently we call regulator_bulk_disable with
ARRAY_SIZE(arizona->core_supplies), however this array may be larger
than the number of supplies actually used by the chip we are dealing
with. Use the provided num_core_supplies member instead, so that we only
disable supplies which actually exist.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Mon, 2 Jun 2014 08:50:41 +0000 (09:50 +0100)]
mfd: arizona: Don't use devres for DCVDD
Currently the Arizona core uses a devm_regulator_get against its own
device node to obtain DCVDD. The Arizona core is an MFD device and DCVDD
is usually supplied by a child node (arizona-ldo1) of the core. As
devres destruction for the MFD device will run after all its children
have been destroyed, the regulator will be destroyed before devres
calls regulator_put. This causes a warning from both the destruction of
the child node, as the regulator is still open, and from the put of the
regulator as the regulator device has already been destroyed.
This patch handles the regulator get and put without devres to avoid
this issue.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Mon, 2 Jun 2014 08:50:40 +0000 (09:50 +0100)]
mfd: arizona: Disable DCVDD before we destroy the MFD
As DCVDD is probably supplied by a child of the MFD device move its
disable to before we destroy the MFD children as the regulator likely
won't exist after that.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Charles Keepax [Mon, 2 Jun 2014 08:50:39 +0000 (09:50 +0100)]
mfd: arizona: Disable PM runtime at start of driver removal
We don't want to trigger any PM runtime operations whilst we are tearing
down the driver, as things the suspend and resume callbacks rely on
might already have been destroyed. So disable PM runtime for the device
as the first step arizona_dev_exit.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Linus Walleij [Tue, 10 Jun 2014 12:31:32 +0000 (14:31 +0200)]
mfd: tc3589x: Translate onecell, not twocell
Something changed in the OF parser in the v3.16 merge window
making it be strict about passing the number of IRQ cells
correctly and disturbing the irqdomain xlate function guard
to crash when subdevices try to obtain IRQs like this:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at
/home/linus/linux-stericsson/kernel/irq/irqdomain.c:676
irq_domain_xlate_twocell+0x40/0x48()
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted
3.15.0-07915-gf6d059821ce9-dirty #46
[<
c0014660>] (unwind_backtrace)
from [<
c0011424>] (show_stack+0x10/0x14)
[<
c0011424>] (show_stack)
from [<
c0432630>] (dump_stack+0x9c/0xd4)
[<
c0432630>] (dump_stack)
from [<
c001d5c0>] (warn_slowpath_common+0x6c/0x88)
[<
c001d5c0>] (warn_slowpath_common)
from [<
c001d678>] (warn_slowpath_null+0x1c/0x24)
[<
c001d678>] (warn_slowpath_null)
from [<
c005acd0>] (irq_domain_xlate_twocell+0x40/0x48)
[<
c005acd0>] (irq_domain_xlate_twocell)
from [<
c005b658>] (irq_create_of_mapping+0x64/0x110)
[<
c005b658>] (irq_create_of_mapping)
from [<
c02e147c>] (of_irq_get+0x38/0x48)
[<
c02e147c>] (of_irq_get)
from [<
c01f8910>] (tc3589x_gpio_probe+0x38/0x1e4)
[<
c01f8910>] (tc3589x_gpio_probe)
from [<
c022eedc>] (platform_drv_probe+0x18/0x48)
[<
c022eedc>] (platform_drv_probe)
from [<
c022d80c>] (driver_probe_device+0x118/0x24c)
[<
c022d80c>] (driver_probe_device)
from [<
c022bf20>] (bus_for_each_drv+0x58/0x8c)
[<
c022bf20>] (bus_for_each_drv)
from [<
c022d6c4>] (device_attach+0x74/0x88)
[<
c022d6c4>] (device_attach)
from [<
c022cdac>] (bus_probe_device+0x84/0xa8)
[<
c022cdac>] (bus_probe_device)
from [<
c022b35c>] (device_add+0x440/0x520)
[<
c022b35c>] (device_add)
from [<
c022ec50>] (platform_device_add+0xb4/0x218)
[<
c022ec50>] (platform_device_add)
from [<
c0243508>] (mfd_add_device+0x220/0x31c)
[<
c0243508>] (mfd_add_device)
from [<
c02436a8>] (mfd_add_devices+0xa4/0x100)
[<
c02436a8>] (mfd_add_devices)
from [<
c024312c>] (tc3589x_probe+0x334/0x3c0)
[<
c024312c>] (tc3589x_probe)
from [<
c022d80c>] (driver_probe_device+0x118/0x24c)
The TC3589x device trees specify the MFD core device
as having one interrupt cell (cannot specify flags) so the
twocell translation function is clearly wrong, changing it to
onecell, as it should be, fixes the regression.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Sachin Kamat [Tue, 10 Jun 2014 10:00:34 +0000 (15:30 +0530)]
mfd: asic3: Fix potential null pointer dereference
We previously assumed 'mem_sdio' could be null but it is
dereferenced in ioremap(). Add a check to avoid a potential
null pointer dereference error.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Doug Anderson [Fri, 13 Jun 2014 18:13:32 +0000 (11:13 -0700)]
mfd: cros_ec: spi: Fix end of transfer on devices with no spi-msg-delay
cros_ec_spi makes the assumption that a 0-length message will put the
spi chip select back to normal (non cs_toggle mode). This used to be
the case back on kernel-3.8 on the spi-s3c64xx driver but doesn't
appear to be true anymore. It seems like it was a pretty questionable
assumption to begin with, so let's fix the code to be more robust. We
know that a message with a single 0-length segment _will_ put things
back in order. Change cros_ec_spi to handle this.
This wasn't a problem on the main user of cros_ec_spi upstream (tegra)
because it specified 'google,cros-ec-spi-msg-delay'.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Jean Delvare [Mon, 16 Jun 2014 11:54:15 +0000 (13:54 +0200)]
mfd: Fix cs5535 dependencies
As far as I know, the CS5535 and CS5536 chipsets are companions of the
Geode series of processors, which are 32-bit only. So the CS5535
drivers are not needed on x86-64, except for build testing purpose.
This aligns the dependencies to what FB_GEODE already uses.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Jean Delvare [Mon, 16 Jun 2014 11:56:01 +0000 (13:56 +0200)]
mfd: timberdale: Depend on X86_32
As far as I know the Timberdale chip was only used as a companion for
Intel Atom E600 series processors. As such, its drivers are only
useful on X86_32.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Lee Jones [Wed, 9 Jul 2014 13:55:13 +0000 (14:55 +0100)]
Merge branches 'ib-mfd-extcon-regulator-3.17', 'ib-mfd-gpio-3.17' and 'ib-mfd-mmc-3.17' into ibs-for-mfd-merged
Micky Ching [Fri, 6 Jun 2014 07:05:45 +0000 (15:05 +0800)]
mmc: rtsx: add support for async request
Add support for non-blocking request, pre_req() runs dma_map_sg() and
post_req() runs dma_unmap_sg(). This patch can increase card read/write
speed, especially for high speed card and slow speed CPU.
Test on intel i3(800MHz - 2.3GHz) performance mode(2.3GHz), SD card
clock 208MHz
run dd if=/dev/mmcblk0 of=/dev/null bs=64k count=1024
before:
67108864 bytes (67 MB) copied, 0.85427 s, 78.6 MB/s
after:
67108864 bytes (67 MB) copied, 0.74799 s, 89.7 MB/s
Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Micky Ching [Fri, 6 Jun 2014 07:05:44 +0000 (15:05 +0800)]
mfd: rtsx: Add dma transfer function
rtsx driver using a single function for transfer data, dma map/unmap are
placed in one fix function. We need map/unmap dma in different place(for
mmc async driver), so add three function for dma map, dma transfer and
dma unmap.
Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Linus Torvalds [Sun, 6 Jul 2014 19:37:51 +0000 (12:37 -0700)]
Linux 3.16-rc4
Linus Torvalds [Sun, 6 Jul 2014 19:11:57 +0000 (12:11 -0700)]
Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux
Pull devicetree bugfix from Grant Likely:
"Important bug fix for parsing 64-bit addresses on 32-bit platforms.
Without this patch the kernel will try to use memory ranges that
cannot be reached"
* tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
of: Check for phys_addr_t overflows in early_init_dt_add_memory_arch
Linus Torvalds [Sun, 6 Jul 2014 19:08:30 +0000 (12:08 -0700)]
Merge tag 'scsi-for-linus' of git://git./linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"This is a set of 13 fixes, a MAINTAINERS update and a sparse update.
The fixes are mostly correct value initialisations, avoiding NULL
derefs and some uninitialised pointer avoidance.
All the patches have been incubated in -next for a few days. The
final patch (use the scsi data buffer length to extract transfer size)
has been rebased to add a cc to stable, but only the commit message
has changed"
* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
[SCSI] use the scsi data buffer length to extract transfer size
virtio-scsi: fix various bad behavior on aborted requests
virtio-scsi: avoid cancelling uninitialized work items
ibmvscsi: Add memory barriers for send / receive
ibmvscsi: Abort init sequence during error recovery
qla2xxx: Fix sparse warning in qla_target.c.
bnx2fc: Improve stats update mechanism
bnx2fc: do not scan uninitialized lists in case of error.
fc: ensure scan_work isn't active when freeing fc_rport
pm8001: Fix potential null pointer dereference and memory leak.
MAINTAINERS: Update LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) maintainers Email IDs
be2iscsi: remove potential junk pointer free
be2iscsi: add an missing goto in error path
scsi_error: set DID_TIME_OUT correctly
scsi_error: fix invalid setting of host byte
Linus Torvalds [Sun, 6 Jul 2014 00:13:46 +0000 (17:13 -0700)]
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie:
"i915, tda998x and vmwgfx fixes,
The main one is i915 fix for missing VGA connectors, along with some
fixes for the tda998x from Russell fixing some modesetting problems.
(still on holidays, but got a spare moment to find these)"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/vmwgfx: Fix incorrect write to read-only register v2:
drm/i915: Drop early VLV WA to fix Voltage not getting dropped to Vmin
drm/i915: only apply crt_present check on VLV
drm/i915: Wait for vblank after enabling the primary plane on BDW
drm/i2c: tda998x: add some basic mode validation
drm/i2c: tda998x: faster polling for edid
drm/i2c: tda998x: move drm_i2c_encoder_destroy call
This page took 0.050073 seconds and 5 git commands to generate.