- 20 9月, 2013 1 次提交
-
-
由 Laxman Dewangan 提交于
Machine constraints is configured during regulator register. If current constraints are provided through machine constraints then it is observed that sometime the current configured on rail is out of range what machine constraint has. Set the current constraints when setting machine constraints to make sure that rail's current is within the range of given machine constraints. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 19 9月, 2013 1 次提交
-
-
由 Laxman Dewangan 提交于
The turn-on time of the regulator depends on the regulator device's electrical characteristics. Sometimes regulator turn-on time also depends on the capacitive load on the given platform and it can be more than the datasheet value. The driver provides the enable-time as per datasheet. Add support for configure the enable ramp time through regulator constraints so that regulator core can take this value for enable time for that regulator. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 30 8月, 2013 1 次提交
-
-
由 Matthias Kaehlcke 提交于
Add a resource managed regulator_get_exclusive() Signed-off-by: NMatthias Kaehlcke <matthias@kaehlcke.net> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 19 8月, 2013 1 次提交
-
-
由 Mark Brown 提交于
Just for neatness. Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 09 8月, 2013 1 次提交
-
-
由 Axel Lin 提交于
Move regulator_list_voltage_{linear,linear_range,table} helper functions to helpers.c. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 07 8月, 2013 1 次提交
-
-
由 Mark Brown 提交于
Reduce the size of core.c a bit. Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 31 7月, 2013 1 次提交
-
-
由 Mark Brown 提交于
While the majority of supplies on devices are mandatory and can't be physically omitted for electrical reasons some devices do have optional supplies and need to know if they are missing, MMC being the most common of these. Currently the core accurately reports all errors when regulators are requested since it does not know if the supply is one that must be provided even if by a regulator software does not know about or if it is one that may genuinely be disconnected. In order to allow this behaviour to be changed and stub regulators to be provided in the former case add a new regulator request function regulator_get_optional() which provides a hint to the core that the regulator may genuinely not be connected. Currently the implementation is identical to the current behaviour, future patches will add support in the core for returning stub regulators in the case where normal regulator_get() fails and the board has requested it. Signed-off-by: NMark Brown <broonie@linaro.org> Acked-by: NChris Ball <cjb@laptop.org>
-
- 25 7月, 2013 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
The dev_attrs field of struct class is going away soon, dev_groups should be used instead. This converts the regulator class code to use the correct field. Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 18 7月, 2013 3 次提交
-
-
由 Mark Brown 提交于
Clearly the testing only covered the bottom range. Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Axel Lin 提交于
Current code does not allow fixed voltage range in multiple linear ranges. If someone does set range->uV_step == 0 in one of the linear ranges, we hit divided by zero bug. This patch fixes this issue. For fixed voltage range, return any selector means the same voltage. Thus just return 0. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Mark Brown 提交于
There is no need to use a normal per-CPU workqueue for delayed power downs as they're not timing or performance critical and waking up a core for them would defeat some of the point. Signed-off-by: NMark Brown <broonie@linaro.org> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Acked-by: NLiam Girdwood <liam.r.girdwood@intel.com>
-
- 15 7月, 2013 4 次提交
-
-
由 Yadwinder Singh Brar 提交于
In function _regulator_do_set_voltage(), old_selector gets intialised only if (_regulator_is_enabled(rdev) && rdev->desc->ops->set_voltage_time_sel && rdev->desc->ops->get_voltage_sel)) is true. Before calling set_voltage_time_sel() we checks if (old_selector >= 0) and it will true if it got intialised properly. so we don't need to check again _regulator_is_enabled(rdev) && rdev->desc->ops->set_voltage_time_sel before calling set_voltage_time_sel(). Signed-off-by: NYadwinder Singh Brar <yadi.brar@samsung.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Yadwinder Singh Brar 提交于
Some hardwares support disabling ramp delay, so adding ramp_disable flag to constraints. It will be used to figure out whether ramp_delay in constraints is explicitly set to zero or its unintialized (zero by default). And we don't need to call set_voltage_time_sel() for regulators for whom ramp delay is disabled in constraints. Signed-off-by: NYadwinder Singh Brar <yadi.brar@samsung.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Mark Brown 提交于
Many regulators have several linear ranges of selector with different step sizes, for example offering better resolution at lower voltages. Provide regulator_{map,list}_voltage_linear_range() allowing these regulators to use generic code. To do so a table of regulator_linear_range structs needs to be pointed to from the descriptor. This was inspired by similar code included in a driver submission from Chao Xie and Yi Zhang at Marvell. Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 07 6月, 2013 1 次提交
-
-
由 Paul Walmsley 提交于
Add regulator_get_linear_step(), which returns the voltage step size between VSEL values for linear regulators. This is intended for use by regulator consumers which build their own voltage-to-VSEL tables. Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com> Reviewed-by: NAndrew Chew <achew@nvidia.com> Cc: Matthew Longnecker <mlongnecker@nvidia.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 21 5月, 2013 1 次提交
-
-
由 Charles Keepax 提交于
Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 02 5月, 2013 1 次提交
-
-
由 Robert P. J. Day 提交于
Add a couple kernel-doc lines to get rid of kernel-doc generation warnings, no functional change. Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 18 4月, 2013 1 次提交
-
-
由 Axel Lin 提交于
A lot of regulator hardware has ascendant voltage list. This patch adds regulator_map_voltage_ascend() and export it. Drivers that have ascendant voltage list can use this as their map_voltage() operation, this is more efficient than default regulator_map_voltage_iterate() function. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 17 4月, 2013 1 次提交
-
-
由 Nishanth Menon 提交于
commit 6d191a5f (regulator: core: Don't defer probe if there's no DT binding for a supply) Attempted to differentiate between regulator_get() with an actual DT binding for the supply and when there is none to avoid unnecessary deferal. However, ret value supplied by regulator_dev_lookup() is being ignored by regulator_get(). So, exit with the appropriate return value. Signed-off-by: NNishanth Menon <nm@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 05 4月, 2013 1 次提交
-
-
由 Andrew Bresticker 提交于
Regulator drivers may specify regulator_desc->supply_name which regulator_register() will use to find the supply node for a regulator. If no supply was specified in the device tree or the supply has yet to be registered regulator_register() will fail, deferring the probe of the regulator. In the case where no supply node was specified in the device tree, there is no supply and it is pointless to try and find one later, so go ahead and add the regulator without the supply. Signed-off-by: NAndrew Bresticker <abrestic@chromium.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 25 3月, 2013 1 次提交
-
-
由 Maxime Ripard 提交于
Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 05 3月, 2013 1 次提交
-
-
由 Axel Lin 提交于
Add enable_is_inverted flag to indicate set enable_mask bits to disable when using regulator_enable_regmap and friends APIs. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Reviewed-by: NHaojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 04 3月, 2013 3 次提交
-
-
由 Kim, Milo 提交于
The regulator_dev has regulator_enable_gpio structure. 'ena_gpio' and 'ena_gpio_invert' were moved to in regulator_enable_gpio. regulator_dev ---> regulator_enable_gpio .ena_gpio .gpio .ena_gpio_invert .ena_gpio_invert Pointer, 'ena_pin' is used for checking valid enable GPIO pin. Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com> Reviewed-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Kim, Milo 提交于
To support shared enable GPIO pin, replace GPIO code with new static functions Reference count: 'enable_count' Balance the reference count of each GPIO and actual pin control. The count is incremented with enabling GPIO. On the other hand, it is decremented on disabling GPIO. Actual GPIO pin is enabled at the initial use.(enable_count = 0) The pin is disabled if it is not used(shared) any more. (enable_count <=1) Regardless of the enable count, update GPIO state of the regulator. Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com> Reviewed-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Kim, Milo 提交于
A Regulator can be enabled by external GPIO pin. This is configurable in the regulator_config. At this moment, the GPIO can be owned by only one regulator device. In some devices, multiple regulators are enabled by shared one GPIO pin. This patch extends this limitation, enabling shared enable GPIO of regulators. New list for enable GPIO: 'regulator_ena_gpio_list' This manages enable GPIO list. New structure for supporting shared enable GPIO: 'regulator_enable_gpio' The enable count is used for balancing GPIO control count. This count is incremented when GPIO is enabled. On the other hand, it's decremented when GPIO is disabled. Reference count: 'request_count' The reference count, 'request_count' is incremented/decremented on requesting/freeing the GPIO. This count makes sure only free the GPIO when it has no users. How it works If the GPIO is already used, skip requesting new GPIO usage. The GPIO is new one, request GPIO function and add it to the list of enable GPIO. This list is used for balancing enable GPIO count and pin control. Updating a GPIO and invert code moved 'ena_gpio' and 'ena_gpio_invert' of the regulator_config were moved to new function, regulator_ena_gpio_request(). Use regulator_enable_pin structure rather than regulator_dev. Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com> Reviewed-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 01 3月, 2013 2 次提交
-
-
由 Andrzej Hajda 提交于
Unwinding code disables all successfully enabled regulators. Error is logged for every failed regulator. Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Nishanth Menon 提交于
commit f59c8f9f (regulator: core: Support bypass mode) has a short documentation error around the regulator_allow_bypass parameter 'enable' which is documented as 'allow'. This generates kernel-doc warning as follows: ./scripts/kernel-doc drivers/regulator/core.c >/dev/null Warning(drivers/regulator/core.c:2841): No description found for parameter 'enable' Warning(drivers/regulator/core.c:2841): Excess function parameter 'allow' description in 'regulator_allow_bypass' Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: linux-kernel@vger.kernel.org Signed-off-by: NNishanth Menon <nm@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 15 2月, 2013 1 次提交
-
-
由 Russ Dill 提交于
commit dd8004af: 'regulator: core: Log when a device causes a voltage constraint fail', tried to print out some information about the check consumer min/max uV fixup, however, it uses a garbage pointer left over from list_for_each_entry leading to boot messages in the form: '[ 2.079890] <RANDOM ASCII>: Restricting voltage, 3735899821-4294967295uV' Because it references regulator->dev, it could potentially read memory from anywhere causing a panic. This patch instead uses rdev and the updated min/max uV values. Signed-off-by: NRuss Dill <Russ.Dill@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 08 2月, 2013 1 次提交
-
-
由 Axel Lin 提交于
Optimize _regulator_do_set_voltage() for the case selector is equal to old_selector. Since the voltage does not change, we don't need to call set_voltage_sel() and set_voltage_time_sel() in this case. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 05 2月, 2013 1 次提交
-
-
由 Michał Mirosław 提交于
Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 03 1月, 2013 1 次提交
-
-
由 Axel Lin 提交于
regulator_register() does not return 0 on success, fix the comment. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 25 12月, 2012 2 次提交
-
-
由 Axel Lin 提交于
Some DVM regulators needs to update apply_bit after setting vsel_reg to initiate voltage change on the output. This patch adds apply_reg and apply_bit to struct regulator_desc and update regulator_set_voltage_sel_regmap() to set apply_bit of apply_reg when apply_bit is set. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Axel Lin 提交于
Regulator drivers with continuous_voltage_range flag set allows not setting n_voltages. Thus if continuous_voltage_range is set, check the constraint range instead. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 15 12月, 2012 1 次提交
-
-
由 Paolo Pisati 提交于
Signed-off-by: NPaolo Pisati <paolo.pisati@canonical.com> Tested-by: NRobert Nelson <robertcnelson@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 11 12月, 2012 1 次提交
-
-
由 Axel Lin 提交于
Having a linear_min_sel setting means the first linear_min_sel selectors are invalid. We need to subtract linear_min_sel when use n_voltages to determinate if regulator can change voltage. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 06 12月, 2012 1 次提交
-
-
由 Marek Szyprowski 提交于
Introduce a regulator_can_change_voltage() function for the subsytems or drivers which might check if applying voltage change is possible and use special workaround code when the driver is used with fixed regulators or regulators with disabled ability to change the voltage. Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 29 11月, 2012 2 次提交
-
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Mark Brown 提交于
Helps with figuring out when things went wrong. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 28 11月, 2012 1 次提交
-
-
由 Axel Lin 提交于
Some drivers (at least 3 drivers) have such variant of linear mapping that the first few selectors are invalid and the reset are linear mapping. Let's support this case in core. This patch adds linear_min_sel in struct regulator_desc, so we can allow specific minimal selector for starting linear mapping. Then extends regulator_[map|list]_voltage_linear() to support this feature. Note that for selectors less than min_linear_index, we need count them to n_voltages so regulator_list_voltage() won't fail while checking the boundary for selector before calling list_voltage callback. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-