aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-07-06mfd: Add LP87565 PMIC supportKeerthy5-0/+428
The LP87565 chip is a power management IC for Portable Navigation Systems and Tablet Computing devices. It contains the following components: - Configurable Bucks(Single and multi-phase). - Configurable General Purpose Output Signals (GPO). The LP87565-Q1 variant device uses two 2-phase outputs configuration, Buck0 is master for Buck0/1 output and Buck2 is master for Buck2/3 output. Signed-off-by: Keerthy <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: cros_ec: Free IRQ on exitJeffy Chen1-0/+3
Currently we request the irq when probing, but never free it. So after unbind ec driver, this irq will be left requested, which would break the next bind: [ 2683.338437] genirq: Flags mismatch irq 64. 00002008 (chromeos-ec) vs. 00002008 (chromeos-ec) [ 2683.338591] cros-ec-spi spi5.0: request irq 64: error -16 [ 2683.338610] cros-ec-spi spi5.0: cannot register EC [ 2683.338656] cros-ec-spi: probe of spi5.0 failed with error -16 Signed-off-by: Jeffy Chen <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06dt-bindings: vendor-prefixes: Add arctic to vendor prefixOlimpiu Dejeu1-0/+1
Acked-by: Rob Herring <[email protected]> Reviewed-by: Jingoo Han <[email protected]> Signed-off-by: Olimpiu Dejeu <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: da9061: Fix to remove BBAT_CONT register from chip modelSteve Twiss1-6/+0
Remove the register DA9062AA_BBAT_CONT (0x0C5) from the DA9061 chip model regmap access ranges. This applies to both da9061_aa_readable_ranges[] and da9061_aa_writeable_ranges[]. This change is to correct the DA9061 chip model and align it with the latest DA9061 Datasheet. This register previously appeared in the DA9061 Datasheet, Revision 3.2, 01-Mar-2016 and has been removed from later DA9061 datasheet from Dialog, Revision 3.3, 04-Apr-2017. Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: da9061: Fix to remove BBAT_CONT register from chip modelSteve Twiss1-6/+0
Remove the register DA9062AA_BBAT_CONT (0x0C5) from the DA9061 chip model regmap access ranges. This applies to both da9061_aa_readable_ranges[] and da9061_aa_writeable_ranges[]. This change is to correct the DA9061 chip model and align it with the latest DA9061 Datasheet. This register previously appeared in the DA9061 Datasheet, Revision 3.2, 01-Mar-2016 and has been removed from later DA9061 datasheet from Dialog, Revision 3.3, 04-Apr-2017. Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: axp20x-i2c: Document that this must be builtin on x86Hans de Goede1-0/+5
On x86 the AXP288 PMIC provides an ACPI OpRegion handler, which must be available before other drivers using it are loaded, which can only be ensured if the MFD, OpRegion and i2c-bus drivers are built-in. Since the AXP20x MFD code is used on non x86 too we cannot simply change this into a bool, I've tried some Kconfig magic with if x86 but I could not get this working correctly, so this commit just documents that this should be built-in on x86, which fixes errors like these during boot: mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-2 ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93 ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b acpi 80860F14:02: Failed to change power state to D0 Signed-off-by: Hans de Goede <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> Tested-by: russianneuromancer <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: Add Cherry Trail Whiskey Cove PMIC driverHans de Goede3-0/+247
Add mfd driver for Intel CHT Whiskey Cove PMIC, based on various non upstreamed CHT Whiskey Cove PMIC patches. This is a somewhat minimal version which adds irqchip support and cells for: ACPI PMIC opregion support, the i2c-controller driving the external charger irc and the pwrsrc/extcon block. Further cells can be added in the future if/when drivers are upstreamed for them. [The above patch caused a build error on some archetectures] From: Arnd Bergmann <[email protected]> I ran into a build error on ARM with a platform that has a non-standard clk implementation: drivers/clk/clk.o: In function `clk_disable': clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable' arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here drivers/clk/clk.o: In function `clk_enable': clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable' arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here The problem is a device driver that uses 'select COMMON_CLK', which is generally a bad idea: selecting a subsystem should only be done from a platform, otherwise we run into circular dependencies. The same driver also selects 'GPIOLIB' and 'I2C', which has a similar effect. This turns all three into 'depends on', as it should be. Finally, we can limit the build to x86, unless we are compile testing. First patch: Signed-off-by: Hans de Goede <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Fix for first patch (squashed): Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: tc6393xb: Handle return value of clk_prepare_enableArvind Yadav1-1/+3
clk_prepare_enable() can fail here and we must check its return value. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: intel_quark_i2c_gpio: Add support for SIMATIC IOT2000 platformJan Kiszka1-0/+16
The SIMATIC IOT2020 and IOT2040 are derived from the Galileo Gen2 board and share its I2C frequency. Signed-off-by: Sascha Weisenberger <[email protected]> Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: intel_quark_i2c_gpio: Use dmi_system_id table for retrieving frequencyJan Kiszka1-20/+13
Avoids reimplementation of DMI matching in intel_quark_i2c_setup. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: motorola-cpcap: Use devm_of_platform_populate()Benjamin Gaignard1-12/+1
Usage of devm_of_platform_populate() simplify driver code by allowing to delete cpcap_remove(). Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: smsc-ece: Use devm_of_platform_populate()Benjamin Gaignard1-2/+1
Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: qcom-spmi-pmic: Use devm_of_platform_populate()Benjamin Gaignard1-8/+1
Usage of devm_of_platform_populate() simplify driver code by allowing to delete pmic_spmi_remove(). Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: palmas: Use devm_of_platform_populate()Benjamin Gaignard1-1/+1
Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: exynos: Use devm_of_platform_populate()Benjamin Gaignard1-1/+1
Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: fsl-imx25: Use devm_of_platform_populate()Benjamin Gaignard1-4/+1
Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: cros_ec: Use devm_of_platform_populate()Benjamin Gaignard1-1/+1
Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: atmel: Use devm_of_platform_populate()Benjamin Gaignard1-1/+1
Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: stm32-timers: Use devm_of_platform_populate()Benjamin Gaignard1-9/+1
Use devm_of_platform_populate() instead of of_platform_populate() and suppress stm32_timers_remove() which become useless. Signed-off-by: Benjamin Gaignard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: intel_soc_pmic: Select designware i2c-bus driverHans de Goede1-2/+7
The Crystal Cove PMIC provides an ACPI OPRegion handler, which must be available before other drivers using it are loaded, which is why INTEL_SOC_PMIC is a bool. Just having the driver is not enough, the driver for the i2c-bus must also be built in, to ensure this, this patch adds a select for it. This fixes errors like these during boot: mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] (20170119/evregion-166) ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-299) ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93543b0cde10), AE_NOT_EXIST (20170119/psparse-543) ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b0b5cd0), AE_NOT_EXIST (20170119/psparse-543) acpi 80860F14:02: Failed to change power state to D0 While at it this patch also changes the human readable name of the Kconfig option to make clear the INTEL_SOC_PMIC option selects support for the Intel Crystal Cove PMIC and documents why this is a bool. [The above patch caused a build error on some archetectures] From: Arnd Bergmann <[email protected]> I ran into a build error on ARM with a platform that has a non-standard clk implementation: drivers/clk/clk.o: In function `clk_disable': clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable' arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here drivers/clk/clk.o: In function `clk_enable': clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable' arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here The problem is a device driver that uses 'select COMMON_CLK', which is generally a bad idea: selecting a subsystem should only be done from a platform, otherwise we run into circular dependencies. The same driver also selects 'GPIOLIB' and 'I2C', which has a similar effect. This turns all three into 'depends on', as it should be. Finally, we can limit the build to x86, unless we are compile testing. First patch: Signed-off-by: Hans de Goede <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Fix for first patch (squashed): Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06MAINTAINERS: da9062/61 updates to the Dialog Semiconductor search termsSteve Twiss1-0/+4
Additions to search terms for files supported by Dialog Semiconductor. This update will allow Dialog support to follow files for device tree bindings (onkey, thermal and watchdog) and source code for chip thermal monitoring drivers. Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: fsl-imx25-tsadc: Constify irq_domain_opsTobias Klauser1-1/+1
struct irq_domain_ops is not modified, so it can be made const. Signed-off-by: Tobias Klauser <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: twl4030-irq: Log an error in twl4030_sih_setup if the module cannot be ↵Uwe Kleine-König1-1/+3
found As silently failing isn't that nice, emit an error message at a place that was silent on failure up to now. Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: arizona: Update GPIO binding for newly supported specifiersCharles Keepax1-1/+2
Link to the generic GPIO specifier bindings now that the second cell of the binding has some support in the driver. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: wm831x-spi: Add NULL check before pointer dereferenceGustavo A. R. Silva1-0/+4
Add NULL check before dereferencing pointer of_id in order to avoid a potential NULL pointer dereference. Addresses-Coverity-ID: 1408830 Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: wm831x-i2c: Add NULL check before pointer dereferenceGustavo A. R. Silva1-0/+4
Add NULL check before dereferencing pointer of_id in order to avoid a potential NULL pointer dereference. Addresses-Coverity-ID: 1408829 Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: rtsx: Do retry when DMA transfer errorSteven Feng2-2/+20
The request should be resent when DMA transfer error occurred. For rts5227, the clock rate needs to be reduced when error occurred. Signed-off-by: Steven Feng <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: axp20x: Add axp20x-regulator cell for AXP803Icenowy Zheng1-1/+2
As axp20x-regulator now supports AXP803, add a cell for it. Signed-off-by: Icenowy Zheng <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: rn5t618: Unregister restart handler on removeStefan Agner1-0/+2
Remove the restart handler registered in probe on device remove. Fixes: a370f60a58ec ("mfd: rn5t618: Register restart handler") Signed-off-by: Stefan Agner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: wm831x: Remove redundant !pdata checksCharles Keepax1-14/+12
Since a copy of the pdata was added into the core struct in commit f6dd8449cd50 ("mfd: wm831x: Add basic device tree binding") the pdata pointer in probe can no longer be NULL. As such remove the redundant checks for this case. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: ipaq-micro: Dump debugging hexdumpsLinus Walleij1-5/+0
These hexdumps get printed no matter if CONFIG_DEBUG is set or not. Just get rid of them. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06mfd: intel-lpss: Add Intel Cannonlake PCI IDsAndy Shevchenko1-0/+24
Intel Cannonlake PCH has the same LPSS than Intel Kabylake. Add the new IDs to the list of supported devices. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2017-07-06VFS: Provide empty name qstrDavid Howells6-10/+15
Provide an empty name (ie. "") qstr for general use. Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2017-07-06VFS: Make get_filesystem() return the affected filesystemDavid Howells2-2/+3
Make get_filesystem() return a pointer to the filesystem on which it just got a ref. Suggested-by: Rasmus Villemoes <[email protected]> Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2017-07-06VFS: Clean up whitespace in fs/namespace.c and fs/super.cDavid Howells2-4/+4
Clean up line terminal whitespace in fs/namespace.c and fs/super.c. Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2017-07-06Provide a function to create a NUL-terminated string from unterminated dataDavid Howells2-0/+25
Provide a function, kmemdup_nul(), that will create a NUL-terminated string from an unterminated character array where the length is known in advance. This is better than kstrndup() in situations where we already know the string length as the strnlen() in kstrndup() is superfluous. Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2017-07-06ALSA: opl4: Move inline before return typeJoe Perches1-1/+1
Make the code like the rest of the kernel. Signed-off-by: Joe Perches <[email protected]> Acked-by: Clemens Ladisch <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2017-07-06pwm: meson: Add compatible for the gxbb ao PWMsJerome Brunet1-3/+29
On the gxbb (and gxl) family, the PWMs of the AO domain require a specific compatible because the possible input clocks are different from the EE PWMs input clocks. Since the number of possible input clocks is also different, the 'num_parents' field is added to all the Meson PWM data. Acked-by: Neil Armstrong <[email protected]> Signed-off-by: Jerome Brunet <[email protected]> Reviewed-by: Kevin Hilman <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06pwm: sun4i: Drop legacy callbacksAlexandre Belloni1-160/+0
Remove the legacy callbacks .enable(), .disable(), .set_polarity() and .config(). Signed-off-by: Alexandre Belloni <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06pwm: sun4i: Switch to atomic PWMAlexandre Belloni1-0/+166
Switch the driver to atomic PWM. This makes it easier to wait a proper amount of time when changing the duty cycle before disabling the channel (main use case is switching the duty cycle to 0 before disabling). Signed-off-by: Alexandre Belloni <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06pwm: sun4i: Improve hardware read outAlexandre Belloni1-19/+46
Implement .get_state instead of only reading the polarity at probe time. This allows to get the proper state, period and duty cycle. Signed-off-by: Alexandre Belloni <[email protected]> Reviewed-by: Chen-Yu Tsai <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06nvme-rdma: unconditionally recycle the request mrSagi Grimberg1-3/+0
When our RDMA queue-pair is torn down with high load of I/O traffic, we have no way of knowing if the memory region was actually registered by the reg_mr work request as it completion flushes with error (hw might have done it or not). So in order to not deal with all this uncertanty, we simply recycle the MR in reinit_request. Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06nvme: split nvme_uninit_ctrl into stop and uninitSagi Grimberg6-60/+43
Usually before we teardown the controller we want to: 1. complete/cancel any ctrl inflight works 2. remove ctrl namespaces (only for removal though, resets shouldn't remove any namespaces). but we do not want to destroy the controller device as we might use it for logging during the teardown stage. This patch adds nvme_start_ctrl() which queues inflight controller works (aen, ns scan, queue start and keep-alive if kato is set) and nvme_stop_ctrl() which cancels the works namespace removal is left to the callers to handle. Move nvme_uninit_ctrl after we are done with the controller device. Reviewed-by: Keith Busch <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06virtio_blk: quiesce/unquiesce live IO when entering PM statesSagi Grimberg1-2/+2
Without it its not guaranteed that no .queue_rq is inflight. Reviewed-by: Ming Lei <[email protected]> Acked-by: Michael S. Tsirkin <[email protected]> Cc: [email protected] Cc: Jason Wang <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06mtip32xx: quiesce request queues to make sure no submissions are inflightSagi Grimberg1-4/+15
Unlike blk_mq_stop_hw_queues, blk_mq_quiesce_queue respects the submission path rcu grace. quiesce the queue before iterating on live tags, or performing device io quiescing. While were at it, verify that the request started in mtip_abort_cmd amd mtip_queue_cmd tag iteration calls. Reviewed-by: Ming Lei <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06nbd: quiesce request queues to make sure no submissions are inflightSagi Grimberg1-2/+2
Unlike blk_mq_stop_hw_queues, blk_mq_quiesce_queue respects the submission path rcu grace. quiesce the queue before iterating on live tags. Reviewed-by: Ming Lei <[email protected]> Acked-by: Josef Bacik <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06nvme: kick requeue list when requeueing a request instead of when starting ↵Sagi Grimberg1-17/+2
the queues When we requeue a request, we can always insert the request back to the scheduler instead of doing it when restarting the queues and kicking the requeue work, so get rid of the requeue kick in nvme (core and drivers). Also, now there is no need start hw queues in nvme_kill_queues We don't stop the hw queues anymore, so no need to start them. Reviewed-by: Ming Lei <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06nvme-pci: quiesce/unquiesce admin_q instead of start/stop its hw queuesSagi Grimberg1-3/+3
unlike blk_mq_stop_hw_queues and blk_mq_start_stopped_hw_queues quiescing/unquiescing respects the submission path rcu grace. Reviewed-by: Ming Lei <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06nvme-loop: quiesce/unquiesce admin_q instead of start/stop its hw queuesSagi Grimberg1-1/+2
unlike blk_mq_stop_hw_queues and blk_mq_start_stopped_hw_queues quiescing/unquiescing respects the submission path rcu grace. Reviewed-by: Ming Lei <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>
2017-07-06nvme-fc: quiesce/unquiesce admin_q instead of start/stop its hw queuesSagi Grimberg1-2/+3
unlike blk_mq_stop_hw_queues and blk_mq_start_stopped_hw_queues quiescing/unquiescing respects the submission path rcu grace. Also, make sure to unquiesce before cleanup the admin queue. Reviewed-by: Ming Lei <[email protected]> Reviewed-By: James Smart <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]>