Age | Commit message (Collapse) | Author | Files | Lines |
|
Use devm_*() functions to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Use devm_*() functions to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Use devm_*() functions to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Use devm_*() functions to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Use devm_gpio_request_one() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Use devm_gpio_request_one() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Use devm_gpio_request_one() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
devm_kfree() allocates memory that is released when a driver detaches.
Thus, there is no reason to explicitly call devm_kfree() in probe or remove
functions.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
The adp5520 unfortunately also clears the BL_EN bit when the nSTNDBY bit is
cleared. So we need to make sure to restore it during resume if it was set
before suspend.
Cc: [email protected]
Signed-off-by: Lars-Peter Clausen <[email protected]>
Acked-by: Michael Hennerich <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson
MFD portions of the ux500 multiplatform branch.
A second tag for the ARM SoC tree will build upon
this one. This mainly removes the header file
dependencies from the PRCMU driver in the MFD
subsystem, and moves the PM functions to the
machine.
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Tell twl4030_madc_conversion that this driver needs raw values.
Driver twl4030_madc has some hardcoded values and conversation
functions which are incorrect for Nokia RX-51 board. This driver
rx51_battery expects raw values which convert itself.
This patch fixing values reported by power supply interface.
Before this patch driver reported always incorrect values on
3.8 kernel (sometimes design capacity was negative).
Signed-off-by: Pali Rohár <[email protected]>
Acked-by: Anton Vorontsov <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Driver twl4030-madc has hardcoded channel types (10 - battery current,
1 - battery temperature) and also conversation data in variable
twl4030_divider_ratios. These hardcoded channels are incorrect for
Nokia RX-51 board (where is channel 0 - battery temperature).
For Nokia RX-51 there is rx51_battery power_supply driver which reporting
battery information via twl4030_madc_conversion. But this driver needs
raw values (not converted via some hardcoded functions). So this patch
adding new parameter "raw" to struct twl4030_madc_request which tell
twl4030-madc driver to not convert values, but rather return raw.
Signed-off-by: Pali Rohár <[email protected]>
Reviewed-by: Anton Vorontsov <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
As we are using a custom boot sequence we don't need to wait for the
standard boot sequence in device init when the normal write sequence is
disabled.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Acquire the /RESET GPIO before we enable regulators and hold the device
in reset while the regulators power up in order to improve robustness
during the initial power up.
Also fix the error path so that the device is left in reset while we're
at it.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Registers which have defaults and are updated by the patch file should
have their defaults updated to match the value set by the patch file,
otherwise incorrect values will be read from the cache.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch deactivates the standard, currently noop, boot sequence
because we now have facilities in place for running a custom boot
sequence.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch adds facilities for apply a register patch contained within
the chip using the write sequencer.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Factor out the polling of the interrupt status register whilst we wait
for boot done to allow the polling to be reused in other situations.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Future updates will require us to manually apply the register patch for
wm5102.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Only the lowest three bits contain device revision for WM5102, the high
bits have been repurposed.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
If we have a directly provided 32kHz clock unconditionally enable it,
substantial chip functionality relies on it so dynamic management is
not worthwhile.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
MCLK1 is not in the AoD power domain so if it is used as the 32kHz clock
source we need to hold a runtime PM reference to keep the device from going
into low power mode.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
If no irq_flags are passed in platform data then query the interrupt
controller for the trigger type and try to use that. This provides
default operation with a wider range of hardware and will be needed
for device tree support where the interrupt flags are configured on
the interrupt controller.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
If a GPIO is specified for the chip IRQ line then request it. This
improves support for systems that do not put pins into input mode when
used as interrupts.
Also use this GPIO when the primary IRQ is in edge triggered mode to
detect if we have handled pending interrupts in order to improve
robustness.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Allow the user to configure edge triggered IRQs, though we do not yet
fully handle new interrupts occurring while an interrupt is being handled.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
regmap has a very similar looking error, help identify where the error
comes from by changing the error message.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Make sure that we don't leave the device enabled needlessly.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This untangles the final bits of the prcmu code from the platform
code:
* The IRQ_PRCMU_* definitions move from irqs-db8500.h into prcmu.c
because they are only of local significance.
* u8500_thsens_device goes into the prcmu, because it uses a PRCMU
IRQ that the platform does not see.
* IRQ_DB8500_AB8500 and IRQ_PRCMU_BASE go into the platform data
because the PRCMU does not see it.
Acked-by: Samuel Ortiz <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
[Fixed a oneliner bug]
Signed-off-by: Linus Walleij <[email protected]>
|
|
These two <mach/*> includes are no longer used in the
PRCMU driver, so drop them.
Signed-off-by: Linus Walleij <[email protected]>
|
|
We are trying to decompose and decentralize the code in
the DB8500 PRCMU out into subdrivers. The code moved in
this patch concerns a group of functions used for
decoupling and recoupling the IRQs from the GIC. During
sleep and idle the Ux500 system will transfer all IRQ
handling to the PRCMU using these functions.
Basically we are left with the two alternatives of code
placement as:
- arch/arm/mach-ux500/pm.c - this because the code is
closely related to the GIC, and takes ownership of
some of the registers from the PRCMU related to this
PM functionality.
- drivers/mfd/db8500-prcmu-pm.c - because the code is
affecting stuff in the PRCMU register range. But then
this code needs to remap and handle GIC registers.
This patch implementation is taking the first approach.
Currently the cpuidle driver is the only piece of code
using this set of functions, but it will later also be
used by the suspend/resume code which is currently under
review.
The header file is moved to:
<linux/platform_data/arm-ux500-pm.h>
The function prototypes need to be placed in a globally
visible header since the CPUidle code is planned to move
out to drivers/cpuidle.
Acked-by: Samuel Ortiz <[email protected]>
Acked-by: Rickard Andersson <[email protected]>
Acked-by: Daniel Lezcano <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
We cannot use a global variable stored in <mach/hardware.h> to
find the base address of the PRCMU. The real resource is already
there from the board, so use this to look up the base address
instead.
Currently the patch is kept minimal so as not to interfere with
other work being done on refactoring this driver, but at a later
point the defines using (prcmu_base + 0xnnn) need to be replaced
by pure offset defined for (0xnnn) and the base inlined with the
readl()/writel() and similar codepaths.
Acked-by: Samuel Ortiz <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This patch will make an early remapping of the PRCMU, to be
used when setting up the clocks, that will call down into parts
of the PRCMU driver before it is probed.
Going forward this will be removed like this:
- The mailbox subsystem need to be merged.
http://marc.info/?l=linux-kernel&m=136314559201983&w=2
- At this point the PRCMU clock code can be moved over to the
ux500 clock driver in drivers/clk/ux500/* and maintained
there in a decentralized manner.
- This early initcall and PRCMU base parameters become part of
the ux500_clk_init() call instead.
Cc: Suman Anna <[email protected]>
Cc: Loic Pallardy <[email protected]>
Acked-by: Samuel Ortiz <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Ulf Hansson <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
'patch_regs' cannot be used uninitialized in wm8994_device_init(),
because 'patch_regs' was already guarded by 'regmap_patch'.
Thus, that's a bogus warning.
Without this patch, the build warning happens as below:
drivers/mfd/wm8994-core.c: In function 'wm8994_i2c_probe':
drivers/mfd/wm8994-core.c:595:7: warning: 'patch_regs' may be used uninitialized in this function [-Wuninitialized]
drivers/mfd/wm8994-core.c:408:14: note: 'patch_regs' was declared here
Signed-off-by: Jingoo Han <[email protected]>
Acked-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
'data' is a pointer and hence use NULL instead of 0.
Silences the following warning:
drivers/mfd/max77686.c:49:50: warning: Using plain integer as NULL pointer
Signed-off-by: Sachin Kamat <[email protected]>
Cc: Jonghwa Lee <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
module_i2c_driver() removes some boilerplate and makes the code
simple.
Signed-off-by: Sachin Kamat <[email protected]>
Acked-by: Michael Hennerich <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
git://git.linaro.org/people/ljones/linux-3.0-ux500
Conflicts:
drivers/mfd/ab8500-gpadc.c
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
When rtsx_pci_acquire_irq fails in rtsx_pci_probe, we forget to
disable an MSI (if we enabled it). This results in this warning on the
next attempt to load the module:
WARNING: at drivers/pci/msi.c:834 pci_enable_msi_block+0x2a4/0x2b0()
Hardware name: HP EliteBook 840 G1
Modules linked in: rtsx_pci(+) ...
Pid: 4056, comm: modprobe Tainted: G I 3.8.0-9405-gd895cb1-1-vanilla #1
Call Trace:
[<ffffffff81045c6a>] warn_slowpath_common+0x7a/0xc0
[<ffffffff81045cc5>] warn_slowpath_null+0x15/0x20
[<ffffffff81302544>] pci_enable_msi_block+0x2a4/0x2b0
[<ffffffffa05e335a>] rtsx_pci_probe+0x55a/0x720 [rtsx_pci]
...
So properly disable MSI in that case.
Signed-off-by: Jiri Slaby <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Move the AB8500 Kconfig fragment below the AB3100 so the
menuconfig menu gets hierarchically nested and looks nice.
Having the EZX PCAP in the middle disturbs the nice
hierarchical layout from kconfig.
Signed-off-by: Linus Walleij <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch uses module_platform_driver_probe() macro which makes
the code smaller and simpler.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch uses module_platform_driver_probe() macro which makes
the code smaller and simpler.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch uses module_platform_driver_probe() macro which makes
the code smaller and simpler.
Signed-off-by: Jingoo Han <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch augments the STMP driver to read the device id
from the stmpe-i2c dt alias if present.
Cc: [email protected]
Signed-off-by: Gabriel Fernandez <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
If there is no interrupt property into stmpe node
then activate the no-irq mode by setting the irq
value to -1.
Cc: [email protected]
Signed-off-by: Gabriel Fernandez <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
This patch allow using syscon driver from the platform data, i.e.
possibility using driver on systems without oftree support.
For search syscon device from the client drivers,
"syscon_regmap_lookup_by_pdevname" function was added.
Signed-off-by: Alexander Shiyan <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
Signed-off-by: Alexander Shiyan <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
DT node properties should not have "_". Replacing them by "-".
Signed-off-by: J Keerthy <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|