platform/kernel/linux-rpi.git
11 years agoMerge remote-tracking branch 'regulator/topic/change' into regulator-next
Mark Brown [Tue, 11 Dec 2012 12:44:53 +0000 (21:44 +0900)]
Merge remote-tracking branch 'regulator/topic/change' into regulator-next

11 years agoregulator: core: Fix logic to determinate if regulator can change voltage
Axel Lin [Tue, 11 Dec 2012 12:36:37 +0000 (20:36 +0800)]
regulator: core: Fix logic to determinate if regulator can change voltage

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: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge branch 'topic/min' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Mark Brown [Tue, 11 Dec 2012 12:44:17 +0000 (21:44 +0900)]
Merge branch 'topic/min' of git://git./linux/kernel/git/broonie/regulator into regulator-change

11 years agoMerge remote-tracking branch 'regulator/topic/gpio' into regulator-next
Mark Brown [Mon, 10 Dec 2012 14:14:11 +0000 (23:14 +0900)]
Merge remote-tracking branch 'regulator/topic/gpio' into regulator-next

11 years agoregulator: gpio-regulator: gpio_set_value should use cansleep
Lee Jones [Mon, 10 Dec 2012 08:55:53 +0000 (08:55 +0000)]
regulator: gpio-regulator: gpio_set_value should use cansleep

If it's possible for gpio_set_value to sleep, we should be using
the *_cansleep call instead. This patch fixes multiple warnings
from gpiolib.

Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: gpio-regulator: Fix logical error in for() loop
Lee Jones [Mon, 10 Dec 2012 08:55:52 +0000 (08:55 +0000)]
regulator: gpio-regulator: Fix logical error in for() loop

The cond-statement of this particular for() loop will always be
true as long as at least one voltage-shifting GPIO is present.
If it wasn't for the break below, we'd be stuck in a forever loop.
This patch inserts the correct cond-statement into the statement.

Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge remote-tracking branch 'regulator/topic/wm831x' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:33 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/wm831x' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/tps80031' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:32 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/tps80031' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/tps65910' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:30 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/tps65910' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/tps6586x' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:29 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/tps6586x' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/tps65090' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:27 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/tps65090' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/tps516312' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:24 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/tps516312' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/tol' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:22 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/tol' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/stub' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:20 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/stub' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/s2mps11' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:19 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/s2mps11' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/palmas' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:17 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/palmas' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/min' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:00 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/min' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/max8997' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:43:00 +0000 (12:43 +0900)]
Merge remote-tracking branch 'regulator/topic/max8997' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/max8973' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:59 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/max8973' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/max77686' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:58 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/max77686' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/max1586' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:58 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/max1586' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/lp8788' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:57 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/lp8788' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/log' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:56 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/log' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/hotplug' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:55 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/hotplug' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/gpio' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:54 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/gpio' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/da9055' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:53 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/da9055' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/da9052' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:53 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/da9052' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/change' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:52 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/change' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/as3711' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:51 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/as3711' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/topic/arizona' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:51 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/topic/arizona' into regulator-next

11 years agoMerge remote-tracking branch 'regulator/fix/wm831x' into regulator-next
Mark Brown [Mon, 10 Dec 2012 03:42:50 +0000 (12:42 +0900)]
Merge remote-tracking branch 'regulator/fix/wm831x' into regulator-next

11 years agoregulator: anatop: Use regulator_[get|set]_voltage_sel_regmap
Axel Lin [Sun, 9 Dec 2012 00:07:43 +0000 (08:07 +0800)]
regulator: anatop: Use regulator_[get|set]_voltage_sel_regmap

Call regulator_[get|set]_voltage_sel_regmap instead of open code.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Ying-Chun Liu <paulliu@debian.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: anatop: Use linear_min_sel with linear mapping
Axel Lin [Sun, 9 Dec 2012 00:05:45 +0000 (08:05 +0800)]
regulator: anatop: Use linear_min_sel with linear mapping

By setting linear_min_sel to anatop_reg->min_bit_val, we can avoid
adjust the anatop_reg->min_bit_val offset in [set|get]_voltage_sel.

With this chance we can refactor this driver to use
regulator_[get|set]_voltage_sel_regmap.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Ying-Chun Liu <paulliu@debian.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: max1586: Implement get_voltage_sel callback
Axel Lin [Thu, 29 Nov 2012 05:19:43 +0000 (13:19 +0800)]
regulator: max1586: Implement get_voltage_sel callback

This is required since commit f7df20ec32
"regulator: core: Use list_voltage() to read single voltage regulators",
otherwise _regulator_get_voltage returns rdev->desc->ops->list_voltage(rdev, 0).

The Maxim 1586 controls V3 and V6 voltages, but offers no way of reading back
the set up value. Thus this patch caches the setting when setting new voltage.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: lp8788-buck: Kill _gpio_request function
Axel Lin [Fri, 7 Dec 2012 09:25:13 +0000 (17:25 +0800)]
regulator: lp8788-buck: Kill _gpio_request function

Simply use devm_gpio_request_one() instead.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: tps80031: Convert tps80031_ldo_ops to linear_min_sel and list_voltage_linear
Axel Lin [Thu, 6 Dec 2012 00:24:11 +0000 (08:24 +0800)]
regulator: tps80031: Convert tps80031_ldo_ops to linear_min_sel and list_voltage_linear

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: lp8788-ldo: Remove val array in lp8788_config_ldo_enable_mode
Axel Lin [Fri, 7 Dec 2012 01:47:57 +0000 (09:47 +0800)]
regulator: lp8788-ldo: Remove val array in lp8788_config_ldo_enable_mode

To clear the mask bit, setting data argument to be 0 with proper mask setting
for lp8788_update_bits. We don't need the var array here.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: gpio-regulator: Add ifdef CONFIG_OF guard for regulator_gpio_of_match
Axel Lin [Tue, 4 Dec 2012 02:32:05 +0000 (10:32 +0800)]
regulator: gpio-regulator: Add ifdef CONFIG_OF guard for regulator_gpio_of_match

Use of_match_ptr and add ifdef CONFIG_OF guard for regulator_gpio_of_match.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: palmas: Convert palmas_ops_smps to regulator_[get|set]_voltage_sel_regmap
Axel Lin [Thu, 29 Nov 2012 02:01:44 +0000 (10:01 +0800)]
regulator: palmas: Convert palmas_ops_smps to regulator_[get|set]_voltage_sel_regmap

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: palmas: Return raw register values as the selectors in [get|set]_voltage_sel
Axel Lin [Thu, 29 Nov 2012 01:59:16 +0000 (09:59 +0800)]
regulator: palmas: Return raw register values as the selectors in [get|set]_voltage_sel

Don't adjust the selector in [get|set]_voltage_sel, fix it in list_voltage() instead.

For smps*(except smps10), the vsel reg-value and voltage mapping as below:

reg-value       volt (uV) ( Assume RANGE is x1 )
0               0
1               500000
2               500000
3               500000
4               500000
5               500000
6               500000 (0.49V + 1 * 0.01V) * RANGE
7               510000 (0.49V + 2 * 0.01V) * RANGE
8               520000 (0.49V + 3 * 0.01V) * RANGE
9               530000 (0.49V + 4 * 0.01V) * RANGE
....

The linear mapping is start from selector 6.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulators: add regulator_can_change_voltage() function
Marek Szyprowski [Tue, 4 Dec 2012 14:01:01 +0000 (15:01 +0100)]
regulators: add regulator_can_change_voltage() function

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: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: tps51632: Ensure [base|max]_voltage_uV pdata settings are valid
Axel Lin [Fri, 30 Nov 2012 08:52:49 +0000 (16:52 +0800)]
regulator: tps51632: Ensure [base|max]_voltage_uV pdata settings are valid

If pdata->base_voltage_uV is missing or the settings of pdata->base_voltage_uV
and pdata->max_voltage_uV are out of range, TPS51632_VOLT_VSEL macro
returns wrong vsel.

Thus add checking [base|max]_voltage_uV pdata settings in probe.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: wm831x-dcdc: Add MODULE_ALIAS for wm831x-boostp
Axel Lin [Fri, 30 Nov 2012 12:39:53 +0000 (20:39 +0800)]
regulator: wm831x-dcdc: Add MODULE_ALIAS for wm831x-boostp

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: wm831x-dcdc: Ensure selected voltage falls within requested range
Axel Lin [Fri, 30 Nov 2012 05:19:33 +0000 (13:19 +0800)]
regulator: wm831x-dcdc: Ensure selected voltage falls within requested range

Use DIV_ROUND_UP to ensure selected voltage won't less than min_uV due to
integer truncation.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge branch 'topic/tps51632' of git://git.kernel.org/pub/scm/linux/kernel/git/brooni...
Mark Brown [Wed, 28 Nov 2012 19:24:48 +0000 (19:24 +0000)]
Merge branch 'topic/tps51632' of git://git./linux/kernel/git/broonie/regulator into regulator-min

Conflicts:
drivers/regulator/tps51632-regulator.c

11 years agoregulator: tps51632: Use linear_min_sel and regulator_[map|list]_voltage_linear
Axel Lin [Tue, 27 Nov 2012 23:22:54 +0000 (07:22 +0800)]
regulator: tps51632: Use linear_min_sel and regulator_[map|list]_voltage_linear

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: pcf50633: Use linear_min_sel and regulator_[map|list]_voltage_linear
Axel Lin [Wed, 28 Nov 2012 02:41:04 +0000 (10:41 +0800)]
regulator: pcf50633: Use linear_min_sel and regulator_[map|list]_voltage_linear

This driver can be converted to use linear_min_sel and
regulator_[map|list]_voltage_linear.

