On Sat, Dec 26, 2015 at 08:38:24PM -0800, Matt Ranostay wrote:
> Allow the current for both RED and IR LEDs to be set via an device tree
> property setting.
>
> This is an optional setting that is useful for applications that have a
> known glass attenuation factor.
>
> Signed-off-by: Matt Ranostay <[email protected]>
> ---
> .../devicetree/bindings/iio/health/max30100.txt | 7 +++++++
> drivers/iio/health/max30100.c | 21
> +++++++++++++++------
> 2 files changed, 22 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/health/max30100.txt
> b/Documentation/devicetree/bindings/iio/health/max30100.txt
> index f6fbac6..009314c 100644
> --- a/Documentation/devicetree/bindings/iio/health/max30100.txt
> +++ b/Documentation/devicetree/bindings/iio/health/max30100.txt
> @@ -11,11 +11,18 @@ Required properties:
> Refer to interrupt-controller/interrupts.txt for generic
> interrupt client node bindings.
>
> +Optional properties:
> + - max30100,led-current: configuration for LED current (in mA) while the
> engine
> + is running. Upper nibble is for the RED LED, and lower nibble the IR LED.
Can you use the common LED binding and led-max-microamp instead?
Otherwise, please add "-microamp" suffix and just split to 2 cells for
RED and IR LEDs. Also, "max30100" is not a vendor prefix. Use maxim.
> + ret = of_property_read_u32(np, "max30100,led-current", &val);
> + if (ret) {
> + /* Default to 24 mA RED LED, 50 mA IR LED */
> + val = (MAX30100_REG_LED_CONFIG_24MA <<
> + MAX30100_REG_LED_CONFIG_RED_LED_SHIFT) |
> + MAX30100_REG_LED_CONFIG_50MA;
> + dev_warn(dev, "no led-current set, defaulting to %d", val);
> + }
> +
> + ret = regmap_write(data->regmap, MAX30100_REG_LED_CONFIG, val & 0xFF);
Huh? You say the units are milliamps, but then you use the DT value
directly?
Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html