<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/mfd, branch v4.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-03-12T09:27:58Z</updated>
<entry>
<title>mfd: kempld-core: Fix callback return value check</title>
<updated>2015-03-12T09:27:58Z</updated>
<author>
<name>Ameya Palande</name>
<email>2ameya@gmail.com</email>
</author>
<published>2015-02-26T20:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c8648508ebfc597058d2cd00b6c539110264a167'/>
<id>urn:sha1:c8648508ebfc597058d2cd00b6c539110264a167</id>
<content type='text'>
On success, callback function returns 0. So invert the if condition
check so that we can break out of loop.

Cc: stable@vger.kernel.org
Signed-off-by: Ameya Palande &lt;2ameya@gmail.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: rtsx_usb: Prevent DMA from stack</title>
<updated>2015-03-12T09:27:41Z</updated>
<author>
<name>Roger Tseng</name>
<email>rogerable@realtek.com</email>
</author>
<published>2015-03-06T03:36:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3a43477fa36eee2997313380cb52f486e2bff316'/>
<id>urn:sha1:3a43477fa36eee2997313380cb52f486e2bff316</id>
<content type='text'>
Functions rtsx_usb_ep0_read_register() and rtsx_usb_get_card_status()
both use arbitrary buffer addresses from arguments directly for DMA and
the buffers could be located in stack. This was caught by DMA-API debug
check.

Fixes this by using double-buffers via kzalloc in both functions to
guarantee the validity of DMA buffer.

WARNING: CPU: 1 PID: 25 at lib/dma-debug.c:1166 check_for_stack+0x96/0xe0()
ehci-pci 0000:00:1a.0: DMA-API: device driver maps memory from stack
[addr=ffff8801199e3cef]
Modules linked in: rtsx_usb_ms arc4 memstick intel_rapl iosf_mbi
rtl8192ce snd_hda_codec_hdmi snd_hda_codec_realtek
snd_hda_codec_generic snd_hda_intel rtl_pci rtl8192c_common
snd_hda_controller x86_pkg_temp_thermal snd_hda_codec rtlwifi mac80211
coretemp kvm_intel kvm iTCO_wdt snd_hwdep snd_seq snd_seq_device
crct10dif_pclmul iTCO_vendor_support sparse_keymap cfg80211
crc32_pclmul snd_pcm crc32c_intel ghash_clmulni_intel rfkill i2c_i801
snd_timer shpchp snd serio_raw mei_me lpc_ich soundcore mei tpm_tis
tpm wmi nfsd auth_rpcgss nfs_acl lockd grace sunrpc i915
rtsx_usb_sdmmc mmc_core 8021q uas garp stp i2c_algo_bit llc mrp
drm_kms_helper usb_storage drm rtsx_usb mfd_core r8169 mii video
CPU: 1 PID: 25 Comm: kworker/1:2 Not tainted 3.20.0-0.rc0.git7.3.fc22.x86_64 #1
Hardware name: WB WB-B06211/WB-B0621, BIOS EB062IWB V1.0 12/12/2013
Workqueue: events rtsx_usb_ms_handle_req [rtsx_usb_ms]
 0000000000000000 000000003d188e66 ffff8801199e3808 ffffffff8187642b
 0000000000000000 ffff8801199e3860 ffff8801199e3848 ffffffff810ab39a
 ffff8801199e3864 ffff8801199e3cef ffff880119b57098 ffff880119b37320
Call Trace:
 [&lt;ffffffff8187642b&gt;] dump_stack+0x4c/0x65
 [&lt;ffffffff810ab39a&gt;] warn_slowpath_common+0x8a/0xc0
 [&lt;ffffffff810ab425&gt;] warn_slowpath_fmt+0x55/0x70
 [&lt;ffffffff8187efe6&gt;] ? _raw_spin_unlock_irqrestore+0x36/0x70
 [&lt;ffffffff81453156&gt;] check_for_stack+0x96/0xe0
 [&lt;ffffffff81453934&gt;] debug_dma_map_page+0x104/0x150
 [&lt;ffffffff81613b86&gt;] usb_hcd_map_urb_for_dma+0x646/0x790
 [&lt;ffffffff81614165&gt;] usb_hcd_submit_urb+0x1d5/0xa90
 [&lt;ffffffff81106f8f&gt;] ? mark_held_locks+0x7f/0xc0
 [&lt;ffffffff81106f8f&gt;] ? mark_held_locks+0x7f/0xc0
 [&lt;ffffffff81103a15&gt;] ? lockdep_init_map+0x65/0x5d0
 [&lt;ffffffff81615d7e&gt;] usb_submit_urb+0x42e/0x5f0
 [&lt;ffffffff81616787&gt;] usb_start_wait_urb+0x77/0x190
 [&lt;ffffffff8124f035&gt;] ? __kmalloc+0x205/0x2d0
 [&lt;ffffffff8161697c&gt;] usb_control_msg+0xdc/0x130
 [&lt;ffffffffa0031669&gt;] rtsx_usb_ep0_read_register+0x59/0x70 [rtsx_usb]
 [&lt;ffffffffa00310c1&gt;] ? rtsx_usb_get_rsp+0x41/0x50 [rtsx_usb]
 [&lt;ffffffffa071da4e&gt;] rtsx_usb_ms_handle_req+0x7ce/0x9c5 [rtsx_usb_ms]

