summaryrefslogtreecommitdiff
path: root/drivers/mfd
AgeCommit message (Collapse)Author
2014-08-14drivers/mfd/rtsx_usb.c: export device tableJeff Mahoney
The rtsx_usb driver contains the table for the devices it supports but doesn't export it. As a result, no alias is generated and it doesn't get loaded automatically. Via https://bugzilla.novell.com/show_bug.cgi?id=890096 Signed-off-by: Jeff Mahoney <jeffm@suse.com> Reported-by: Marcel Witte <wittemar@googlemail.com> Cc: Roger Tseng <rogerable@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-08-07Merge tag 'mfd-for-linus-3.17' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD update from Lee Jones: "Changes to existing drivers: - checkpatch fixes throughout the subsystem - use Regmap to handle IRQs in max77686, extcon-max77693 and mc13xxx-core - use DMA in rtsx_pcr - restrict building on unsupported architectures on timberdale, cs5535 - SPI hardening in cros_ec_spi - more robust error handing in asic3, cros_ec, ab8500-debugfs, max77686 and pcf50633-core - reorder PM runtime and regulator handing during shutdown in arizona - enable wakeup in cros_ec_spi - unused variable/code clean-up in pm8921-core, cros_ec, htc-i2cpld, tps65912-spi, wm5110-tables and ab8500-debugfs - add regulator handing into suspend() in sec-core - remove pointless wrapper functions in extcon-max77693 and i2c-cros-ec-tunnel - use cross-architecture friendly data sizes in stmpe-i2c, arizona, max77686 and tps65910 - devicetree documentation updates throughout - provide power management support in max77686 - few OF clean-ups in max77686 - use manged resources in tps6105x New drivers/supported devices: - add support for s2mpu02 to sec-core - add support for Allwinner A32 to sun6i-prcm - add support for Maxim 77802 in max77686 - add support for DA9063 AD in da9063 - new driver for Intel PMICs (generic) and specifically Crystal Cove (Re-)moved drivers == - move out keyboard functionality cros_ec ==> input/keyboard/cros_ec_keyb" * tag 'mfd-for-linus-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (101 commits) MAINTAINERS: Update MFD repo location mfd: omap-usb-host: Fix improper mask use. mfd: arizona: Only free the CTRLIF_ERR IRQ if we requested it mfd: arizona: Add missing handling for ISRC3 under/overclocked mfd: wm5110: Add new interrupt register definitions mfd: arizona: Rename thermal shutdown interrupt mfd: wm5110: Add in the output done interrupts mfd: wm5110: Remove non-existant interrupts mfd: tps65912-spi: Remove unused variable mfd: htc-i2cpld: Remove unused code mfd: da9063: Add support for AD silicon variant mfd: arizona: Map MICVDD from extcon device to the Arizona core mfd: arizona: Add MICVDD to mapped regulators for wm8997 mfd: max77686: Ensure device type IDs are architecture agnostic mfd: max77686: Add Maxim 77802 PMIC support mfd: tps6105x: Use managed resources when allocating memory mfd: wm8997-tables: Suppress 'line over 80 chars' warnings mfd: kempld-core: Correct a variety of checkpatch warnings mfd: ipaq-micro: Fix coding style errors/warnings reported by checkpatch mfd: si476x-cmd: Remedy checkpatch style complains ...
2014-08-06Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree changes from Jiri Kosina: "Summer edition of trivial tree updates" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits) doc: fix two typos in watchdog-api.txt irq-gic: remove file name from heading comment MAINTAINERS: Add miscdevice.h to file list for char/misc drivers. scsi: mvsas: mv_sas.c: Fix for possible null pointer dereference doc: replace "practise" with "practice" in Documentation befs: remove check for CONFIG_BEFS_RW scsi: doc: fix 'SCSI_NCR_SETUP_MASTER_PARITY' drivers/usb/phy/phy.c: remove a leading space mfd: fix comment cpuidle: fix comment doc: hpfall.c: fix missing null-terminate after strncpy call usb: doc: hotplug.txt code typos kbuild: fix comment in Makefile.modinst SH: add proper prompt to SH_MAGIC_PANEL_R2_VERSION ARM: msm: Remove MSM_SCM crypto: Remove MPILIB_EXTRA doc: CN: remove dead link, kerneltrap.org no longer works media: update reference, kerneltrap.org no longer works hexagon: update reference, kerneltrap.org no longer works doc: LSM: update reference, kerneltrap.org no longer works ...
2014-08-05Merge branch 'timers-core-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer and time updates from Thomas Gleixner: "A rather large update of timers, timekeeping & co - Core timekeeping code is year-2038 safe now for 32bit machines. Now we just need to fix all in kernel users and the gazillion of user space interfaces which rely on timespec/timeval :) - Better cache layout for the timekeeping internal data structures. - Proper nanosecond based interfaces for in kernel users. - Tree wide cleanup of code which wants nanoseconds but does hoops and loops to convert back and forth from timespecs. Some of it definitely belongs into the ugly code museum. - Consolidation of the timekeeping interface zoo. - A fast NMI safe accessor to clock monotonic for tracing. This is a long standing request to support correlated user/kernel space traces. With proper NTP frequency correction it's also suitable for correlation of traces accross separate machines. - Checkpoint/restart support for timerfd. - A few NOHZ[_FULL] improvements in the [hr]timer code. - Code move from kernel to kernel/time of all time* related code. - New clocksource/event drivers from the ARM universe. I'm really impressed that despite an architected timer in the newer chips SoC manufacturers insist on inventing new and differently broken SoC specific timers. [ Ed. "Impressed"? I don't think that word means what you think it means ] - Another round of code move from arch to drivers. Looks like most of the legacy mess in ARM regarding timers is sorted out except for a few obnoxious strongholds. - The usual updates and fixlets all over the place" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits) timekeeping: Fixup typo in update_vsyscall_old definition clocksource: document some basic timekeeping concepts timekeeping: Use cached ntp_tick_length when accumulating error timekeeping: Rework frequency adjustments to work better w/ nohz timekeeping: Minor fixup for timespec64->timespec assignment ftrace: Provide trace clocks monotonic timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC seqcount: Add raw_write_seqcount_latch() seqcount: Provide raw_read_seqcount() timekeeping: Use tk_read_base as argument for timekeeping_get_ns() timekeeping: Create struct tk_read_base and use it in struct timekeeper timekeeping: Restructure the timekeeper some more clocksource: Get rid of cycle_last clocksource: Move cycle_last validation to core code clocksource: Make delta calculation a function wireless: ath9k: Get rid of timespec conversions drm: vmwgfx: Use nsec based interfaces drm: i915: Use nsec based interfaces timekeeping: Provide ktime_get_raw() hangcheck-timer: Use ktime_get_ns() ...
2014-08-05Merge remote-tracking branches 'regulator/topic/s2mps11', ↵Mark Brown
'regulator/topic/s2mpu02', 'regulator/topic/s5m8767' and 'regulator/topic/tps65090' into regulator-next
2014-08-05Merge remote-tracking branches 'regulator/topic/lp8755', ↵Mark Brown
'regulator/topic/ltc3589', 'regulator/topic/max8952', 'regulator/topic/mc13xxx' and 'regulator/topic/palmas' into regulator-next
2014-07-29mfd: omap-usb-host: Fix improper mask use.Michael Welling
single-ulpi-bypass is a flag used for older OMAP3 silicon. The flag when set, can excite code that improperly uses the OMAP_UHH_HOSTCONFIG_UPLI_BYPASS define to clear the corresponding bit. Instead it clears all of the other bits disabling all of the ports in the process. Cc: stable@vger.kernel.org Signed-off-by: Michael Welling <mwelling@emacinc.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-07-28mfd: arizona: Only free the CTRLIF_ERR IRQ if we requested itCharles Keepax
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>
2014-07-28mfd: arizona: Add missing handling for ISRC3 under/overclockedCharles Keepax
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>
2014-07-28mfd: wm5110: Add new interrupt register definitionsCharles Keepax
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>
2014-07-28mfd: arizona: Rename thermal shutdown interruptCharles Keepax
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>
2014-07-28mfd: wm5110: Add in the output done interruptsCharles Keepax
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>
2014-07-28mfd: wm5110: Remove non-existant interruptsCharles Keepax
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>
2014-07-28mfd: tps65912-spi: Remove unused variableSachin Kamat
‘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>
2014-07-28mfd: htc-i2cpld: Remove unused codeSachin Kamat
Removed code unused in this function. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-07-28mfd: da9063: Add support for AD silicon variantOpensource [Steve Twiss]
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>
2014-07-28mfd: arizona: Map MICVDD from extcon device to the Arizona coreCharles Keepax
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>
2014-07-28mfd: arizona: Add MICVDD to mapped regulators for wm8997Charles Keepax
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>
2014-07-25mfd: max77686: Ensure device type IDs are architecture agnosticLee Jones
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>
2014-07-25mfd: max77686: Add Maxim 77802 PMIC supportJavier Martinez Canillas
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>
2014-07-25mfd: tps6105x: Use managed resources when allocating memoryHimangi Saraogi
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>
2014-07-25mfd: wm8997-tables: Suppress 'line over 80 chars' warningsLee Jones
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>
2014-07-25mfd: kempld-core: Correct a variety of checkpatch warningsLee Jones
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>
2014-07-25mfd: ipaq-micro: Fix coding style errors/warnings reported by checkpatchLee Jones
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>
2014-07-25mfd: si476x-cmd: Remedy checkpatch style complainsLee Jones
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>
2014-07-25mfd: tc6387xb: Remove unnecessary braces and correct style warningsLee Jones
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>
2014-07-25mfd: twl6030-irq: Extinguish coding style warningsLee Jones
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>
2014-07-25mfd: wm8350-i2c: Replace spaces with tabsLee Jones
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>
2014-07-25mfd: max8925-core: Fix 'missing blank line after declarations' warningLee Jones
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>
2014-07-25mfd: twl4030-irq: Fix style warnings relating to pr_warn() and sizeof()Lee Jones
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>
2014-07-25mfd: lp8788-irq: Fix 'missing blank line after declarations' warningLee Jones
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>
2014-07-25mfd: ezx-pcap: Repair coding style errors picked up with checkpatchLee Jones
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>
2014-07-23mfd: cros_ec_spi: Use ktime_get_ns()Thomas Gleixner
Replace the ever recurring: ts = ktime_get_ts(); ns = timespec_to_ns(&ts); with ns = ktime_get_ns(); Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org>
2014-07-22mfd: twl6040: Fix 'insert space after ','', errorLee Jones
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>
2014-07-22mfd: sec-core: Fix 'missing blank line after declarations' warningLee Jones
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>
2014-07-22mfd: dm355evm_msp: Fix checkpatch error: insert space after ','Lee Jones
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>
2014-07-22mfd: wm8350-irq: Fix 'line over 80 chars' warningLee Jones
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>
2014-07-22mfd: mcp-core: Fix 'blank line after declarations' warningLee Jones
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>
2014-07-21mfd: max8925-i2c: Fix 'blank line after declarations' warningLee Jones
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>
2014-07-21mfd: max77686: Fix 'line over 80 chars' warningLee Jones
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>
2014-07-21mfd: max77686: Remove unneeded OOM error messageJavier Martinez Canillas
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>
2014-07-21mfd: max77686: Make error checking consistentJavier Martinez Canillas
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>
2014-07-21mfd: max77686: Return correct error when pdata isn't foundJavier Martinez Canillas
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>
2014-07-21mfd: max77686: Make platform data over-rule DTJavier Martinez Canillas
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>
2014-07-21mfd: max77686: Don't define dummy function if OF isn't enabledJavier Martinez Canillas
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>
2014-07-21mfd: max77686: Add power management supportJavier Martinez Canillas
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>
2014-07-21mfd: max77686: Convert to use regmap_irqJavier Martinez Canillas
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>
2014-07-21mfd: sun6i-prcm: Add support for Allwinner A23 PRCMChen-Yu Tsai
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>
2014-07-21mfd: ab8500-debugfs: BIG clean-upLee Jones
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>
2014-07-09mfd: cros_ec: Use the proper size when looking at the cros_ec_i2c resultDoug Anderson
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>