Below shows the equation (from Datasheet) for each LDOs.

For AUTOOUT:
        VO(prog) = 0.625 + auto_out x 0.025 V; e.g.
        (00000000 to 00101110: reserved)
        00101111: 1.8 V (min)
        01010011: 2.7 V
        01101010: 3.275 V
        01101011: 3.300 V
        01101100: 3.325 V
        01111111 : 3.800 V (max)

        The linear mapping start from 0x2f selector.

        Thus we convert this equation to:
        VO(prog) = 1.8 + (selector - linear_min_sel) x 0.025 V
        (min_uV = 1800000, uV_step = 25000, linear_min_sel = 0x2f)

For DOWNxOUT:
        VO(prog) = 0.625 + downx_out x 0.025 V; e.g.
        00000000 : 0.625 V (min)
        00010111 : 1.200 V
        00101111 : 1.800 V
        01011111 : 3.000 V (max)

For xLDOOUT:
        VO(prog) = 0.9 + xldo_out x 0.1 V; e.g.
        00000: 0.9 V
        00001: 1.0 V
        11000 : 3.3 V
        11011 : 3.6 V

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: arizona-micsupp: Add ramp time information
Mark Brown [Tue, 27 Nov 2012 14:55:49 +0000 (14:55 +0000)]
regulator: arizona-micsupp: Add ramp time information

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: core: Say what unsupportable voltage constraints are
Mark Brown [Tue, 27 Nov 2012 18:48:56 +0000 (18:48 +0000)]
regulator: core: Say what unsupportable voltage constraints are

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: core: Log when a device causes a voltage constraint fail
Mark Brown [Wed, 28 Nov 2012 17:09:27 +0000 (17:09 +0000)]
regulator: core: Log when a device causes a voltage constraint fail

Helps with figuring out when things went wrong.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: arizona-ldo1: Support 1.8V mode
Mark Brown [Tue, 27 Nov 2012 18:48:33 +0000 (18:48 +0000)]
regulator: arizona-ldo1: Support 1.8V mode

Some Arizona device support a 1.8V output mode. Enable this in the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: arizona-ldo1: Add additional top voltage
Mark Brown [Tue, 27 Nov 2012 18:25:13 +0000 (18:25 +0000)]
regulator: arizona-ldo1: Add additional top voltage

The number of voltage slots supported by the LDO is 7, not 6.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: arizona-ldo1: Support DVFS in default constraints
Mark Brown [Tue, 27 Nov 2012 17:51:46 +0000 (17:51 +0000)]
regulator: arizona-ldo1: Support DVFS in default constraints

Some Arizona devices such as the WM5102 can use DVFS on their digital core,
for these devices allow the voltage range to vary in the default setup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: arizona-ldo1: Add enable time
Mark Brown [Tue, 27 Nov 2012 17:02:29 +0000 (17:02 +0000)]
regulator: arizona-ldo1: Add enable time

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: as3711: Fix the logic in as3711_sel_check
Axel Lin [Fri, 23 Nov 2012 16:53:22 +0000 (00:53 +0800)]
regulator: as3711: Fix the logic in as3711_sel_check

Below equation means the "voltage" is the "smallest" voltage within specific
range.

ret = DIV_ROUND_UP(min - bottom) / step;
voltage = ret * step + bottom;

If we do try 1 down when (voltage > max), new voltage is then less than min
voltage. Which means the new voltage is not in the requested voltage range.

This patch also includes below cleanups:
- Use DIV_ROUND_UP
- rename variable 'ret' to 'sel' for better readability because as3711_sel_check
  returns the selector.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: as3711: Fix valid min_uV/max_UV checking in as3711_bound_check
Axel Lin [Fri, 23 Nov 2012 16:50:52 +0000 (00:50 +0800)]
regulator: as3711: Fix valid min_uV/max_UV checking in as3711_bound_check

Below cases are supposed to be valid:

min_uV == max_uV == info->max_uV
min_uV == max_uV == rdev->desc->min_uV

Don't return -EINVAL for above cases.

This patch also includes below cleanups:
- Use rdev_get_drvdata(rdev) instead of rdev->reg_data.
- Remove unnecessary WARN_ON, it looks pointless.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: s2mps11: Fix ramp delay value shift operation
Sangbeom Kim [Sat, 24 Nov 2012 02:13:28 +0000 (11:13 +0900)]
regulator: s2mps11: Fix ramp delay value shift operation

This patch fix the abnormal ramp delay setting.
The shift operation was wrong.

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
11 years agoregulator: da9052: Ensure setting current limit within specific range
Axel Lin [Mon, 26 Nov 2012 07:23:38 +0000 (15:23 +0800)]
regulator: da9052: Ensure setting current limit within specific range

Checking da9052_current_limits[row][i] <= max_uA is not enough, it is possible
da9052_current_limits[row][i] may less than the requested min_uA.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: da9055: Select maximum current in specific range for set_current_limit
Axel Lin [Mon, 26 Nov 2012 07:26:41 +0000 (15:26 +0800)]
regulator: da9055: Select maximum current in specific range for set_current_limit

