Re: [PATCH v2 2/2] iio: magnetometer: add ti tmag5273 driver

From: Gerald Loacker
Date: Wed Nov 23 2022 - 05:10:32 EST




Am 21.11.2022 um 15:04 schrieb Andy Shevchenko:
> On Mon, Nov 21, 2022 at 01:35:42PM +0100, Gerald Loacker wrote:
>> Add support for TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor.
>> Additionally to temperature and magnetic X, Y and Z-axes the angle and
>> magnitude are reported.
>> The sensor is operating in continuous measurement mode and changes to sleep
>> mode if not used for 5 seconds.
>
> Thank you for an update! My comments below.
> (I believe the next version will be ready for inclusion)
>
> ...
>
>> +static const struct {
>> + unsigned int scale_int;
>> + unsigned int scale_micro;
>
> Can we have a separate patch to define this one eventually in the (one of) IIO
> generic headers? It's a bit pity that every new driver seems to reinvent the
> wheel.
>
>> +} tmag5273_scale_table[4][2] = {
>> + { { 0, 0 }, { 0, 0 } },
>> + { { 0, 12200 }, { 0, 24400 } },
>> + { { 0, 40600 }, { 0, 81200 } },
>> + { { 0, 0 }, { 0, 0 } },
>> +};
>

I'm thinking of defining structs for all similar types of IIO output
formats in iio.h like this:


struct iio_val_int_plus_micro {
int val_int;
int val_micro;
};

struct iio_val_int_plus_nano {
int val_int;
int val_nano;
};

struct iio_val_int_plus_micro_db {
int val_int;
int val_micro_db;
};

struct iio_val_fractional {
int dividend;
int divisor;
};

struct iio_val_fractional_log2 {
int dividend;
int divisor;
};


Do you agree?

Regards,
Gerald