[PATCH v4 0/3] Add LTC2495 support

Yusuf Alper Bilgin posted 3 patches 1 month, 2 weeks ago
.../devicetree/bindings/iio/adc/lltc,ltc2497.yaml  |   3 +
drivers/iio/adc/ltc2497-core.c                     | 132 ++++++++++++++-------
drivers/iio/adc/ltc2497.c                          |  39 +++++-
drivers/iio/adc/ltc2497.h                          |  19 ++-
4 files changed, 147 insertions(+), 46 deletions(-)
[PATCH v4 0/3] Add LTC2495 support
Posted by Yusuf Alper Bilgin 1 month, 2 weeks ago
Hi All,

This is the v4 of the patch series to add support for the LTC2495 ADC
and to enable the internal temperature channel for the LTC2495 and
LTC2499.

Thanks to Andy Shevchenko for his helpful reviews on earlier versions,
and to David Lechner and Krzysztof Kozlowski for their feedbacks on
v3. This version addresses all feedback from v3.

Best Regards,

Alper

Signed-off-by: Yusuf Alper Bilgin <y.alperbilgin@gmail.com>
---
Changes in v4:
  - Removed the verbose formula derivation comment from `read_raw`.
  - Reworked the temperature channel definition to omit the redundant
    `.address` and `.channel` fields.
  - Moved I2C-specific bit definitions from the shared header into
    `ltc2497.c` and removed the pre-combined command macro.
  - Simplified I2C logic to check the channel type instead of a
    non-standard address.
  - Combined the basic device support (#2) and temperature sensor feature (#3)
    patches into a single patch (#2).
  - Link to v3: https://lore.kernel.org/r/20250814-ltc2495-v3-0-c2a6cecd6b99@gmail.com

Changes in v3:
  - Used the standard `kelvin_to_celsius()` helper instead of a custom
    define.
  - Corrected macro definition style.
  - Renamed `LTC2497_CHANNELS` and `LTC_T_CHAN` for clarity.
  - Combined all struct layout optimizations into a single patch.
  - Link to v2: https://lore.kernel.org/r/20250813-ltc2495-v2-0-bbaf20f6ba07@gmail.com

Changes in v2:
  - Rewrote all commit messages to use the imperative mood.
  - Added a justification for the new compatible string to the device
    tree binding commit message.
  - Removed all unrelated whitespace and formatting changes.
  - Removed redundant explicit `false` initializers from structs.
  - Replaced the magic number for Kelvin conversion with a define.
  - Improved comments for defines and temperature scaling constants.
  - Renamed confusing macros and struct fields to be more descriptive.
  - Replaced dynamic channel allocation with a static array approach
    using a shared macro to improve readability.
  - Optimized data structure layouts based on pahole output to remove
    memory holes.
  - Link to v1: https://lore.kernel.org/r/20250812-ltc2495-v1-0-7bf4c6feec2e@gmail.com
---
Implementation Notes
 - checkpatch warning: The new static array approach uses a shared macro
   for the common channels (`LTC2497_CHANNELS`), which triggers a
   checkpatch.pl warning: "Macros with complex values should be enclosed
   in parentheses". However, this will cause a compilitaion error, as an
   initializer list cannot be parenthesized.
 - uV to mV conversion: I could not find a standard macro, so a manual
   division is used for now. This could be a point of future
   improvement.

---
Yusuf Alper Bilgin (3):
      dt-bindings: iio: adc: ltc2497: add lltc,ltc2495 bindings
      iio: adc: ltc2497: add support for LTC2495
      iio: adc: ltc2497: reorder struct members to fix memory holes

 .../devicetree/bindings/iio/adc/lltc,ltc2497.yaml  |   3 +
 drivers/iio/adc/ltc2497-core.c                     | 132 ++++++++++++++-------
 drivers/iio/adc/ltc2497.c                          |  39 +++++-
 drivers/iio/adc/ltc2497.h                          |  19 ++-
 4 files changed, 147 insertions(+), 46 deletions(-)
---
base-commit: acbbb5a20971089064ca6b271dd251e629be8d4d
change-id: 20250811-ltc2495-572817c13fd3

Best regards,
-- 
Yusuf Alper Bilgin <y.alperbilgin@gmail.com>
Re: [PATCH v4 0/3] Add LTC2495 support
Posted by Jonathan Cameron 1 month, 2 weeks ago
On Fri, 15 Aug 2025 12:02:01 +0200
Yusuf Alper Bilgin <y.alperbilgin@gmail.com> wrote:

> Hi All,
> 
> This is the v4 of the patch series to add support for the LTC2495 ADC
> and to enable the internal temperature channel for the LTC2495 and
> LTC2499.
> 
> Thanks to Andy Shevchenko for his helpful reviews on earlier versions,
> and to David Lechner and Krzysztof Kozlowski for their feedbacks on
> v3. This version addresses all feedback from v3.
> 
> Best Regards,
> 
> Alper

Hi Alper,

A small process thing.  Wait a little longer between versions
as it tends to save time for both the submitter and reviewers.

At least a few days is appropriate typically and for first versions
I'd generally advise a week. Many reviewers only get to the list
once a week or so (some less than that!)

Thanks,

Jonathan

> 
> Signed-off-by: Yusuf Alper Bilgin <y.alperbilgin@gmail.com>
> ---
> Changes in v4:
>   - Removed the verbose formula derivation comment from `read_raw`.
>   - Reworked the temperature channel definition to omit the redundant
>     `.address` and `.channel` fields.
>   - Moved I2C-specific bit definitions from the shared header into
>     `ltc2497.c` and removed the pre-combined command macro.
>   - Simplified I2C logic to check the channel type instead of a
>     non-standard address.
>   - Combined the basic device support (#2) and temperature sensor feature (#3)
>     patches into a single patch (#2).
>   - Link to v3: https://lore.kernel.org/r/20250814-ltc2495-v3-0-c2a6cecd6b99@gmail.com
> 
> Changes in v3:
>   - Used the standard `kelvin_to_celsius()` helper instead of a custom
>     define.
>   - Corrected macro definition style.
>   - Renamed `LTC2497_CHANNELS` and `LTC_T_CHAN` for clarity.
>   - Combined all struct layout optimizations into a single patch.
>   - Link to v2: https://lore.kernel.org/r/20250813-ltc2495-v2-0-bbaf20f6ba07@gmail.com
> 
> Changes in v2:
>   - Rewrote all commit messages to use the imperative mood.
>   - Added a justification for the new compatible string to the device
>     tree binding commit message.
>   - Removed all unrelated whitespace and formatting changes.
>   - Removed redundant explicit `false` initializers from structs.
>   - Replaced the magic number for Kelvin conversion with a define.
>   - Improved comments for defines and temperature scaling constants.
>   - Renamed confusing macros and struct fields to be more descriptive.
>   - Replaced dynamic channel allocation with a static array approach
>     using a shared macro to improve readability.
>   - Optimized data structure layouts based on pahole output to remove
>     memory holes.
>   - Link to v1: https://lore.kernel.org/r/20250812-ltc2495-v1-0-7bf4c6feec2e@gmail.com
> ---
> Implementation Notes
>  - checkpatch warning: The new static array approach uses a shared macro
>    for the common channels (`LTC2497_CHANNELS`), which triggers a
>    checkpatch.pl warning: "Macros with complex values should be enclosed
>    in parentheses". However, this will cause a compilitaion error, as an
>    initializer list cannot be parenthesized.
>  - uV to mV conversion: I could not find a standard macro, so a manual
>    division is used for now. This could be a point of future
>    improvement.
> 
> ---
> Yusuf Alper Bilgin (3):
>       dt-bindings: iio: adc: ltc2497: add lltc,ltc2495 bindings
>       iio: adc: ltc2497: add support for LTC2495
>       iio: adc: ltc2497: reorder struct members to fix memory holes
> 
>  .../devicetree/bindings/iio/adc/lltc,ltc2497.yaml  |   3 +
>  drivers/iio/adc/ltc2497-core.c                     | 132 ++++++++++++++-------
>  drivers/iio/adc/ltc2497.c                          |  39 +++++-
>  drivers/iio/adc/ltc2497.h                          |  19 ++-
>  4 files changed, 147 insertions(+), 46 deletions(-)
> ---
> base-commit: acbbb5a20971089064ca6b271dd251e629be8d4d
> change-id: 20250811-ltc2495-572817c13fd3
> 
> Best regards,
Re: [PATCH v4 0/3] Add LTC2495 support
Posted by Alper Bilgin 1 month, 2 weeks ago
Hi Jonathan,

Thank you for this guidance on the review process, that makes perfect
sense. I will wait longer for feedback on future versions and
contributions.

Best regards,

Alper

On Sat, Aug 16, 2025 at 12:19 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> On Fri, 15 Aug 2025 12:02:01 +0200
> Yusuf Alper Bilgin <y.alperbilgin@gmail.com> wrote:
>
> > Hi All,
> >
> > This is the v4 of the patch series to add support for the LTC2495 ADC
> > and to enable the internal temperature channel for the LTC2495 and
> > LTC2499.
> >
> > Thanks to Andy Shevchenko for his helpful reviews on earlier versions,
> > and to David Lechner and Krzysztof Kozlowski for their feedbacks on
> > v3. This version addresses all feedback from v3.
> >
> > Best Regards,
> >
> > Alper
>
> Hi Alper,
>
> A small process thing.  Wait a little longer between versions
> as it tends to save time for both the submitter and reviewers.
>
> At least a few days is appropriate typically and for first versions
> I'd generally advise a week. Many reviewers only get to the list
> once a week or so (some less than that!)
>
> Thanks,
>
> Jonathan
>
> >
> > Signed-off-by: Yusuf Alper Bilgin <y.alperbilgin@gmail.com>
> > ---
> > Changes in v4:
> >   - Removed the verbose formula derivation comment from `read_raw`.
> >   - Reworked the temperature channel definition to omit the redundant
> >     `.address` and `.channel` fields.
> >   - Moved I2C-specific bit definitions from the shared header into
> >     `ltc2497.c` and removed the pre-combined command macro.
> >   - Simplified I2C logic to check the channel type instead of a
> >     non-standard address.
> >   - Combined the basic device support (#2) and temperature sensor feature (#3)
> >     patches into a single patch (#2).
> >   - Link to v3: https://lore.kernel.org/r/20250814-ltc2495-v3-0-c2a6cecd6b99@gmail.com
> >
> > Changes in v3:
> >   - Used the standard `kelvin_to_celsius()` helper instead of a custom
> >     define.
> >   - Corrected macro definition style.
> >   - Renamed `LTC2497_CHANNELS` and `LTC_T_CHAN` for clarity.
> >   - Combined all struct layout optimizations into a single patch.
> >   - Link to v2: https://lore.kernel.org/r/20250813-ltc2495-v2-0-bbaf20f6ba07@gmail.com
> >
> > Changes in v2:
> >   - Rewrote all commit messages to use the imperative mood.
> >   - Added a justification for the new compatible string to the device
> >     tree binding commit message.
> >   - Removed all unrelated whitespace and formatting changes.
> >   - Removed redundant explicit `false` initializers from structs.
> >   - Replaced the magic number for Kelvin conversion with a define.
> >   - Improved comments for defines and temperature scaling constants.
> >   - Renamed confusing macros and struct fields to be more descriptive.
> >   - Replaced dynamic channel allocation with a static array approach
> >     using a shared macro to improve readability.
> >   - Optimized data structure layouts based on pahole output to remove
> >     memory holes.
> >   - Link to v1: https://lore.kernel.org/r/20250812-ltc2495-v1-0-7bf4c6feec2e@gmail.com
> > ---
> > Implementation Notes
> >  - checkpatch warning: The new static array approach uses a shared macro
> >    for the common channels (`LTC2497_CHANNELS`), which triggers a
> >    checkpatch.pl warning: "Macros with complex values should be enclosed
> >    in parentheses". However, this will cause a compilitaion error, as an
> >    initializer list cannot be parenthesized.
> >  - uV to mV conversion: I could not find a standard macro, so a manual
> >    division is used for now. This could be a point of future
> >    improvement.
> >
> > ---
> > Yusuf Alper Bilgin (3):
> >       dt-bindings: iio: adc: ltc2497: add lltc,ltc2495 bindings
> >       iio: adc: ltc2497: add support for LTC2495
> >       iio: adc: ltc2497: reorder struct members to fix memory holes
> >
> >  .../devicetree/bindings/iio/adc/lltc,ltc2497.yaml  |   3 +
> >  drivers/iio/adc/ltc2497-core.c                     | 132 ++++++++++++++-------
> >  drivers/iio/adc/ltc2497.c                          |  39 +++++-
> >  drivers/iio/adc/ltc2497.h                          |  19 ++-
> >  4 files changed, 147 insertions(+), 46 deletions(-)
> > ---
> > base-commit: acbbb5a20971089064ca6b271dd251e629be8d4d
> > change-id: 20250811-ltc2495-572817c13fd3
> >
> > Best regards,
>