Selecting the minimal value is only true for voltage regulators.
For current regulators the maximum in the given range should be
selected instead.

This issue was reported by Heiko Stuebner for gpio-regulator driver [1],
and the conclusion is to select the max current for current regulators [2].

[1] https://lkml.org/lkml/2012/8/5/162
[2] https://lkml.org/lkml/2012/8/6/183

This patch also ensures da9055_buck_set_current_limit return -EINVAL when the
supported current limit does not meet the request range.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: tps6586x: fix build warning in debug build
Laxman Dewangan [Mon, 26 Nov 2012 23:14:28 +0000 (04:44 +0530)]
regulator: tps6586x: fix build warning in debug build

When building the driver in debug mode, it generates
warning as

drivers/regulator/tps6586x-regulator.c: In function 'tps6586x_regulator_probe':
drivers/regulator/tps6586x-regulator.c:392:9: warning: 'id' is used uninitialized in this function [-Wuninitialized]

Fix this warning.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reported-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: tps51632: Fix writing to wrong register when enable_pwm_dvfs is set
Axel Lin [Mon, 26 Nov 2012 15:42:14 +0000 (23:42 +0800)]
regulator: tps51632: Fix writing to wrong register when enable_pwm_dvfs is set

When tps->enable_pwm_dvfs is true, write to TPS51632_VOLTAGE_BASE_REG rather
than TPS51632_VOLTAGE_SELECT_REG.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: da9055: Use linear_min_sel and regulator_[map|list]_voltage_linear
Axel Lin [Tue, 27 Nov 2012 02:26:14 +0000 (10:26 +0800)]
regulator: da9055: Use linear_min_sel and regulator_[map|list]_voltage_linear

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge branches 'topic/da9055' and 'topic/tps51632' of git://git.kernel.org/pub/scm...
Mark Brown [Tue, 27 Nov 2012 20:08:14 +0000 (20:08 +0000)]
Merge branches 'topic/da9055' and 'topic/tps51632' of git://git./linux/kernel/git/broonie/regulator into regulator-min

11 years agoregulator: palmas: Use linear_min_sel and regulator_[map|list]_voltage_linear
Axel Lin [Tue, 27 Nov 2012 02:27:34 +0000 (10:27 +0800)]
regulator: palmas: Use linear_min_sel and regulator_[map|list]_voltage_linear

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: core: Allow specific minimal selector for starting linear mapping
Axel Lin [Tue, 27 Nov 2012 02:24:33 +0000 (10:24 +0800)]
regulator: core: Allow specific minimal selector for starting linear mapping

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: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoMerge branch 'topic/hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Mark Brown [Tue, 27 Nov 2012 20:06:08 +0000 (20:06 +0000)]
Merge branch 'topic/hotplug' of git://git./linux/kernel/git/broonie/regulator into regulator-max8997

Conflicts:
drivers/regulator/max8997.c

11 years agoregulator: add device tree support for max8997
Thomas Abraham [Tue, 27 Nov 2012 08:34:32 +0000 (14:04 +0530)]
regulator: add device tree support for max8997

Add device tree based discovery support for max8997.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoLinux 3.7-rc7
Linus Torvalds [Mon, 26 Nov 2012 01:59:19 +0000 (17:59 -0800)]
Linux 3.7-rc7

11 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Mon, 26 Nov 2012 01:57:01 +0000 (17:57 -0800)]
Merge branch 'merge' of git://git./linux/kernel/git/benh/powerpc

Pull powerpc EEH bugfixes from Benjamin Herrenschmidt.

Two one-liner fixes for the new EEH code.

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/eeh: Do not invalidate PE properly
  powerpc/pseries: Fix oops with MSIs when missing EEH PEs

11 years agoMerge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Linus Torvalds [Mon, 26 Nov 2012 01:55:04 +0000 (17:55 -0800)]
Merge branch 'upstream' of git://git.linux-mips.org/ralf/upstream-linus

Pull MIPS fixes from Ralf Baechle:
 "Three issues fixed accross the field:

   - Some functions that were recently outlined as part of a preemption
     fix were causing problems with function tracing.
   - The recently merged in-kernel MPI library uses very outdated
     headers that contain MIPS-specific code which won't build on with
     gcc 4.4 or newer.
   - The MIPS non-NUMA memory initialization was making only a very
     half-baked attempt at merging adjacent memory ranges.  This kept
     the code simple enough but is now causing issues with kexec."

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MPI: Fix compilation on MIPS with GCC 4.4 and newer
  MIPS: Fix crash that occurs when function tracing is enabled
  MIPS: Merge overlapping bootmem ranges

11 years agopowerpc/eeh: Do not invalidate PE properly
Gavin Shan [Thu, 22 Nov 2012 21:58:26 +0000 (21:58 +0000)]
powerpc/eeh: Do not invalidate PE properly

