- 17 4月, 2012 3 次提交
-
-
由 Mark Brown 提交于
Since the enable(), disable() and is_enabled() operations for most regmap based regulators come down to reading and updating a single register bit we can factor out the code and allow these drivers to just define which bit to update using the enable_reg and enable_mask fields in their desc and then use operations provided by the core. As well as the code saving this opens the door to future optimisation of the bulk operations - if the core can realise that we are updating a single register for multiple regulators then it should be able to combine these updates into a single physical operation. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
由 Mark Brown 提交于
Since the voltage selector operations are intended to directly map a bitfield in the device register map into regulator API operations the code for implementing them is usually very standard we can save some code by providing standard implementations for devices using the regmap API. Drivers using regmap can pass their regmap in in the regmap_config struct, set vsel_reg and vsel_mask in their regulator_desc and then use regulator_{get,set}_voltage_sel_regmap in their ops. This saves a small amount of code from each driver. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
由 Mark Brown 提交于
Since many regulators use regmap for register I/O and since there's quite a few very common patterns in the code allow drivers to pass in a regmap to the core for use in generic code. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
- 11 4月, 2012 1 次提交
-
-
由 Mark Brown 提交于
We don't support missing configs at all so segfaulting isn't that bad but since we've got checks in the code move the dereference after them. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 09 4月, 2012 1 次提交
-
-
由 Mark Brown 提交于
Rather than adding new arguments to regulator_register() every time we want to add a new bit of dynamic information at runtime change the function to take these via a struct. By doing this we avoid needing to do further changes like the recent addition of device tree support which required each regulator driver to be updated to take an additional parameter. The regulator_desc which should (mostly) be static data is still passed separately as most drivers are able to configure this statically at build time. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 04 4月, 2012 1 次提交
-
-
由 Mark Brown 提交于
Drivers should be able to declare their descriptors const and the framework shouldn't ever be modifying the desciptor. Make the parameter and the pointer in regulator_dev const to enforce this. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 30 3月, 2012 1 次提交
-
-
由 Mark Brown 提交于
If a regulator with a supply is being unregistered we will call regulator_put() to release the supply with the regulator_list_mutex held but this deadlocks as regulator_put() takes the same lock. Fix this by releasing the supply before we take the mutex in regulator_unregister(). Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 17 3月, 2012 1 次提交
-
-
由 Rajendra Nayak 提交于
of_parse_phandle() returns NULL either if the property name itself does not exist or if it (exists and) does not reference a valid phandle. Giving out a warn like the one below (that the property references an invalid phandle) can be confusing when the property itself does not exist in the node. Fix it with a more sensible message and make it a dev_dbg instead of a dev_warn. Reported-by: NTomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: NRajendra Nayak <rnayak@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 13 3月, 2012 1 次提交
-
-
由 Mark Brown 提交于
If we fail to locate a requested regulator return -EPROBE_DEFER. If drivers pass this error code through to their caller (which they really should) then this will ensure that the probe is retried later when further devices become available. In the unusual case where a driver doesn't want this it can override the default behaviour. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NLiam Girdwood <lrg@ti.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 24 2月, 2012 1 次提交
-
-
由 Axel Lin 提交于
rdev->desc->ops->set_voltage_time_sel may return negative error code. Set delay to 0 and also show warning if set_voltage_time_sel returns error. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 21 2月, 2012 2 次提交
-
-
由 Stephen Boyd 提交于
If CONFIG_DEBUG_FS=y debugfs functions will never return an ERR_PTR. Instead they'll return NULL. The intent is to remove ifdefs in calling code. Update the code to reflect this. We gain an extra dentry pointer per struct regulator and struct regulator_dev but that should be ok because most distros have debugfs compiled in anyway. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Mark Brown 提交于
Use IS_ERR_OR_NULL() rather than open coding it and ignore errors from failure to create the supply map. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 20 2月, 2012 1 次提交
-
-
由 Axel Lin 提交于
Start unwind from the point the error happens instead of iterating over all consumers, then unwind code can be simpler. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 19 2月, 2012 1 次提交
-
-
由 Axel Lin 提交于
consumer_dev is remove by commit 737f36 "regulator: Remove support for supplies specified by struct device". Thus remove the obsolete comment. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 10 2月, 2012 2 次提交
-
-
由 Mark Brown 提交于
It doesn't make much sense to specify a range of voltages consumers can use if they haven't been given permission to change the voltage. Log if this happens, probably the user forgot to specify CHANGE_VOLTAGE. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
由 Mark Brown 提交于
Liam pointed out via IM that since we now use the pure function name for all regulator logging a lot of the messages such as those logging the constraints are getting a bit noisy due to the implementation detail that is the function name: print_constraints: VDDARM: 1000 <--> 1300 mV at 1300 mV at 0 mA In discussion it seemed like the best thing was to just drop the pr_fmt and clarify individual log messages where there is an issue otherwise we get into silly things like renaming the functions to suit the logging. This is mostly an issue as we have a moderate amount of non-error logging in the boot sequence to aid debug if something goes wrong since regulator misconfiguration can kill the system pretty quickly. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
- 02 2月, 2012 1 次提交
-
-
由 Mark Brown 提交于
This has been deprecated for a very long time now. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NLiam Girdwood <lrg@ti.com>
-
- 25 1月, 2012 2 次提交
-
-
由 Sylwester Nawrocki 提交于
Often there is a need for disabling a set of regulators in order opposite to the enable order. Currently the function regulator_bulk_disable() walks list of regulators in same order as regulator_bulk_enable(). This may cause trouble, especially for devices with mixed analogue and digital circuits. So reverse the disabling sequence of regulator_bulk_disable(). While at it, also correct the comment. Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Mark Brown 提交于
Commit 5bc75a88 ("kernel-doc: fix new warning in regulator core") added documentation for of_node to address a warning but the documentation didn't explain what the parameter is for so would be likely to be unhelpful for users. Clarify that. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 24 1月, 2012 1 次提交
-
-
由 Randy Dunlap 提交于
Fix new kernel-doc warning: Warning(drivers/regulator/core.c:2741): No description found for parameter 'of_node' Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Cc: Liam Girdwood <lrg@ti.com> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 23 1月, 2012 2 次提交
-
-
由 Mark Brown 提交于
Allow drivers to benefit from both the bulk APIs and managed resources simultaneously. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Mark Brown 提交于
Allow consumers to free regulators allocated using devm_regulator_get() if they need to. This will not normally be required. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 20 1月, 2012 1 次提交
-
-
由 Stephen Boyd 提交于
Add a resource managed regulator_get() to simplify regulator usage in drivers. This allows driver authors to "get and forget" about their regulators by automatically calling regulator_put() when the driver is detached. [Fixed up a couple of coding style issues -- broonie] Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 04 1月, 2012 1 次提交
-
-
由 Donggeun Kim 提交于
This patch allows consumers to forcibly disable multiple regulator clients in a single API call. Signed-off-by: NDonggeun Kim <dg77.kim@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 02 1月, 2012 1 次提交
-
-
由 Laxman Dewangan 提交于
During regulator_register, the rail is set on the provided machine constraints and if it is enabled then it is also require to enable the supply regulator. This will make sure that: 1. Proper reference count for supply regulator to be maintain. 2. Supply regulator should be enable when given rail is enabled. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 29 12月, 2011 3 次提交
-
-
由 Axel Lin 提交于
create_regulator() returns NULL on fail. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Axel Lin 提交于
In the case of create_regulator() fails, goto the error path immediately. It does not make sense to update rdev->open_count if create_regulator fails. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Mark Brown 提交于
It's part of the driver interface so should be available to modules. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 30 11月, 2011 1 次提交
-
-
由 Mark Brown 提交于
This allows read-only access to the device configuration which may be useful for diagnostics. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
- 28 11月, 2011 1 次提交
-
-
由 Lothar Waßmann 提交于
This is caused by dereferencing 'rdev' after device_unregister() in the regulator_unregister() function. 'rdev' is freed by device_unregister(), so it must not be dereferenced after this call. [Edited commit message for legibility -- broonie] Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 24 11月, 2011 2 次提交
-
-
由 Rajendra Nayak 提交于
Device nodes in DT can associate themselves with one or more regulators/supply by providing a list of phandles (to regulator nodes) and corresponding supply names. For Example: devicenode: node@0x0 { ... ... vmmc-supply = <®ulator1>; vpll-supply = <®ulator2>; }; The driver would then do a regulator_get(dev, "vmmc"); to get regulator1 and do a regulator_get(dev, "vpll"); to get regulator2. of_get_regulator() extracts the regulator node for a given device, based on the supply name. Use it to look up the regulator for a given consumer from device tree, during a regulator_get(). If not found fallback and lookup through the regulator_map_list instead. Also, since the regulator dt nodes can use the same binding to associate with a parent regulator/supply, allow the drivers to specify a supply_name, which can then be used to lookup dt to find the parent phandle. Signed-off-by: NRajendra Nayak <rnayak@ti.com> Acked-by: NGrant Likely <grant.likely@secretlab.ca> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Rajendra Nayak 提交于
With device tree support for regulators, its needed that the regulator_dev->dev device has the right of_node attached. To be able to do this add an additional parameter to the regulator_register() api, wherein the dt-adapted driver can then pass this additional info onto the regulator core. Signed-off-by: NRajendra Nayak <rnayak@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 23 11月, 2011 1 次提交
-
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 01 11月, 2011 1 次提交
-
-
由 Paul Gortmaker 提交于
Another group of drivers that are taking advantage of the implicit presence of module.h -- and will break when we pull the carpet out from under them during a cleanup. Fix 'em now. Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
-
- 15 10月, 2011 1 次提交
-
-
由 Heiko Stübner 提交于
In the case where _regulator_enable returns an error it was not checked if a supplying regulator exists before trying to disable it, leading to a null pointer-dereference if no supplying regulator existed. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 04 10月, 2011 1 次提交
-
-
由 Mark Brown 提交于
schedule_delayed_work() returns a bool indicating if the work was already queued when it succeeds so we need to squash a true down to zero. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 14 9月, 2011 1 次提交
-
-
由 Mark Brown 提交于
It is a reasonably common pattern for hardware to require some delay after being quiesced before the disable has finalised, especially in mixed signal devices. For example, an active discharge may be required to ensure that the circuit starts up again in a known state. Avoid having to implement such delays in the regulator API by providing regulator_deferred_disable() which will do a regulator_disable() a specified number of milliseconds after it is called. Due to the reference counting done on regulators a deferred disable can be cancelled by doing another regulator_enable(). Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLiam Girdwood <lrg@ti.com>
-
- 29 8月, 2011 1 次提交
-
-
由 Mark Brown 提交于
Useful for working out why things aren't getting plugged together properly. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
- 22 7月, 2011 2 次提交
-
-
由 Mark Brown 提交于
We need to dereference the pointers to print their values. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-
由 Axel Lin 提交于
Properly kfree rdev->constraints in all set_machine_constraints() error paths. Also properly kfree rdev->constraints in regulator_register() error paths. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
-