lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210711112130.45339212@jic23-huawei>
Date:   Sun, 11 Jul 2021 11:21:30 +0100
From:   Jonathan Cameron <jic23@...nel.org>
To:     Andreas Kemnade <andreas@...nade.info>
Cc:     lars@...afoo.de, sre@...nel.org, linux-iio@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
        letux-kernel@...nphoenux.org
Subject: Re: [PATCH v2 1/2] iio: adc: rn5t618: Add iio map

On Mon,  5 Jul 2021 13:36:36 +0200
Andreas Kemnade <andreas@...nade.info> wrote:

> Add iio map to allow power driver to read out values as a consumer.
> This approach does not block later addition of devicetree support
> which would be helpful if there is an in-kernel consumer for AIN0/1.
> 
> Signed-off-by: Andreas Kemnade <andreas@...nade.info>
Looks good.  I'm assuming this will go via the power tree, perhaps with
an immutable branch on off chance we have any other changes in the same
driver this cycle.

Acked-by: Jonathan Cameron <Jonathan.Cameron@...wei.com>

> ---
> Changes in v2:
> - provide consumer mapping via iio_map instead of devicetree
> 
>  drivers/iio/adc/rn5t618-adc.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/drivers/iio/adc/rn5t618-adc.c b/drivers/iio/adc/rn5t618-adc.c
> index 7010c4276947..c56fccb2c8e1 100644
> --- a/drivers/iio/adc/rn5t618-adc.c
> +++ b/drivers/iio/adc/rn5t618-adc.c
> @@ -16,6 +16,8 @@
>  #include <linux/completion.h>
>  #include <linux/regmap.h>
>  #include <linux/iio/iio.h>
> +#include <linux/iio/driver.h>
> +#include <linux/iio/machine.h>
>  #include <linux/slab.h>
>  
>  #define RN5T618_ADC_CONVERSION_TIMEOUT   (msecs_to_jiffies(500))
> @@ -189,6 +191,19 @@ static const struct iio_chan_spec rn5t618_adc_iio_channels[] = {
>  	RN5T618_ADC_CHANNEL(AIN0, IIO_VOLTAGE, "AIN0")
>  };
>  
> +static struct iio_map rn5t618_maps[] = {
> +	IIO_MAP("VADP", "rn5t618-power", "vadp"),
> +	IIO_MAP("VUSB", "rn5t618-power", "vusb"),
> +	{ /* sentinel */ }
> +};
> +
> +static void unregister_map(void *data)
> +{
> +	struct iio_dev *iio_dev = (struct iio_dev *) data;
> +
> +	iio_map_array_unregister(iio_dev);
> +}
> +
>  static int rn5t618_adc_probe(struct platform_device *pdev)
>  {
>  	int ret;
> @@ -239,6 +254,14 @@ static int rn5t618_adc_probe(struct platform_device *pdev)
>  		return ret;
>  	}
>  
> +	ret = iio_map_array_register(iio_dev, rn5t618_maps);
> +	if (ret < 0)
> +		return ret;
> +
> +	ret = devm_add_action_or_reset(adc->dev, unregister_map, iio_dev);
> +	if (ret < 0)
> +		return ret;
> +
>  	return devm_iio_device_register(adc->dev, iio_dev);
>  }
>  

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