While the EEH does recovery on the specific PE that has PCI errors,
the PCI devices belonging to the PE will be removed and the PE will
be marked as invalid since we still need the information stored in
the PE. We only invalidate the PE when it doesn't have associated
EEH devices and valid child PEs. However, the code used to check
that is wrong. The patch fixes that.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
11 years agoMerge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Linus Torvalds [Sat, 24 Nov 2012 18:32:11 +0000 (08:32 -1000)]
Merge tag 'sound-3.7' of git://git./linux/kernel/git/tiwai/sound

Pull sound build error fix from Takashi Iwai:
 "Only a single commit for fixing the build error without CONFIG_PM in
  hda driver."

* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: hda - Fix build without CONFIG_PM

11 years agoregulator: max8997: limit the number of dvs registers programmed in non-dvs mode
Thomas Abraham [Fri, 23 Nov 2012 08:03:14 +0000 (13:33 +0530)]
regulator: max8997: limit the number of dvs registers programmed in non-dvs mode

In case the gpio based volatage selection mode is not used for either of
buck 1/2/5, then only the BUCKxDVS1 register need to be programmed. So
determine whether dvs mode is used and limit the loop count appropriately.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: max8997: reorder buck1/2/5 dvs setup code
Thomas Abraham [Fri, 23 Nov 2012 08:03:13 +0000 (13:33 +0530)]
regulator: max8997: reorder buck1/2/5 dvs setup code

The BUCKxDVSx register programming is now moved prior to setting up of the
gpio based dvs mode. This will ensure that all the BUCKxDVSx registers
are programmed with appropriate voltage values before the gpio based dvs
mode is selected for buck1/2/5.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoregulator: tps65090: Add MODULE_ALIAS
Axel Lin [Fri, 23 Nov 2012 15:47:16 +0000 (23:47 +0800)]
regulator: tps65090: Add MODULE_ALIAS

This driver can be built as a module, add MODULE_ALIAS for it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoALSA: hda - Fix build without CONFIG_PM
Takashi Iwai [Sat, 24 Nov 2012 10:58:24 +0000 (11:58 +0100)]
ALSA: hda - Fix build without CONFIG_PM

I forgot this again...  codec->in_pm is in #ifdef CONFIG_PM

Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoMerge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 24 Nov 2012 06:03:14 +0000 (20:03 -1000)]
Merge branch 'x86-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull x86 arch fixes from Peter Anvin:
 "Here is a collection of fixes for 3.7-rc7.  This is a superset of
  tglx' earlier pull request."

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86-64: Fix ordering of CFI directives and recent ASM_CLAC additions
  x86, microcode, AMD: Add support for family 16h processors
  x86-32: Export kernel_stack_pointer() for modules
  x86-32: Fix invalid stack address while in softirq
  x86, efi: Fix processor-specific memcpy() build error
  x86: remove dummy long from EFI stub
  x86, mm: Correct vmflag test for checking VM_HUGETLB
  x86, amd: Disable way access filter on Piledriver CPUs
  x86/mce: Do not change worker's running cpu in cmci_rediscover().
  x86/ce4100: Fix PCI configuration register access for devices without interrupts
  x86/ce4100: Fix reboot by forcing the reboot method to be KBD
  x86/ce4100: Fix pm_poweroff
  MAINTAINERS: Update email address for Robert Richter
  x86, microcode_amd: Change email addresses, MAINTAINERS entry
  MAINTAINERS: Change Boris' email address
  EDAC: Change Boris' email address
  x86, AMD: Change Boris' email address

11 years agoMerge tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6
Linus Torvalds [Sat, 24 Nov 2012 01:12:17 +0000 (15:12 -1000)]
Merge tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6

Pull MTD fixes from David Woodhouse:
 "The most important part of this is that it fixes a regression in
  Samsung NAND chip detection, introduced by some rework which went into
  3.7.  The initial fix wasn't quite complete, so it's in two parts.  In
  fact the first part is committed twice (Artem committed his own copy
  of the same patch) and I've merged Artem's tree into mine which
  already had that fix.

  I'd have recommitted that to make it somewhat cleaner, but figured by
  this point in the release cycle it was better to merge *exactly* the
  commits which have been in linux-next.

  If I'd recommitted, I'd also omit the sparse warning fix.  But it's
  there, and it's harmless — just marking one function as 'static' in
  onenand code.

  This also includes a couple more fixes for stable: an AB-BA deadlock
  in JFFS2, and an invalid range check in slram."

* tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6:
  mtd: nand: fix Samsung SLC detection regression
  mtd: nand: fix Samsung SLC NAND identification regression
  jffs2: Fix lock acquisition order bug in jffs2_write_begin
  mtd: onenand: Make flexonenand_set_boundary static
  mtd: slram: invalid checking of absolute end address
  mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions()
  mtd: nand: fix Samsung SLC NAND identification regression

