Re: [PATCH v2 2/2] iio: magnetometer: add ti tmag5273 driver
From: Andy Shevchenko
Date: Mon Nov 21 2022 - 13:41:03 EST
On Mon, Nov 21, 2022 at 06:24:18PM +0100, Gerald Loacker wrote:
> Am 21.11.2022 um 15:04 schrieb Andy Shevchenko:
> > On Mon, Nov 21, 2022 at 01:35:42PM +0100, Gerald Loacker wrote:
...
> >> + if (!device_property_read_string(data->dev, "ti,angle-measurement",
> >> + &angle_measurement)) {
> >> + if (!strcmp(angle_measurement, "off"))
> >> + data->angle_measurement = TMAG5273_ANGLE_EN_OFF;
> >> + else if (!strcmp(angle_measurement, "x-y"))
> >> + data->angle_measurement = TMAG5273_ANGLE_EN_X_Y;
> >> + else if (!strcmp(angle_measurement, "y-z"))
> >> + data->angle_measurement = TMAG5273_ANGLE_EN_Y_Z;
> >> + else if (!strcmp(angle_measurement, "x-z"))
> >> + data->angle_measurement = TMAG5273_ANGLE_EN_X_Z;
> >> + else
> >> + dev_warn(data->dev,
> >> + "failed to read angle-measurement\n");
> >
> > Can't you use match_string()?
> >
>
> Yes, I will use match_string().
>
> > And you actually can do a bit differently, can you?
> >
> > angle_measurement = "...default...";
> > if (device_property_...)
> > dev_warn(data->dev, "failed to read angle-measurement\n");
>
> I think we shouldn't warn here, as angle_measurement isn't a required
> property. Besides that I will do it this way.
>
> > ret = match_string();
> > if (ret < 0)
> > dev_warn(data->dev, "invalid angle-measurement value\n");
> > else
> > data->angle_measurement = ret;
> >
> >> + }
After looking into DT patch I think you can even use
device_property_match_string(),
...
> >> + snprintf(data->name, sizeof(data->name), "tmag5273x%1u",
> >
> > There is a difference between %1u and %.1u. And I believe you wanted the
> > latter, but...
>
> %1u works fine for me. Can you point me to the documentation for %.1u?
man printf(3)
It was a surprise to me that many developers don't know the difference here.
The %NNNNu defines the _minimum_ digits to print, while the %.NNNu defines
the _exact_ amount of digits to print (NNN -- a number).
> >> + data->version);
--
With Best Regards,
Andy Shevchenko