Re: [PATCH v4 2/2] iio: adc: ti-ads112c04: Add support for TI ADS112C04

David Lechner <[email protected]>
Newsgroups org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 8/11/26 10:38 PM, Kyle Hsieh wrote:
> On Tue, Aug 11, 2026 at 10:18 PM David Lechner <[email protected]> wrote:
>>
>> On 8/10/26 9:48 PM, Kyle Hsieh wrote:
>>> Add IIO driver support for the Texas Instruments ADS112C04 (16-bit)
>>> delta-sigma ADCs.
>>>

...

>>> +
>>> +     /* Power-On Reset (POR) delay */
>>> +     fsleep(50 * USEC_PER_MSEC);
>>> +
>>> +     /* Requesting OUT_HIGH asserts the active-low reset pin immediately */
>>> +     reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
>>> +     if (IS_ERR(reset_gpio))
>>> +             return PTR_ERR(reset_gpio);
>>> +
>>> +     if (reset_gpio) {
>>> +             fsleep(1000);
>>> +             gpiod_set_value_cansleep(reset_gpio, 0);
>>> +     } else {
>>> +             ret = ads112c04_write_cmd(client, ADS112C04_CMD_RESET);
>>> +             if (ret < 0)
>>> +                     return ret;
>>> +     }
>>> +
>>> +     fsleep(1000);
>>> +
>>> +     /* Bypass PGA for now to allow full-scale single-ended measurements */
>>> +     st->config0 = ADS112C04_CONFIG0_PGA_BYPASS;
>>> +     ret = ads112c04_write_reg(client, ADS112C04_REG_CONFIG0, st->config0);
>>> +     if (ret)
>>> +             return ret;
>>> +
>>> +     ret = ads112c04_write_reg(client, ADS112C04_REG_CONFIG1, st->config1);
>>> +     if (ret)
>>> +             return ret;
>>> +
>>> +     if (client->irq > 0) {
>>> +             ret = devm_request_irq(dev, client->irq,
>>> +                                    ads112c04_irq_handler,
>>> +                                    0,
>>
>> I think I've asked twice now to move this 0 on the previous line.
>> If you don't agree with that, it is fine, but we just ask that you
>> reply to the suggestion with an explanation to state your reasoning.
>> Otherwise, it comes across as carelessness that you continue to
>> ignore suggestions. This is not the only suggestoin that has been
>> silently ignored. You might want to go back to the previous revisions
>> and see if you missed anything else.
> Clarifications on my previous mail.
> 
> IRQ: I will use devm_request_threaded_irq() with a NULL primary handler and
> IRQF_ONESHOT. disable_irq_nosync() is gone and the handler only calls
> complete(). This also removes the bare `0` you asked about on v2 and v3,
> with the arguments packed rather than one per line:
> 
> ret = devm_request_threaded_irq(dev, client->irq, NULL,
> ads112c04_irq_handler,
> IRQF_ONESHOT, indio_dev->name,
> indio_dev);
> 
> I left out the DRDY status read for now, since conversions are
> single-shot under the mutex. Happy to add it if you prefer.
>>

Completing the completion is safe in a normal IRQ handler. So if
we aren't disabling the interrupt and we aren't reading the status
bit in the IRQ handler, then we don't need a threaded interrupt
yet.

>>> +                                    indio_dev->name, indio_dev);
>>> +             if (ret)
>>> +                     return ret;
>>> +     }
>>> +
>>> +     return devm_iio_device_register(dev, indio_dev);
>>> +}
>>> +
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.