Re: [PATCH v3 2/2] iio: temperature: add support for MCP998X

From: Victor.Duicu
Date: Thu Jun 19 2025 - 03:23:04 EST


On Sat, 2025-06-14 at 00:50 +0300, Andy Shevchenko wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> On Fri, Jun 13, 2025 at 4:02 PM <victor.duicu@xxxxxxxxxxxxx> wrote:
> >
> > From: Victor Duicu <victor.duicu@xxxxxxxxxxxxx>
> >
> > This is the driver for Microchip MCP998X/33 and MCP998XD/33D
> > Multichannel Automotive Temperature Monitor Family.
>
> ...

Hi Andy,

>
> > +MICROCHIP MCP9982 TEMPERATURE DRIVER
> > +M:     Victor Duicu <victor.duicu@xxxxxxxxxxxxx>
> > +L:     linux-iio@xxxxxxxxxxxxxxx
> > +S:     Supported
> > +F:    
> > Documentation/devicetree/bindings/iio/temperature/microchip,mcp9982
> > .yaml
> > +F:     drivers/iio/temperature/mcp9982.c
>
> So, with the first patch only the dangling file will be present
> without record in MAINTAINERS. Please, make sure that your DT schema
> file is in MAINTAINERS.
>

Are you referring here to the file sysfs-bus-iio-temperature-mcp9982?
This file was in v2 where there were a few custom attributes. In v3
I removed them, so the driver currently doesn't have custom attributes.
Should I had added it to the files in MAINTAINERS?

Isn't the yaml file sufficient to describe the devicetree? Should I
also add a dts file?
...
>
>
> > +#define MCP9982_CHAN(index, si, __address)
> > ({                                          \
> > +       struct iio_chan_spec __chan =
> > {                                                 \
>
> Why not compound literal?
>
In v2 I used compound literal, but Jonathan suggested to add
the struct in the macro. After describing the reasoning, we
agreed to code it like this.

[1]:https://lore.kernel.org/linux-iio/20250607182813.64230171@jic23-huawei/

> > +               .type =
> > IIO_TEMP,                                                       \
> > +               .info_mask_separate =
> > BIT(IIO_CHAN_INFO_RAW),                           \
> > +               .info_mask_shared_by_all_available =
> > BIT(IIO_CHAN_INFO_SAMP_FREQ) |     \
> > +               BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY)
> > |                      \
> > +              
> > BIT(IIO_CHAN_INFO_OFFSET),                                         
> >      \
> > +               .info_mask_shared_by_all =
> > BIT(IIO_CHAN_INFO_SAMP_FREQ) |               \
> > +               BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY)
> > |                      \
> > +               BIT(IIO_CHAN_INFO_HYSTERESIS)
> > |                                         \
> > +              
> > BIT(IIO_CHAN_INFO_OFFSET),                                         
> >      \
> > +               .channel =
> > index,                                                       \
> > +               .address =
> > __address,                                                   \
> > +               .scan_index =
> > si,                                                       \
> > +               .scan_type =
> > {                                                          \
> > +                       .sign =
> > 'u',                                                    \
> > +                       .realbits =
> > 8,                                                  \
> > +                       .storagebits =
> > 8,                                               \
> > +              
> > },                                                                 
> >      \
> > +               .indexed =
> > 1,                                                           \
> > +      
> > };                                                                 
> >              \
> > +      
> > __chan;                                                            
> >              \
> > +})
>
>

With Best Regards,
Victor Duicu

> --
> With Best Regards,
> Andy Shevchenko