11 years agoMerge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6
Linus Torvalds [Fri, 23 Nov 2012 22:36:06 +0000 (12:36 -1000)]
Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6

Pull device tree regression fix from Grant Likely:
 "Simple build regression fix for DT device drivers on Sparc.  An
  earlier change had masked out the of_iomap() helper on SPARC."

* tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
  of/address: sparc: Declare of_iomap as an extern function for sparc again

11 years agoMerge tag 'pm-for-3.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Fri, 23 Nov 2012 22:16:43 +0000 (12:16 -1000)]
Merge tag 'pm-for-3.7-rc7' of git://git./linux/kernel/git/rafael/linux-pm

Pull power management update from Rafael Wysocki:
 "Fix for an incorrect error condition check in device PM QoS code that
  may lead to an Oops from Guennadi Liakhovetski."

* tag 'pm-for-3.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM / QoS: fix wrong error-checking condition

11 years agoMerge tag 'md-3.7-fixes' of git://neil.brown.name/md
Linus Torvalds [Fri, 23 Nov 2012 22:11:13 +0000 (12:11 -1000)]
Merge tag 'md-3.7-fixes' of git://neil.brown.name/md

Pull md fixes from NeilBrown:
 "Several bug fixes for md in 3.7:

   - raid5 discard has problems
   - raid10 replacement devices have problems
   - bad block lock seqlock usage has problems
   - dm-raid doesn't free everything"

* tag 'md-3.7-fixes' of git://neil.brown.name/md:
  md/raid10: decrement correct pending counter when writing to replacement.
  md/raid10: close race that lose writes lost when replacement completes.
  md/raid5: Make sure we clear R5_Discard when discard is finished.
  md/raid5: move resolving of reconstruct_state earlier in stripe_handle.
  md/raid5: round discard alignment up to power of 2.
  md: make sure everything is freed when dm-raid stops an array.
  md: Avoid write invalid address if read_seqretry returned true.
  md: Reassigned the parameters if read_seqretry returned true in func md_is_badblock.

11 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-block
Linus Torvalds [Fri, 23 Nov 2012 22:06:05 +0000 (12:06 -1000)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-block

Pull block layer fixes from Jens Axboe:
 "Distilled down version of bug fixes for 3.7.  The patches have been
  well tested.  If you notice that commit dates are from today, it's
  because I pulled less important bits out and shuffled them into the
  3.8 mix.  Apart from that, no changes, base still the same.

  It contains:

   - Fix for aoe, don't run request_fn while it's plugged.

   - Fix for a regression in floppy since 3.6, which causes problems if
     no floppy is found.

   - Stable fix for blk_exec(), don't touch a request after it has been
     sent to the scheduler (and the device as well).

   - Five fixes for various nasties in mtip32xx."

* 'for-linus' of git://git.kernel.dk/linux-block:
  block: Don't access request after it might be freed
  mtip32xx: Fix padding issue
  aoe: avoid running request handler on plugged queue
  mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()
  mtip32xx: fix shift larger than type warning
  mtip32xx: Fix incorrect mask used for erase mode
  mtip32xx: Fix to make lba address correct in big-endian systems
  mtip32xx: fix potential crash on SEC_ERASE_UNIT
  dm: fix deadlock with request based dm and queue request_fn recursion
  floppy: destroy floppy workqueue before cleaning up the queue

11 years agoof/address: sparc: Declare of_iomap as an extern function for sparc again
Andreas Larsson [Fri, 23 Nov 2012 11:24:09 +0000 (12:24 +0100)]
of/address: sparc: Declare of_iomap as an extern function for sparc again

This bug-fix makes sure that of_iomap is defined extern for sparc so that the
sparc-specific implementation of_iomap is once again used when including
include/linux/of_address.h in a sparc context. OF_GPIO that is now available for
sparc relies on this.

The bug was inadvertently introduced in a850a75, "of/address: add empty static
inlines for !CONFIG_OF", that added a static dummy inline for of_iomap when
!CONFIG_OF_ADDRESS. However, CONFIG_OF_ADDRESS is never defined for sparc, but
there is a sparc-specific implementation /arch/sparc/kernel/of_device_common.c.

This fix takes the same approach as 0bce04b that solved the equivalent problem
for of_address_to_resource.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Acked-by: David Miller <davem@davemloft.net>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
11 years agoMerge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux
Linus Torvalds [Fri, 23 Nov 2012 22:01:02 +0000 (12:01 -1000)]
Merge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux

Pull omapdss fixes from Tomi Valkeinen:
 "Here are a few OMAPDSS fixes for the next -rc.  I'm sending these
  directly to you, and quite late, as the fbdev tree maintainer
  (Florian) has been busy with his work and hasn't had time to manage
  the fb patches."

* tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux:
  OMAPDSS: do not fail if dpll4_m4_ck is missing
  OMAPFB: Fix possible null pointer dereferencing
  OMAPDSS: HDMI: fix missing unlock on error in hdmi_dump_regs()
  omapdss: dss: Fix clocks on OMAP363x
  OMAPDSS: DSI: fix dsi_get_dsidev_from_id()

11 years agoMerge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux
Linus Torvalds [Fri, 23 Nov 2012 21:59:26 +0000 (11:59 -1000)]
Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
 "Bugfixes for the i2c subsystem.

  Except for a few one-liners, there is mainly one revert because of an
  overlooked dependency.  Since there is no linux-next at the moment, I
  did some extra testing, and all was fine for me."

* 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
  i2c: mxs: Handle i2c DMA failure properly
  i2c: s3c2410: Fix code to free gpios
  i2c: omap: ensure writes to dev->buf_len are ordered
  Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints"
  i2c: at91: fix SMBus quick command

11 years agoMerge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Linus Torvalds [Fri, 23 Nov 2012 21:58:28 +0000 (11:58 -1000)]
Merge tag 'sound-3.7' of git://git./linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "The highlight of this update is the fixes for ASoC kirkwood by
  Russell.  In addition to that, a couple of regression fixes for
  HD-audio due to the runtime PM support on 3.7, and other driver-
  specific regression fixes like USB MIDI on non-standard USB audio
  drivers."

* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: snd-usb: properly initialize the sync endpoint
  ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker
  ALSA: hda - Add support for Realtek ALC292
  ASoC: kirkwood-i2s: more pause-mode fixes
  ASoC: kirkwood-i2s: fix DMA underruns
  ASoC: kirkwood-i2s: fix DCO lock detection
  ASoC: kirkwood-dma: don't ignore other irq causes on error
  ASoC: kirkwood-dma: fix use of virt_to_phys()
  ALSA: hda - Limit runtime PM support only to known Intel chips
  ALSA: hda - Fix recursive suspend/resume call
  ALSA: ua101, usx2y: fix broken MIDI output
  ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]
  ASoC: bells: Fix up git patch application failure
  ASoC: cs4271: free allocated GPIO

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Linus Torvalds [Fri, 23 Nov 2012 21:55:49 +0000 (11:55 -1000)]
Merge git://git./linux/kernel/git/davem/net

