- 14 4月, 2014 1 次提交
-
-
由 Xiubo Li 提交于
Allow busses to request little endianness formatting and parsing for 16- and 32-bit values. This will be useful to support regmap-mmio. For the following the scenarios using the regmap-mmio, for example: Index CPU Device Endianess flag for values ---------------------------------------------------------- 1 LE LE REGMAP_ENDIAN_DEFAULT/NATIVE 2 LE BE REGMAP_ENDIAN_BIG 3 BE BE REGMAP_ENDIAN_DEFAULT/NATIVE 4 BE LE REGMAP_ENDIAN_LITTLE For one device driver, which will support all the cases above, needs two boolean properties in DT node like: 'big-endian' for case 2 and 'little-endian' for case 4, and for cases 1 and 3 they all will be absent. Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 01 4月, 2014 1 次提交
-
-
由 Daeseok Youn 提交于
It need to add curly braces because the inner for "if" has two statements. coccicheck says: drivers/base/regmap/regmap.c:765:2-44: code aligned with following code on line 766 Signed-off-by: NDaeseok Youn <daeseok.youn@gmail.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 28 3月, 2014 1 次提交
-
-
由 Xiubo Li 提交于
Fix the support for 1/2/8 bytes wide register address checking. Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 27 3月, 2014 2 次提交
-
-
由 Xiubo Li 提交于
Since regmap core and mmio have already support for 1/2/8 bytes wide values, so adds support for 1/2/8 bytes wide registers address. Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Xiubo Li 提交于
Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 19 3月, 2014 2 次提交
-
-
由 Dylan Reid 提交于
In the regcache_default_sync, if a register isn't writeable, then _regmap_write will return an error and the rest of the sync will be aborted. Avoid this by checking if a register is writeable before trying to sync it. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Dylan Reid 提交于
The default sync operation was still assuming a stride of one, fix it to respect the reg_stride set in the map. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 18 3月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
regmap deploys the spinlock for the protection when set up in fast_io mode. This may lead to sleep-in-atomic by memory allocation with GFP_KERNEL in regmap_bulk_write(). This patch fixes it by moving the allocation out of the lock. [Fix excessively large locked region -- broonie] Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Mark Brown 提交于
With fast_io we use mutexes to lock the I/O operations so we would need to do GFP_ATOMIC allocations if we wanted to do allocations inside the lock as we do currently. Since it is unlikely that we will want to register a patch outside of init where concurrency shouldn't be an issue move the allocation of the patch data outside the lock. Reported-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 14 3月, 2014 1 次提交
-
-
由 Krzysztof Kozlowski 提交于
After setting the 'data' pointer (wchich is returned to the caller for freeing later) the regmap_add_irq_chip() could still fail for various reasons (ENOMEM, regmap_read or regmap_write failure). In such case the memory under 'data' was freed in error path and error value was returned but the 'data' variable was not changed. This could lead to errors if the caller passed such 'data' to regmap_del_irq_chip(). The 'data' pointer should be changed atomically from the caller perspective - set it only on regmap_add_irq_chip() success. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 11 3月, 2014 1 次提交
-
-
This is the implementation of regmap_multi_reg_write() There is a new capability 'can_multi_write' that device drivers must set in order to use this multi reg write mode. This replaces the first definition, which just defined the API. Signed-off-by: NAnthony Olech <anthony.olech.opensource@diasemi.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 06 3月, 2014 1 次提交
-
-
由 Nenghua Cao 提交于
In some cases, we need regmap's format parse_val function to do be/le translation according to the bus configuration. For example, snd_soc_bytes_put() uses regmap to write/read values, and use cpu_to_be() directly to covert MASK into big endian. This is a defect, and should use regmap's format function to do it according to bus configuration. Signed-off-by: NNenghua Cao <nhcao@marvell.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 26 2月, 2014 3 次提交
-
-
由 Charles Keepax 提交于
Since we now have an internal version of regmap_multi_reg_write use this to apply the register patch. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Charles Keepax 提交于
Devices with more complex boot proceedures may occasionally apply the register patch manual. regmap_multi_reg_write is a logical way to do so, however the patch must be applied with cache bypass on, such that it doesn't override any user settings. This patch adds a regmap_multi_reg_write_bypassed function that applies a set of writes with the bypass enabled. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Charles Keepax 提交于
There should be no need for the writes supplied to this function to be edited by it so mark them as const. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 22 2月, 2014 2 次提交
-
-
由 Nenghua Cao 提交于
/drivers/base/regmap/regmap.c:717:6-33: WARNING: Comparison to bool. More information about semantic patching is available at http://coccinelle.lip6.fr/Signed-off-by: NNenghua Cao <nhcao@marvell.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Charles Keepax 提交于
Currently, we check the registers in the patch are aligned to the register stride everytime we sync the cache and the first time the patch is written out is unchecked. This patch checks the register patch when we first register it so the first writes are no longer unchecked and then doesn't check on subsequent syncs as the patch will be unchanged. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 20 2月, 2014 1 次提交
-
-
由 Xiubo Li 提交于
Since sometimes the 'config' parameter has no use, it should be NULL. And make the code simplifier. Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 16 2月, 2014 2 次提交
-
-
由 Michal Simek 提交于
Create special function regmap_attach_dev which can be called separately out of regmap_init. Signed-off-by: NMichal Simek <michal.simek@xilinx.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Josh Cartwright 提交于
SPMI states that a slave may contain two register spaces, the Base register space is a 5-bit byte-addressable space accessed via the Register Read/Write and Register Zero Write command sequences, and the Extended register space: a 16-bit byte-addressable space accessed via the Extended Read/Write and Extended Read/Write Long command sequences. Provide support for accessing both of these spaces, taking advantage of the more bandwidth-efficient commands ('Register 0 Write' vs 'Register Write', and 'Extended Register Read/Write' vs 'Extended Register Read/Write Long') when possible. Signed-off-by: NJosh Cartwright <joshc@codeaurora.org> Acked-by: NMark Brown <broonie@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 15 2月, 2014 1 次提交
-
-
由 Paul Gortmaker 提交于
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Cc: Len Brown <len.brown@intel.com> Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com> Acked-by: NPavel Machek <pavel@ucw.cz> Acked-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: NMark Brown <broonie@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 12 2月, 2014 1 次提交
-
-
由 Michal Simek 提交于
Check if regs are readable. Signed-off-by: NMichal Simek <michal.simek@xilinx.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 03 2月, 2014 2 次提交
-
-
由 Mark Brown 提交于
irqdomain now supports removal of domains on exit so we can properly clean up on deletion of a regmap irqchip. Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Pawel Moll 提交于
When a map covers a single register, max_register is equal to 0, so the "registers" & "access" files were not created. Now they will be, as register 0 must be readable for such map to make sense. Signed-off-by: NPawel Moll <pawel.moll@arm.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 28 1月, 2014 1 次提交
-
-
由 Dylan Reid 提交于
regcache_sync_block_raw_flush takes the address of the base register and the address of one past the last register to write to. "count" is the number of registers in the range, not the number of bytes, it should be (end addr - start addr) / stride. Without accounting for strides greater than one, registers past the end might be synced or the writeable_reg callback at the beginning of _regmap_raw_write will fail and nothing will be written. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 30 12月, 2013 1 次提交
-
-
由 Stephen Boyd 提交于
regmap_bulk_write() should decay to performing individual writes if we're using a "no-bus" regmap. Unfortunately, it returns an error because there is no map->bus pointer. Fix it. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 17 12月, 2013 2 次提交
-
-
由 Stephen Boyd 提交于
regmap_bulk_read() should decay to performing individual reads if we're using a "no-bus" regmap. Unfortunately, it returns an error because there is no map->bus pointer. Fix it. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Alexander Shiyan 提交于
In some cases, clear interrupt register may be at address 0. This patch allows to use such configurations by adding additional configuration bit to indicate this. [With doc fix from Levente Kurusa <levex@linux.com> -- broonie] Signed-off-by: NAlexander Shiyan <shc_work@mail.ru> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 26 11月, 2013 1 次提交
-
-
由 Stephen Warren 提交于
clk_get() returns an error pointer, or a valid token to pass back to the clock API. Hence, the result must be checked with IS_ERR(), not by comparison against NULL. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 24 11月, 2013 1 次提交
-
-
由 Cai Zhiyong 提交于
This patch give a warning when calling regmap_register_patch with parameter num_regs <= 0. When the num_regs parameter is zero and krealloc doesn't fail, then the code would return an uninitialized value. However, calling this function with num_regs == 0, would be a waste as it essentially does nothing. Signed-off-by: NCai Zhiyong <caizhiyong@huawei.com> Reviewed-by: NGeyslan G. Bem <geyslan@gmail.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 21 11月, 2013 1 次提交
-
-
由 Courtney Cavin 提交于
Signed-off-by: NCourtney Cavin <courtney.cavin@sonymobile.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 12 11月, 2013 1 次提交
-
-
由 Gerhard Sittig 提交于
fix a trivial copy'n'paste error in the regmap kerneldoc, s/write/read/ for the regmap_read(), regmap_raw_read() and regmap_bulk_read() routines Signed-off-by: NGerhard Sittig <gsi@denx.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 29 10月, 2013 1 次提交
-
-
由 Josh Cartwright 提交于
Add basic support for the System Power Management Interface (SPMI) bus. This is a simple implementation which only implements register accesses via the Extended Register Read/Write Long commands. Signed-off-by: NJosh Cartwright <joshc@codeaurora.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 24 10月, 2013 1 次提交
-
-
由 Tero Kristo 提交于
If called early enough, regmap_debugfs_init causes a crash, if the fs subsystem does not have its mount cache created yet. Even if this would work, the root node for the regmap debugfs is still missing, thus postpone the regmap_debugfs_init in this case until the root node is created. A special regmap_debugfs_early list is created for this purpose which is parsed later in the boot. Signed-off-by: NTero Kristo <t-kristo@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 22 10月, 2013 1 次提交
-
-
由 Yi Zhang 提交于
clear the status bit if the mask register doesn't prevent the chip level irq from being asserted OR in the following sequence, there will be irq storm happens: 1) interrupt is triggered; 2) another thread disables it(the mask bit is set); 3) _Then_ the interrupt thread is not ACKed(the status bit is not cleared), and it's ignored; 4) if the irq is still asserted because of the uncleared status bit, the irq storm happens; Signed-off-by: NYi Zhang <yizhang@marvell.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 10月, 2013 2 次提交
-
-
由 Mark Brown 提交于
Extend the interface for async I/O by allowing the value buffer to be omitted and sending the value as part of the register buffer, minimising the number of separate hardware operations required. Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Mark Brown 提交于
If the value is zero then assume it has been included in the register data and don't send anything, minimising the number of interactions with the hardware. Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 14 10月, 2013 1 次提交
-
-
由 Anthony Olech 提交于
New API regmap_multi_reg_write() is defined that allows a set of reg,val pairs to be written to a I2C client device as one block transfer from the point of view of a single I2C master system. A simple demonstration implementation is included that just splits the block write request into a sequence of single register writes. The implementation will be modified later to support those I2C clients that implement the alternative non-standard MULTIWRITE block write mode so to achieve a single I2C transfer that will be atomic even in multiple I2C master systems. Signed-off-by: NAnthony Olech <anthony.olech.opensource@diasemi.com> Signed-off-by: NDavid Dajun Chen <david.chen@diasemi.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 11 10月, 2013 2 次提交
-
-
由 Mark Brown 提交于
Try to speed up I/O a little by not synchronising until we are finished scheduling writes. A brief survey of existing users suggests we have none that would currently benefit from an async cache sync. Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Mark Brown 提交于
Try to speed up patch application a little using async I/O. Signed-off-by: NMark Brown <broonie@linaro.org>
-