16 Jan, 2015
10 commits
-
The si476x_core_get_revision_info will send i2c command to FM module, if it
return error, there is no FM modules attached, so we need't to register the
sound card. otherwise, the pulseaudio will access this sound card, but return
a lot of i2c error.Signed-off-by: Shengjiu Wang
-
The requirement for Android is different. it need the driver exit ASAP.
Don't block the user space, android will restart the driver in user space.
Yocto need the driver to start the transfer by itself.
Add a specific kernel config for this case.Signed-off-by: Shengjiu Wang
(cherry picked from commit 4b3d55a0101ac25f14cc6f58c65b85bf657224d3) -
Currently, si476x-rev1.0 and si476x-rev4.0 board just support A10 compatible
command set. For si476x-rev1.0 board, its firmware revision is unsupported and
will revert to A10 compatible function. For si476x-rev4.0 board, its firmware
revision is two and will use A30 function, but A30 command set function can't
work for the rev4.0 board.
So make the command set configurable in dts. If "revision-a10" is present,
set the revision to SI476X_REVISION_A10 to use A10 compatible commit set.
Otherwise, get the revision from si476x register.Signed-off-by: Zidan Wang
-
Add of_compatible for si476x-codec, then si476x-codec driver will have
codec_of_node, So machine driver can use the codec_of_node.Signed-off-by: Shengjiu Wang
(cherry picked from commit e2ec44f91a21b127e155e8317d06e8ead7fd2678) -
In commit e856a0ebc23dcd2c933e3f902317652cc50f0067, we disabled
wait_event_timeout for CMD_POWER_DOWN, which will cause power down
failed sometimes, then FM will fail to reopen.
In this patch enable the wait_event_timeout for power down.Signed-off-by: Shengjiu Wang
(cherry picked from commit 30aa7f1a3580d0a5bc866c624d1da441fd5502c1) -
HDMI isfr clock source from video 27M clock.
There are one clock gate control of video27m_root in CCM,
ccm_video27m_root_cg = ((lpcg_mipi_core_cfg_clk_enable_clock_root
| lpcg_mipi_core_pll_refclk_enable_clock_root) | lpcg_vpu_rclk_enable_clock_root);
The video 27M clock depend on vpu clock or mipi core clock.In mx6 chip, vpu can been disabled by fuse,
so for vpu disabled case, mipi core clock should enabled and make sure
27M clock on.Add mipi core clock management in hdmi drivers to support vpu disabled
case.Signed-off-by: Sandor Yu
(cherry picked from commit 32c8b60e0509300b504795ec96488242bbb11d3b) -
Add PMIC 'MAX17135' module drivers to 3.14 kernel. These are necessary
to supply power for E-ink panel display functions.Signed-off-by: Fancy Fang
-
This would allow the driver to work normally without specific platform data,
when using devicetree for example.Signed-off-by: Nicolin Chen
(cherry picked from commit 23e369b88b546d7b699ca9ec46e195a05c61b717) -
This's some logical error in power-up code, thus fix it.
Signed-off-by: Nicolin Chen
(cherry picked from commit 77d97ad1bb77c0e3c60b9781a06b61d4b4667de1) -
Forward imx_3.10.y mxc hdmi mfd driver to 3.14 kernel.
Signed-off-by: Shawn Guo
09 Jan, 2015
1 commit
-
commit 1a5fb99de4850cba710d91becfa2c65653048589 upstream.
Some boards with TC6393XB chip require full state restore during system
resume thanks to chip's VCC being cut off during suspend (Sharp SL-6000
tosa is one of them). Failing to do so would result in ohci Oops on
resume due to internal memory contentes being changed. Fail ohci suspend
on tc6393xb is full state restore is required.Recommended workaround is to unbind tmio-ohci driver before suspend and
rebind it after resume.Signed-off-by: Dmitry Eremin-Solenikov
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman
15 Nov, 2014
3 commits
-
commit 5152970538a5e16c03bbcb9f1c780489a795ed40 upstream.
pci_enable_msi() can return failure with both positive and negative
integers -- it returns 0 for success -- but is only tested here for
"if (ret < 0)". This causes us to try to use MSI on the RTS5249 SD
reader in the Dell XPS 11 when enabling MSI failed, causing:[ 1.737110] rtsx_pci: probe of 0000:05:00.0 failed with error -110
Reported-by: D. Jared Dominguez
Tested-by: D. Jared Dominguez
Signed-off-by: Chris Ball
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 6a71f38dd87f255a0586104ce2a14d5a3ddf3401 upstream.
In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as
the steps argument if continous mode is not in use. This in turn disables
all steps and so the TSC is not working until one ADC sampling is
performed.This patch fixes it by writing the current cached mask instead of the
passed steps.Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA
synchronization")
Signed-off-by: Sebastian Andrzej Siewior
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 6ac734d2242949f41eb1346ca0fd4ed010c937aa upstream.
After enabling and disabling ADC continuous mode via sysfs, ts_print_raw
fails to return any data. This is because when ADC is configured for
continuous mode, it disables touch screen steps.These steps are not
re-enabled when ADC continuous mode is disabled. Therefore existing values
of REG_SE needs to be cached before enabling continuous mode and
disabling touch screen steps and enabling ADC steps. The cached value
are to be restored to REG_SE once ADC is disabled.Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization")
Signed-off-by: Vignesh R
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman
18 Sep, 2014
1 commit
-
commit 46de8ff8e80a6546aa3d2fdf58c6776666301a0c upstream.
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.Signed-off-by: Michael Welling
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman
06 May, 2014
12 commits
-
commit 56816b700c8c773270f3aaf4c92be53e359a03fd upstream.
There are some unused registers in twl4030 at I2C address 0x49 and function
twl4030_49_nop_reg() is used to check accessibility of that registers. These
registers are written in decimal format but the values are correct in
hexadecimal format. (It can be checked few lines above the patched code -
these registers are marked as unused there.)As a consequence three registers of audio submodule are treated as
inaccessible (preamplifier carkit right and both handsfree registers).Signed-off-by: Tomas Novotny
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 204747c970c0d568721c76ab8a57dde0e5dcf0d5 upstream.
On PXT and COMe-cPC2 boards it is observed that the hardware
mutex is acquired but not being released during initialization.
This can result in a hang-up during boot if the driver is built
into the kernel.Releasing the mutex twice if it was acquired fixes the problem.
Subsequent request/release cycles work as expected, so the fix is
only needed during initialization.Reviewed-by: Michael Brunner
Tested-by: Michael Brunner
Signed-off-by: Guenter Roeck
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 483e2dfdbc94751430e41db9973985f5b054d322 upstream.
Fixes: 4aab3fadad32 ("mfd: tps65910: Move interrupt implementation code to mfd file")
tps65910_irq_init() sets 'tps65910->chip_irq' before calling
regmap_add_irq_chip(). If the regmap_add_irq_chip() call fails in
memory allocation of regmap_irq_chip_data members then:1. The 'tps65910->chip_irq' will still hold some value
2. 'tps65910->irq_data' will be pointing to already freed memory
(because regmap_add_irq_chip() will free it on error)This results in invalid memory access during driver remove because the
tps65910_irq_exit() tests whether 'tps65910->chip_irq' is not zero.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 97dc4ed3fa377ec91bb60ba98b70d645c2099384 upstream.
During probe the driver allocates dummy I2C devices for RTC, haptic and
MUIC with i2c_new_dummy() but it does not check the return value of this
calls.In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by i2c_unregister_device().If i2c_new_dummy() fails for RTC, haptic or MUIC devices, fail also the
probe for main MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit ed26f87b9f71693a1d1ee85f5e6209601505080f upstream.
During probe the driver allocates dummy I2C device for RTC with i2c_new_dummy() but it does not check the return value of this call.
In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by i2c_unregister_device().If i2c_new_dummy() fails for RTC device, fail also the probe for
main MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 96cf3dedc491d2f1f66cc26217f2b06b0c7b6797 upstream.
During probe the driver allocates dummy I2C devices for RTC and ADC
with i2c_new_dummy() but it does not check the return value of this
calls.In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by i2c_unregister_device().If i2c_new_dummy() fails for RTC or ADC devices, fail also the probe
for main MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit ad09dd6a1f5d6244bd89314015af506ba7f9810a upstream.
During probe the driver allocates dummy I2C devices for MUIC and haptic
with i2c_new_dummy() but it does not check the return value of this
calls.In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by devm_regmap_init_i2c() and i2c_unregister_device().If i2c_new_dummy() fails for MUIC or haptic devices, fail also the probe
for main MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit b9e183a1d495cd65412abe0f9df19b151716bfe7 upstream.
During probe the driver allocates dummy I2C device for RTC with
i2c_new_dummy() but it does not check the return value of this call.In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by i2c_unregister_device().If i2c_new_dummy() fails for RTC device, fail also the probe for main
MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 141050cf3d84fc303df58796d68dc1376b0e8f67 upstream.
During probe the driver allocates two dummy I2C devices for subchips in
function pm800_pages_init(). Additionally this function allocates
regmaps for these subchips. If any of these steps fail then these dummy
I2C devices are not freed and resources leak.On pm800_pages_init() fail the driver must call pm800_pages_exit() to
unregister dummy I2C devices.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit a7ab1c8b261305af583ce26bb4a14f555fdaa73e upstream.
During probe the driver allocates dummy I2C device for companion chip
and then allocates a regmap for it. If regmap_init_i2c() fails then the
I2C driver (allocated with i2c_new_dummy()) is not freed and this
resource leaks.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 159ce52a6b777fc82fa0b51c7440e25f9e4c6feb upstream.
During probe the driver allocates dummy I2C device for companion chip
with i2c_new_dummy() but it does not check the return value of this call.In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by regmap_init_i2c().If i2c_new_dummy() fails for companion device, fail also the probe for
main MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman -
commit 65aba1e04916d72b30c028730a1e31860c225412 upstream.
During probe the sec-core driver allocates dummy I2C device for RTC with
i2c_new_dummy() but return value is not checked. In case of error
(i2c_new_device(): memory allocation failure or I2C address cannot be
used) this function returns NULL which is later used by
devm_regmap_init_i2c() or i2c_unregister_device().If i2c_new_dummy() fails for RTC device, fail also the probe for main
MFD driver.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones
Signed-off-by: Greg Kroah-Hartman
22 Feb, 2014
1 commit
-
Pull sound fixes from Takashi Iwai:
"This time we got a slightly higher volume than previous times, but all
device-specific good fixes. Noticeable changes are fixes in davinci,
and the removal of open-codes in HD-audio ca0132 driver. The rest are
all small fixes and/or quirks"* tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Enable front audio jacks on one HP desktop model
ALSA: hda/ca0132 - Fix recording from mode id 0x8
ALSA: hda/ca0132 - setup/cleanup streams
ALSA: hda - add headset mic detect quirks for two Dell laptops
ALSA: usb-audio: work around KEF X300A firmware bug
ASoC: max98090: make REVISION_ID readable
ASoC: txx9aclc_ac97: Fix kernel crash on probe
ASoC: max98090: sync regcache on entering STANDBY
ASoC: blackfin: Fix machine driver Kconfig dependencies
ASoC: da9055: Fix device registration of PMIC and CODEC devices
ASoC: fsl-esai: fix ESAI TDM slot setting
ASoC: fsl: fix pm support of machine drivers
ASoC: rt5640: Add ACPI ID for Intel Baytrail
ASoC: davinci-evm: Add pm callbacks to platform driver
ASoC: davinci-mcasp: Consolidate pm_runtime_get/put() use in the driver
ASoC: davinci-mcasp: Configure xxTDM, xxFMT and xxFMCT registers synchronously
ASoC: davinci-mcasp: Harmonize the sub hw_params function names
ASoC: samsung: Fix trivial typo
ASoC: samsung: Remove invalid dependencies
ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data
19 Feb, 2014
6 commits
-
If CONFIG_PM_SLEEP=n:
drivers/mfd/sec-core.c:349: warning: ‘sec_pmic_suspend’ defined but not used
drivers/mfd/sec-core.c:371: warning: ‘sec_pmic_resume’ defined but not usedSigned-off-by: Geert Uytterhoeven
Signed-off-by: Lee Jones -
If CONFIG_PM_SLEEP=n:
drivers/mfd/max14577.c:177: warning: ‘max14577_suspend’ defined but not used
drivers/mfd/max14577.c:200: warning: ‘max14577_resume’ defined but not usedSigned-off-by: Geert Uytterhoeven
Signed-off-by: Lee Jones -
If we compile the TPS65217 for a 64bit architecture we receive the following
warnings:drivers/mfd/tps65217.c: In function ‘tps65217_probe’:
drivers/mfd/tps65217.c:173:13:
warning: cast from pointer to integer of different size
chip_id = (unsigned int)match->data;
^Signed-off-by: Lee Jones
-
If we compile the WM8994 for a 64bit architecture we receive the following
warnings:drivers/mfd/wm8994-core.c: In function ‘wm8994_i2c_probe’:
drivers/mfd/wm8994-core.c:639:19:
warning: cast from pointer to integer of different size
wm8994->type = (int)of_id->data;
^Signed-off-by: Lee Jones
-
If we compile the MAX8998 for a 64bit architecture we receive the following
warnings:drivers/mfd/max8998.c: In function ‘max8998_i2c_get_driver_data’:
drivers/mfd/max8998.c:178:10:
warning: cast from pointer to integer of different size
return (int)match->data;
^Signed-off-by: Lee Jones
-
If we compile the MAX8997 for a 64bit architecture we receive the following
warnings:drivers/mfd/max8997.c: In function ‘max8997_i2c_get_driver_data’:
drivers/mfd/max8997.c:173:10:
warning: cast from pointer to integer of different size
return (int)match->data;
^Signed-off-by: Lee Jones
10 Feb, 2014
1 commit
-
Currently the I2C device Ids conflict for the MFD and CODEC so
cannot be both instantiated on one platform. This patch updates
the Ids and names to make them unique from each other.It should be noted that the I2C addresses for both PMIC and CODEC
are modifiable so instantiation of the two are kept as separate
devices, rather than instantiating the CODEC from the MFD code.Signed-off-by: Adam Thomson
Acked-by: Mark Brown
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
26 Jan, 2014
1 commit
-
Pull regulator updates from Mark Brown:
"A respin of the merges in the previous pull request with one extra
fix.A quiet release for the regulator API, quite a large number of small
improvements all over but other than the addition of new drivers for
the AS3722 and MAX14577 there is nothing of substantial non-local
impact"* tag 'regulator-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (47 commits)
regulator: pfuze100-regulator: Improve dev_info() message
regulator: pfuze100-regulator: Fix some checkpatch complaints
regulator: twl: Fix checkpatch issue
regulator: core: Fix checkpatch issue
regulator: anatop-regulator: Remove unneeded memset()
regulator: s5m8767: Update LDO index in s5m8767-regulator.txt
regulator: as3722: set enable time for SD0/1/6
regulator: as3722: detect SD0 low-voltage mode
regulator: tps62360: Fix up a pointer-integer size mismatch warning
regulator: anatop-regulator: Remove unneeded kstrdup()
regulator: act8865: Fix build error when !OF
regulator: act8865: register all regulators regardless of how many are used
regulator: wm831x-dcdc: Remove unneeded 'err' label
regulator: anatop-regulator: Add MODULE_ALIAS()
regulator: act8865: fix incorrect devm_kzalloc for act8865
regulator: act8865: Remove set_suspend_[en|dis]able implementation
regulator: act8865: Remove unneeded regulator_unregister() calls
regulator: s2mps11: Clean up redundant code
regulator: tps65910: Simplify setting enable_mask for regulators
regulator: act8865: add device tree binding doc
...
24 Jan, 2014
2 commits
-
Fix up the following pointer-integer size mismatch warning in
tps65217_probe():drivers/mfd/tps65217.c: In function 'tps65217_probe':
drivers/mfd/tps65217.c:173:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
chip_id = (unsigned int)match->data;
^Signed-off-by: David Howells
Cc: AnilKumar Ch
Cc: Samuel Ortiz
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix up the following pointer-integer size mismatch warning in
max8998_i2c_get_driver_data():drivers/mfd/max8998.c: In function 'max8998_i2c_get_driver_data':
drivers/mfd/max8998.c:178:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
return (int)match->data;
^Signed-off-by: David Howells
Cc: Tomasz Figa
Cc: Mark Brown
Cc: Samuel Ortiz
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
23 Jan, 2014
2 commits
-
…67', 'regulator/topic/stw481x-vmmc', 'regulator/topic/tps51632', 'regulator/topic/tps62360', 'regulator/topic/tps65910', 'regulator/topic/twl' and 'regulator/topic/wm831x' into regulator-linus
-
… 'regulator/topic/lp3971', 'regulator/topic/lp3972', 'regulator/topic/max14577', 'regulator/topic/max77693', 'regulator/topic/mc13892', 'regulator/topic/pcf50633' and 'regulator/topic/pfuze100' into regulator-linus