Pull networkign fixes from David Miller:
 "Networking bug fixes, Cacio e Pepe edition:

  1) BNX2X accidently accesses chip rev specific registers without an
     appropriate guard, fix from Ariel Elior.

  2) When we removed the routing cache, we set ip_rt_max_size to ~0 just
     to keep reporting a value to userspace via sysfs.  But the ipv4
     IPSEC layer was using this to tune itself which is completely bogus
     to now do.  Fix from Steffen Klassert.

  3) Missing initialization in netfilter ipset code from Jozsef
     Kadlecsik.

  4) Check CTA_TIMEOUT_NAME length properly in netfilter cttimeout code,
     fix from Florian Westphal.

  5) After removing the routing cache, we inadvertantly are caching
     multicast routes that end up looping back locally, we cannot do
     that legitimately any more.  Fix from Julian Anastasov.

  6) Revert a race fix for 8139cp qemu/kvm that doesn't actually work
     properly on real hardware.  From Francois Romieu.

  7) Fixup errors in example command lines in VXLAN device docs."

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  bnx2x: remove redundant warning log
  vxlan: fix command usage in its doc
  8139cp: revert "set ring address before enabling receiver"
  ipv4: do not cache looped multicasts
  netfilter: cttimeout: fix buffer overflow
  netfilter: ipset: Fix range bug in hash:ip,port,net
  xfrm: Fix the gc threshold value for ipv4

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Linus Torvalds [Fri, 23 Nov 2012 21:55:09 +0000 (11:55 -1000)]
Merge git://git./linux/kernel/git/davem/sparc

Pull sparc fix from David Miller:
 "Bug fix from Al Viro"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()

11 years agoMerge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
Linus Torvalds [Fri, 23 Nov 2012 21:54:22 +0000 (11:54 -1000)]
Merge tag 'fixes-for-linus' of git://git./linux/kernel/git/arm/arm-soc

Pull one more ARM SoC fix from Olof Johansson:
 "I missed one pull request from Samsung with one fix in the previous
  batch.  Here it is -- a dma driver fix for an early version of silicon
  that they still support."

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC

11 years agoPM / QoS: fix wrong error-checking condition
Guennadi Liakhovetski [Fri, 23 Nov 2012 19:55:06 +0000 (20:55 +0100)]
PM / QoS: fix wrong error-checking condition

dev_pm_qos_add_request() can return 0, 1, or a negative error code,
therefore the correct error test is "if (error < 0)." Checking just for
non-zero return code leads to erroneous setting of the req->dev pointer
to NULL, which then leads to a repeated call to
dev_pm_qos_add_ancestor_request() in st1232_ts_irq_handler(). This in turn
leads to an Oops, when the I2C host adapter is unloaded and reloaded again
because of the inconsistent state of its QoS request list.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
11 years agobnx2x: remove redundant warning log
Ariel Elior [Thu, 22 Nov 2012 07:16:17 +0000 (07:16 +0000)]
bnx2x: remove redundant warning log

