Re: [PATCH v4 1/3] iio: proximity: Add sx9360 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 17 Dec 2021 16:27:03 -0800
Gwendal Grignou <gwendal@xxxxxxxxxxxx> wrote:

> A simplified version of SX9324, it only have one pin and
> 2 phases (aka channels).
> Only one event is presented.
> 
> Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
> Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
> Changes since v3:
> - Remove "reference" as a new modifier: it is not needed, indexed
>   channels and labels are used instead.
> - Use dev_get_drvdata to access iio device structure.
> - Use already calculated local variable
> - Use default: clause to return when possible.
> 
> Changes since v2:
> - Fix issues reported during sx9324 driver review:
>   - fix include with iwyu
>   - Remove call to ACPI_PTR to prevent unused variable warning.
> - Fix panic when setting frequency to 0.
> - Add offset to decipher interrupt register
> - Fix default register value.
> 
> Changes since v1:
> - Remove SX9360_DRIVER_NAME
> - Simplify whoami function
> - Define WHOAMI register value internally.
> - Handle negative values when setting sysfs parameters.
> 
>  drivers/iio/proximity/Kconfig  |  14 +
>  drivers/iio/proximity/Makefile |   1 +
>  drivers/iio/proximity/sx9360.c | 816 +++++++++++++++++++++++++++++++++
>  3 files changed, 831 insertions(+)
>  create mode 100644 drivers/iio/proximity/sx9360.c
> 
Hi Gwendal,

A few trivial things that I'd just have tidied up whilst applying except
that this is dependent on the earlier series anyway so I can't apply yet.

> +
> +/*
> + * Each entry contains the integer part (val) and the fractional part, in micro
> + * seconds. It conforms to the IIO output IIO_VAL_INT_PLUS_MICRO.
> + *
> + * The frequency control register holds the period, with a ~2ms increment.
> + * Therefore the smallest frequency is 4MHz / (2047 * 8192),
> + * The fastest is 4MHz / 8192.
> + * The interval is not linear, but given there is 2047 possible value,
> + * Returns the fake increment of (Max-Min)/2047
> + *

Trivial, but this blank line doesn't add anything so please remove.

> + */
> +static const struct {
> +	int val;
> +	int val2;
> +} sx9360_samp_freq_interval[] = {
> +	{0, 281250},  /* 4MHz / (8192 * 2047) */
> +	{0, 281250},
> +	{448, 281250},  /* 4MHz / 8192 */
> +};
> +
...


> +static int sx9360_read_label(struct iio_dev *iio_dev, const struct iio_chan_spec *chan,
> +			     char *label)
> +{
> +	return snprintf(label, PAGE_SIZE, "%s\n", sx9360_channel_labels[chan->channel]);

Trivial but preference for sysfs_emit()
(Andy noted this for the other driver in a more complex case so I did a quick
search for repeats)

> +}
> +


...

> +
> +static const struct dev_pm_ops sx9360_pm_ops = {
> +	SET_SYSTEM_SLEEP_PM_OPS(sx9360_suspend, sx9360_resume)
> +};

static SIMPLE_DEV_PM_OPS(sx9360_pm_ops, sx9360_suspend, sx9360_resume);





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux