Merge remote-tracking branches 'regulator/fix/doc', 'regulator/fix/max77686' and...
authorMark Brown <broonie@kernel.org>
Mon, 22 Jun 2015 10:19:49 +0000 (11:19 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 22 Jun 2015 10:19:49 +0000 (11:19 +0100)
drivers/regulator/helpers.c
drivers/regulator/max77686.c
drivers/regulator/wm831x-dcdc.c
drivers/regulator/wm831x-isink.c
drivers/regulator/wm831x-ldo.c

index cbc39096c78d436f8206aa7107811bc43da6fd20..3bbb32680a94265069eac502d1d2b679e22fa673 100644 (file)
@@ -275,7 +275,7 @@ int regulator_map_voltage_linear(struct regulator_dev *rdev,
 EXPORT_SYMBOL_GPL(regulator_map_voltage_linear);
 
 /**
- * regulator_map_voltage_linear - map_voltage() for multiple linear ranges
+ * regulator_map_voltage_linear_range - map_voltage() for multiple linear ranges
  *
  * @rdev: Regulator to operate on
  * @min_uV: Lower bound for voltage
index 15fb1416bfbde99c9724644dd25bf106695fda97..17ccf365a9c04d9cb33a246f74777f316d76f037 100644 (file)
@@ -2,7 +2,7 @@
  * max77686.c - Regulator driver for the Maxim 77686
  *
  * Copyright (C) 2012 Samsung Electronics
- * Chiwoong Byun <woong.byun@smasung.com>
+ * Chiwoong Byun <woong.byun@samsung.com>
  * Jonghwa Lee <jonghwa3.lee@samsung.com>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -88,7 +88,7 @@ enum max77686_ramp_rate {
 };
 
 struct max77686_data {
-       u64 gpio_enabled:MAX77686_REGULATORS;
+       DECLARE_BITMAP(gpio_enabled, MAX77686_REGULATORS);
 
        /* Array indexed by regulator id */
        unsigned int opmode[MAX77686_REGULATORS];
@@ -121,7 +121,7 @@ static unsigned int max77686_map_normal_mode(struct max77686_data *max77686,
        case MAX77686_BUCK8:
        case MAX77686_BUCK9:
        case MAX77686_LDO20 ... MAX77686_LDO22:
-               if (max77686->gpio_enabled & (1 << id))
+               if (test_bit(id, max77686->gpio_enabled))
                        return MAX77686_GPIO_CONTROL;
        }
 
@@ -277,7 +277,7 @@ static int max77686_of_parse_cb(struct device_node *np,
        }
 
        if (gpio_is_valid(config->ena_gpio)) {
-               max77686->gpio_enabled |= (1 << desc->id);
+               set_bit(desc->id, max77686->gpio_enabled);
 
                return regmap_update_bits(config->regmap, desc->enable_reg,
                                          desc->enable_mask,
index 0d7e164a5e763939a2d15d3e0d6a160beabd23c7..8cbb82ceec40521a7486b4f89b03e1c42499c041 100644 (file)
@@ -533,7 +533,8 @@ static int wm831x_buckv_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_dcdc_uv_irq,
-                                       IRQF_TRIGGER_RISING, dcdc->name, dcdc);
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       dcdc->name, dcdc);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
                        irq, ret);
@@ -543,7 +544,8 @@ static int wm831x_buckv_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "HC"));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_dcdc_oc_irq,
-                                       IRQF_TRIGGER_RISING, dcdc->name, dcdc);
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       dcdc->name, dcdc);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request HC IRQ %d: %d\n",
                        irq, ret);
@@ -669,7 +671,8 @@ static int wm831x_buckp_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_dcdc_uv_irq,
-                                       IRQF_TRIGGER_RISING, dcdc->name, dcdc);
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       dcdc->name, dcdc);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
                        irq, ret);
@@ -785,7 +788,8 @@ static int wm831x_boostp_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_dcdc_uv_irq,
-                                       IRQF_TRIGGER_RISING, dcdc->name,
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       dcdc->name,
                                        dcdc);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
index 1e88391a162849c0c529e2f76e28f95216e576f8..1442828fcd9afbe44e2788646f4ed992b903d7ea 100644 (file)
@@ -204,7 +204,8 @@ static int wm831x_isink_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq(pdev, 0));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_isink_irq,
-                                       IRQF_TRIGGER_RISING, isink->name,
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       isink->name,
                                        isink);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request ISINK IRQ %d: %d\n",
index 7ae2dc82f636b601c2a976674dc26c1a9aae02a6..5a7b65e8a529c496edfdcf15ade002e82e4d5d6d 100644 (file)
@@ -287,7 +287,8 @@ static int wm831x_gp_ldo_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_ldo_uv_irq,
-                                       IRQF_TRIGGER_RISING, ldo->name,
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       ldo->name,
                                        ldo);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
@@ -496,7 +497,8 @@ static int wm831x_aldo_probe(struct platform_device *pdev)
        irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                        wm831x_ldo_uv_irq,
-                                       IRQF_TRIGGER_RISING, ldo->name, ldo);
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                       ldo->name, ldo);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
                        irq, ret);