fix bug where a register which was only meant to be read in 578xx/57712
devices causes a bogus error message to be logged when read from other
devices.

Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agovxlan: fix command usage in its doc
Zhi Yong Wu [Thu, 22 Nov 2012 00:10:01 +0000 (00:10 +0000)]
vxlan: fix command usage in its doc

  Some commands don't work in its example doc. The patch will fix it.

Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years ago8139cp: revert "set ring address before enabling receiver"
françois romieu [Wed, 21 Nov 2012 10:07:29 +0000 (10:07 +0000)]
8139cp: revert "set ring address before enabling receiver"

This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db.

The original patch was tested with emulated hardware. Real
hardware chokes.

Fixes https://bugzilla.kernel.org/show_bug.cgi?id=47041

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agoMPI: Fix compilation on MIPS with GCC 4.4 and newer
Manuel Lauss [Thu, 22 Nov 2012 10:58:22 +0000 (11:58 +0100)]
MPI: Fix compilation on MIPS with GCC 4.4 and newer

Since 4.4 GCC on MIPS no longer recognizes the "h" constraint,
leading to this build failure:

  CC      lib/mpi/generic_mpih-mul1.o
lib/mpi/generic_mpih-mul1.c: In function 'mpihelp_mul_1':
lib/mpi/generic_mpih-mul1.c:50:3: error: impossible constraint in 'asm'

This patch updates MPI with the latest umul_ppm implementations for MIPS.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Cc: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Cc: James Morris <jmorris@namei.org>
Patchwork: https://patchwork.linux-mips.org/patch/4612/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Fix crash that occurs when function tracing is enabled
Al Cooper [Thu, 15 Nov 2012 23:16:14 +0000 (18:16 -0500)]
MIPS: Fix crash that occurs when function tracing is enabled

A recent patch changed some irq routines from inlines to functions.
These routines are called by the tracer code. Now that they're functions,
if they are compiled for function tracing they will call the tracer
and crash the system due to infinite recursion. The fix disables
tracing in these functions by using "notrace" in the function
definition.

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Reviewed-by: David Daney <david.daney@cavium.com>
Pathchwork: https://patchwork.linux-mips.org/patch/4564/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Merge overlapping bootmem ranges
Ralf Baechle [Thu, 15 Nov 2012 11:53:59 +0000 (12:53 +0100)]
MIPS: Merge overlapping bootmem ranges

Without this, we may end up with something like this in /proc/iomem:

01100000-014fffff : System RAM
  01100000-013bf48f : Kernel code
  013bf490-0149e01f : Kernel data
01500000-0c0fffff : System RAM

but the two System RAM ranges should be one single range.  This particular
case will result in kexec failure on Octeon systems if the kernel being
loaded by kexec is bigger than the already running kernel.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoblock: Don't access request after it might be freed
Roland Dreier [Thu, 22 Nov 2012 10:00:11 +0000 (02:00 -0800)]
block: Don't access request after it might be freed

After we've done __elv_add_request() and __blk_run_queue() in
blk_execute_rq_nowait(), the request might finish and be freed
immediately.  Therefore checking if the type is REQ_TYPE_PM_RESUME
isn't safe afterwards, because if it isn't, rq might be gone.
Instead, check beforehand and stash the result in a temporary.

This fixes crashes in blk_execute_rq_nowait() I get occasionally when
running with lots of memory debugging options enabled -- I think this
race is usually harmless because the window for rq to be reallocated
is so small.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Cc: stable@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
11 years agomtip32xx: Fix padding issue
Selvan Mani [Wed, 14 Nov 2012 13:16:35 +0000 (06:16 -0700)]
mtip32xx: Fix padding issue

Hi Jens,

Another tiny patch.

Removed __packed before the struct smart_attr and added __packed at end of
the structure to fix padding issue.

Signed-off-by: Selvan Mani <smani@micron.com>
Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
11 years agoaoe: avoid running request handler on plugged queue
Ed Cashin [Fri, 9 Nov 2012 00:17:15 +0000 (19:17 -0500)]
aoe: avoid running request handler on plugged queue

Calling the request handler directly on a plugged queue defeats
the performance improvements provided by the plugging mechanism.
Use the __blk_run_queue function instead of calling the request
handler directly, so that we don't interfere with the block
layer's ability to plug the queue.

Signed-off-by: Ed Cashin <ecashin@coraid.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
11 years agomtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()
Wei Yongjun [Thu, 8 Nov 2012 09:35:38 +0000 (17:35 +0800)]
mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()

The dereference to port should be moved below the NULL test.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Jens Axboe <axboe@kernel.dk>