linux/drivers/base
Mark Brown 070fdd7aac regmap: Fix handling of volatile registers for format_write() chips
commit 5844a8b9d9 upstream.

A previous over-zealous factorisation of code means that we only treat
registers as volatile if they are readable. For most devices this is fine
since normally most registers can be read and volatility implies
readability but for format_write() devices where there is no readback from
the hardware and we use volatility to mean simply uncacheability this means
that we end up treating all registers as cacheble.

A bigger refactoring of the code to clarify this is in order but as a fix
make a minimal change and only check readability when checking volatility
if there is no format_write() operation defined for the device.

Signed-off-by: Mark Brown <broonie@linaro.org>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:11 -07:00
..
power PM: Avoid calling kfree() under spinlock in dev_pm_put_subsys_data() 2013-05-12 14:04:40 +02:00
regmap regmap: Fix handling of volatile registers for format_write() chips 2014-10-05 14:54:11 -07:00
attribute_container.c drivers: base: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-10-30 17:38:43 -07:00
base.h driver/base: implement subsys_virtual_register() 2013-03-12 11:36:35 -07:00
bus.c driver core: export subsys_virtual_register 2013-05-21 09:05:52 -07:00
class.c driver-core: constify data for class_find_device() 2013-02-06 12:18:56 -08:00
core.c driver core : Fix use after free of dev->parent in device_shutdown 2013-10-05 07:13:11 -07:00
cpu.c numa, cpu hotplug: change links of CPU and node when changing node number by onlining CPU 2013-04-29 15:54:39 -07:00
dd.c drivercore: deferral race condition fix 2014-06-07 13:25:31 -07:00
devres.c Linux 3.9-rc3 2013-03-17 19:40:50 -07:00
devtmpfs.c driver core: handle user namespaces properly with the uid/gid devtmpfs change 2013-04-11 11:43:29 -07:00
dma-buf.c dma-buf: Add debugfs support 2013-05-01 16:36:22 +05:30
dma-coherent.c drivers: dma-coherent: Fix typo in dma_mmap_from_coherent documentation 2012-10-23 14:05:32 +02:00
dma-contiguous.c drivers: cma: represent physical addresses as phys_addr_t 2012-12-11 09:28:09 +01:00
dma-mapping.c [media] dma-mapping: fix dma_common_get_sgtable() conditional compilation 2012-11-27 09:42:31 -02:00
driver.c driver core: don't trigger uevent after failure 2012-07-17 10:40:23 -07:00
firmware_class.c firmware loader: fix use-after-free by double abort 2013-06-18 10:41:55 -07:00
firmware.c
hypervisor.c drivers/base: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required. 2011-10-31 19:31:38 -04:00
init.c driver-core: implement 'sysdev' functionality for regular devices and buses 2011-12-14 14:29:38 -08:00
isa.c
Kconfig firmware: Make user-mode helper optional 2013-02-03 17:57:40 -08:00
Makefile drivers/pinctrl: grab default handles from device core 2013-01-23 16:39:51 +01:00
map.c
memory.c drivers/base/memory.c: fix show_mem_removable() to handle missing sections 2013-09-07 22:09:58 -07:00
module.c
node.c drivers/base/node.c: switch to register_hotmemory_notifier() 2013-04-29 15:54:36 -07:00
pinctrl.c drivers/pinctrl: grab default handles from device core 2013-01-23 16:39:51 +01:00
platform.c driver core: platform.c: fix checkpatch errors and warnings 2013-03-29 09:10:55 -07:00
soc.c mode_t whack-a-mole: ->is_visible() returns umode_t... 2012-05-29 23:28:42 -04:00
syscore.c
topology.c topology: Fix compilation warning when not in SMP 2014-06-07 13:25:29 -07:00
transport_class.c