| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
It is a good tone to reset driver data after unbinding the device.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
| |
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
| |
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no point in completing probe if platform data is missing so
let's abort loading early.
Also, use kcalloc when allocating several instances of the same data
structure and mark setup_regulators() as __devinit since it is only
called from lp3971_i2c_probe() which is __devinit.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
| |
Also move error handling in probe() out of line and do not bother
to reset fields in structures that are about to be freed.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
| |
Also move error handling in probe() out of line and do not bother
to reset fields in structures that are about to be freed.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
| |
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
Add __devinit/__devexit markings to probe and remove methids of the
driver, change types of variables containing boolean data to boolean,
set up driver's owner field so we have proper sysfs link between
driver and the module.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
Probe and remove methods should not be marked as __init/__exit but
rather __devinit/__devexit so that the needed sections stay in memory
in presence of CONFIG_HOTPLUG. This is needed even on non hotpluggable
buses.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
| |
Instead of open-coding sysfs attribute group use canned solution.
Also add __devinit/__devexit markups for probe and remove methods
and use 'bool' where it makes sense.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is no REMAP register on twl6030, instead there is a STATE register
to drive a resource to a given state.
The state register can be used to specify what state the resource should
enter when its associated with a GRP.
Register Bit field description is as below. The patch programmes the
corresponding STATE registers for all LDO's to turn ON when assocaited
with GRP_P1.
STATE REG:
Bit7 |Bit6 |Bit5 |Bit4 |Bit3 |Bit2 |Bit1 |Bit0
P3_GRP |P2_GRP |P1_GRP |RES |RES |RES |State1 |State0
State can be specified as below
00: OFF
01: ON
10: OFF
11: SLEEP
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to ease transitions with drivers are boards start using regulators
provide an option to cause all regulator_get() calls to succeed, with a
dummy always on regulator being supplied where one has not been configured.
A warning is printed whenever the dummy regulator is used to aid system
development.
This regulator does not implement any regulator operations but will allow
simple consumers which only do enable() and disable() calls to run. It
is kept separate from the fixed voltage regulator to avoid Kconfig
confusion on the part of users when it is extended to allow boards to
explicitly use the dummy regulator to simplify cases where the majority
of supplies are from fixed regulators without software control.
This option is currently only effective for systems which do not specify
full constriants. If required an override could also be provided to allow
these systems to use the dummy regulator, though it is likely that
unconfigured supplies on such systems will lead to error due to
regulators being powered down more aggressively when not in use.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
| |
If a regulator driver does not provide a way to query if the driver is
enabled then assume that it is enabled. This is very likely to reflect
the actual state is more useful for callers than reporting an error.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
| |
It had an open coded version in enable().
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
| |
The WM8994 contains two LDOs with mixed hardware/software control to
minimise the number of external supplies required while delivering
optimal voltages to minimise power consumption.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
| |
Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
| |
Fix Kconfig text for some Wolfson Micro devices.
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GPO regulators are digital outputs that can be enabled or disabled by a
dedicated bit in mc13783 POWERMISC register.
In this family can be count in also Power Gates (PWGT1 and 2): enabled by
a dedicated pin a Power Gate is an hardware driven supply where the output
(PWGTnDRV) follow this law:
Bit PWGTxSPIEN | Pin PWGTxEN | PWGTxDRV | Read Back
0 = default | | | PWGTxSPIEN
---------------+-------------+----------+------------
1 | x | Low | 0
0 | 0 | High | 1
0 | 1 | Low | 0
As read back value of control bit reflects the PWGTxDRV state (not the
control value previously written) and mc13783 POWERMISC register contain
only regulator related bits, a dedicated function to manage these bits is
created here with the aim of tracing the real value of PWGTxSPIEN bits
and reproduce it on next writes.
All POWERMISC users _must_ use the new function to not accidentally
disable Power Gates supplies.
v2 changes:
-Better utilization of abstraction layers.
-Voltage query support. GPO's and PWGTxDRV are fixed voltage regulator
with voltage value of 3.1V and 5.5V respectively.
Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
| |
Add a field to specify a delay for the start-up time of
a fixed voltage regulator.
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
| |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regulators may sometimes take longer to enable than the control operation
used to do so, either because the regulator has ramp rate control used to
limit inrush current or because the control operation is very fast (GPIO
being the most common example of this). In order to ensure that consumers
do not rely on the regulator before it is enabled provide an enable_time()
operation and have the core delay for that time before returning to the
caller.
This is implemented as a function since the ramp rate may be specified in
voltage per unit time and therefore the time depend on the configuration.
In future it would be desirable to allow the bulk operations to run the
delays for multiple enables in parallel but this is not currently supported.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The intended use case is for drivers which disable regulators to save
power but need to do some work to restore the hardware state when
restarting. If the supplies are not actually disabled due to board
limits or sharing with other active devices this notifier allows the
driver to avoid unneeded reinitialisation, particularly when used with
runtime PM.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The C99 specification states in section 6.11.5:
The placement of a storage-class specifier other than at the beginning
of the declaration specifiers in a declaration is an obsolescent
feature.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch, complete the mc13783 regulator subsystem driver with
voltage selecting capability.
Main Switches (SW1AB, SW2AB) are not supported yet.
version 2 diffs:
- delete the "Switchers PLL" enable and multiplication factor value
selecting capability because it is not a voltage or current regulator.
This will be a part of Main switcher supporting task.
- Correct many coding style problems pointed me out.
Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (49 commits)
OMAP: DSS2: Taal: Fix TE when resuming
OMAP: DSS2: Taal: Fix ESD check
OMAP: DSS2: OMAPFB: Constify some function parameters
OMAP: DSS2: OMAPFB: install omapfb.h
OMAP: DSS2: DSI: add error prints
OMAP: DSS2: TPO-TD03MTEA1: fix function names
OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helper
OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
OMAP: DSS2: DSI: remove external TE support
OMAP: DSS2: move timing functions
OMAP: DSS2: move set/get_wss()
OMAP: DSS2: move enable/disable/suspend/resume
OMAP: DSS2: move update() and sync()
OMAP: DSS2: move set/get_update_mode()
OMAP: DSS2: move enable/get_te()
OMAP: DSS2: move get_recommended_bpp()
OMAP: DSS2: move get_resolution()
OMAP: DSS2: move enable/disable_channel to overlay manager
OMAP: DSS2: move wait_vsync()
OMAP: DSS2: move get/set_rotate()
...
|
| |
| |
| |
| |
| |
| |
| | |
TE was not initialized properly on power on, which broke TE when resuming
from suspend.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Using taal_enable_te() when DSI bus was locked caused a deadlock.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
omapfb has several custom ioctls so user space needs
the header in order to utilize them.
Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Add error printing for dsi_vc_dcs_write() and dsi_vc_dcs_read().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Copy/paste had resulted in wrong function names in TPO TD043MTEA1 panel
driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Add dsi_vc_dcs_read_2() helper function to read two bytes from the DSI
peripheral.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the option for forcing auto-update. Auto-update for manual update
displays is no more a DSS feature, so if a particular display devices does
have auto-update mode, it should be in display's custom settings.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
With the reworked model, DSI driver doesn't need to know anything about
external TE lines. Thus we can remove ext_te support, and only leave the
DSI TE trigger support.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move check/set/get_timings() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move set/get_wss() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move enable/disable/suspend/resume from omap_dss_device to
omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move update() and sync() from omap_dss_device to omap_dss_driver.
Also, update was hardcoded to use virtual channel 0. This patch adds a
parameter that specifies the VC.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move set/get_update_mode() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move enable/get_te() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move get_recommended_bpp() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move get_resolution() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move enable/disable_channel() from omap_dss_device to overlay manager.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move wait_vsync() from omap_dss_device to overlay manager.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move get/set_rotate() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move set/get_mirror() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move memory_read() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move run_test() from omap_dss_device to omap_dss_driver.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove performance measurement for auto-update. Auto-update and thus
performance measurement cannot be supported after the driver change where
the control is moved to display drivers.
This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Physical DSI bus is protected by a mutex. This patch changed the mutex to
a semaphore, so that we can lock and unlock the bus_lock from different
threads.
This is needed as the update process is started by user space program, and
thus the lock is acquired in that context, but the lock can be released in
different context, a work thread via irq.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|