Re: [PATCH v4 2/4] iio: vcnl4000: Add event support for VCNL4010/20.
From: Andy Shevchenko
Date: Tue Apr 21 2020 - 07:24:40 EST
On Tue, Apr 21, 2020 at 10:57 AM Mathieu Othacehe <m.othacehe@xxxxxxxxx> wrote:
>
> The VCNL4010 and VCNL4020 chips are able to raise interrupts on proximity
> threshold events. Add support for threshold rising and falling events for
> those two chips.
Some nitpicks below (up to you and maintainer to address)
...
> +static bool vcnl4010_in_periodic_mode(struct vcnl4000_data *data)
Since it's boolean I would name it ..._is_in_prediodic_mode().
> {
> + int ret;
>
> + ret = i2c_smbus_read_byte_data(data->client, VCNL4000_COMMAND);
> + if (ret < 0)
> + return false;
>
> + return (ret & VCNL4000_SELF_TIMED_EN) > 0;
This > 0 for bitmasked values looks slightly strange. And actually if
a sign bit is included, potentially wrong.
I would rather go without any comparison, or do !!(foo & BAR).
> +}
...
> +static bool vcnl4010_thr_enabled(struct vcnl4000_data *data)
_is_thr_enabled() ?
> +{
> + int ret;
> +
> + ret = i2c_smbus_read_byte_data(data->client, VCNL4010_INT_CTRL);
> + if (ret < 0)
> + return false;
> +
> + return (ret & VCNL4010_INT_THR_EN) > 0;
Ditto.
> +}
...
> + ret = devm_request_threaded_irq(&client->dev, client->irq,
> + NULL, vcnl4010_irq_thread,
> + IRQF_TRIGGER_FALLING |
> + IRQF_ONESHOT,
Isn't it by default when threaded IRQ is asked with NULL for hw handler?
> + "vcnl4010_irq",
> + indio_dev);
--
With Best Regards,
Andy Shevchenko