Reported-by: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Roger Tseng &lt;rogerable@realtek.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'mfd-for-linus-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd</title>
<updated>2015-02-18T17:05:48Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-02-18T17:05:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5c2770079fb9b8c5bfb7113d9e76de66e77a0e24'/>
<id>urn:sha1:5c2770079fb9b8c5bfb7113d9e76de66e77a0e24</id>
<content type='text'>
Pull MFD updates from Lee Jones:
 "Changes to existing drivers:
   - fixr platform device collision; da9052, wm8994-core
   - regmap configuration amendments; tps65218
   - fix runtime PM deadlock; rtsx_usb
   - remove unused/superfluous code; db8500-prcmu, omap-usb-host
   - enable watchdog timer; lpc_sch
   - add start/stop RX URBs helpers; dln2
   - remove platform device (DT only); max77686, max77802
   - support suspend and resume; dln2
   - add Device Tree support; da9063
   - extra error checking; intel_soc_pmic
   - const'ify all the things; 88pm860x, hi6421-pmic, intel_soc_pmic,
                               max77686, lm3533, retu, pcf50633,
                               davinci_voicecodec, smsc-ece1099,
                               tps65218, mc13xxx, tps65217, twl-core,
                               twl6040

  New drivers/supported devices:
   - new driver for Richtek RT5033
   - new driver for DA9150 Charger and FuelGauge
   - new driver for Qualcomm Resource Power Manager (RPM)
   - add support for the ir-clk into sun6i-prcm
   - add support for FuelGauge into axp20x"

* tag 'mfd-for-linus-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (32 commits)
  mfd: intel_soc_pmic: Add missing error check for devm_kzalloc
  mfd: rtsx_usb: Defer autosuspend while card exists
  mfd: devicetree: Add bindings for DA9063
  mfd: da9063: Add device tree support
  regulator: qcom-rpm: Add missing state flag in call to RPM
  mfd: qcom-rpm: Driver for the Qualcomm RPM
  mfd: devicetree: bindings: Add Qualcomm RPM DT binding
  mfd: max77686/802: Remove support for board files
  mfd: omap-usb-host: Remove some unused functions
  mfd: twl6040: Constify struct regmap_config and reg_default array
  mfd: twl-core: Constify struct regmap_config and reg_default array
  mfd: tps65217: Constify struct regmap_config
  mfd: mc13xxx: i2c/spi: Constify struct regmap_config
  mfd: tps65218: Constify struct regmap_config
  mfd: smsc-ece1099: Constify struct regmap_config
  mfd: davinci_voicecodec: Constify struct regmap_config
  mfd: pcf50633: Constify struct regmap_config
  mfd: retu: Constify struct regmap_config
  mfd: lm3533: Constify struct regmap_config
  mfd: max77686: Constify struct regmap_config
  ...
</content>
</entry>
<entry>
<title>mfd: intel_soc_pmic: Add missing error check for devm_kzalloc</title>
<updated>2015-02-16T17:11:43Z</updated>
<author>
<name>Kiran Padwal</name>
<email>kiran.padwal@smartplayin.com</email>
</author>
<published>2015-02-11T10:10:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0a65fbf64dad890d9dd60ab1dc0ebdb9fb0a9e33'/>
<id>urn:sha1:0a65fbf64dad890d9dd60ab1dc0ebdb9fb0a9e33</id>
<content type='text'>
This patch add a missing check on the return value of devm_kzalloc,
which would cause a NULL pointer dereference in a OOM situation.

Signed-off-by: Kiran Padwal &lt;kiran.padwal@smartplayin.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: rtsx_usb: Defer autosuspend while card exists</title>
<updated>2015-01-22T16:08:02Z</updated>
<author>
<name>Roger Tseng</name>
<email>rogerable@realtek.com</email>
</author>
<published>2015-01-21T10:09:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bb400d2120bd253d73661c452b18485d2d5b42dd'/>
<id>urn:sha1:bb400d2120bd253d73661c452b18485d2d5b42dd</id>
<content type='text'>
A card insertion happens after the lastest polling before reader is
suspended may never have a chance to be detected. Under current 1-HZ
polling interval setting in mmc_core, the worst case of such
undetectablility is about 1 second.

To further reduce the undetectability, detect card slot again in suspend
method and defer the autosuspend if the slot is loaded. The default 2
second autosuspend delay of USB subsystem should let the next polling
detects the card.

Signed-off-by: Roger Tseng &lt;rogerable@realtek.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: da9063: Add device tree support</title>
<updated>2015-01-22T16:04:04Z</updated>
<author>
<name>Steve Twiss</name>
<email>stwiss.opensource@diasemi.com</email>
</author>
<published>2015-01-20T13:54:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=71e03de46d73b87aab5f80fa55449a9e40c55d17'/>
<id>urn:sha1:71e03de46d73b87aab5f80fa55449a9e40c55d17</id>
<content type='text'>
Add device tree support for DA9063 regulators; Real-Time Clock
and Watchdog.

Signed-off-by: Steve Twiss &lt;stwiss.opensource@diasemi.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: qcom-rpm: Driver for the Qualcomm RPM</title>
<updated>2015-01-22T16:04:00Z</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@sonymobile.com</email>
</author>
<published>2014-11-26T21:51:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=58e214382bdd1eb48c5a3519182bddcb26edabad'/>
<id>urn:sha1:58e214382bdd1eb48c5a3519182bddcb26edabad</id>
<content type='text'>
Driver for the Resource Power Manager (RPM) found in Qualcomm 8660, 8960
and 8064 based devices. The driver exposes resources that child drivers
can operate on; to implementing regulator, clock and bus frequency
drivers.

Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@sonymobile.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: max77686/802: Remove support for board files</title>
<updated>2015-01-22T16:03:55Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2014-12-29T09:09:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2b50635ea376c89082ef1f3204bcd7791a6e37d7'/>
<id>urn:sha1:2b50635ea376c89082ef1f3204bcd7791a6e37d7</id>
<content type='text'>
The driver is used only on Exynos based boards with DTS support.
After removal of board file support from max77686 and max77802 regulator
drivers, the MFD driver can be converted to DTS-only version. This
simplifies a little the code:
1. No dead (unused) entries in platform_data structure.
2. More code removed.
3. Regulator driver does not depend on allocated memory
   from MFD driver.
4. It makes also easier extending the regulator driver.

Add to the max77686 MFD driver dependency on CONFIG_OF because without
DTS the regulator drivers (max77686 and max77802) won't bind.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javier.martinez@collabora.co.uk&gt;
Tested-by: Javier Martinez Canillas &lt;javier.martinez@collabora.co.uk&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: omap-usb-host: Remove some unused functions</title>
<updated>2015-01-22T16:03:53Z</updated>
<author>
<name>Rickard Strandqvist</name>
<email>rickard_strandqvist@spectrumdigital.se</email>
</author>
<published>2015-01-04T00:11:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5dd6eeb2c0c3f5e1364b51a11a7e47629655b6ff'/>
<id>urn:sha1:5dd6eeb2c0c3f5e1364b51a11a7e47629655b6ff</id>
<content type='text'>
Removes some functions that are not used anywhere:
usbhs_readb() usbhs_writeb()

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist &lt;rickard_strandqvist@spectrumdigital.se&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: twl6040: Constify struct regmap_config and reg_default array</title>
<updated>2015-01-22T16:03:50Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2015-01-05T09:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=de1e23f83441d1f44f12e56b1e972b728a821f32'/>
<id>urn:sha1:de1e23f83441d1f44f12e56b1e972b728a821f32</id>
<content type='text'>
The regmap_config struct may be const because it is not modified by the
driver and regmap_init() accepts pointer to const. Make array of
struct reg_default const as well.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
</feed>
