Hello, these are very old unsupported chips, thus this is not something I can easily find. Even after doing some archaeology. But when looking at register maps, it should only be used with MPU-9150 and not MPU-9250. I would feel much more comfortable to restrict this fix to MPU-9150 only (by testing chip_type against INV_MPU9150). Thanks, JB From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Sent: Monday, September 25, 2023 13:07 To: Andreas Kemnade <andreas@xxxxxxxxxxxx> Cc: jic23@xxxxxxxxxx <jic23@xxxxxxxxxx>; lars@xxxxxxxxxx <lars@xxxxxxxxxx>; robh+dt@xxxxxxxxxx <robh+dt@xxxxxxxxxx>; krzysztof.kozlowski+dt@xxxxxxxxxx <krzysztof.kozlowski+dt@xxxxxxxxxx>; conor+dt@xxxxxxxxxx <conor+dt@xxxxxxxxxx>; bcousson@xxxxxxxxxxxx <bcousson@xxxxxxxxxxxx>; tony@xxxxxxxxxxx <tony@xxxxxxxxxxx>; Jean-Baptiste Maneyrol <Jean-Baptiste.Maneyrol@xxxxxxx>; chenhuiz@xxxxxxxx <chenhuiz@xxxxxxxx>; linux-iio@xxxxxxxxxxxxxxx <linux-iio@xxxxxxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx <devicetree@xxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>; linux-omap@xxxxxxxxxxxxxxx <linux-omap@xxxxxxxxxxxxxxx> Subject: Re: [PATCH 2/3] iio: imu: mpu6050: add level shifter flag On Mon, Sep 25, 2023 at 1: 26 AM Andreas Kemnade <andreas@ kemnade. info> wrote: > > Some boards fail in magnetometer probe if flag is not set. Which flag? Can you elaborate a bit more? Does it deserve the Fixes tag? .. . > unsigned ZjQcmQRYFpfptBannerStart This Message Is From an Untrusted Sender You have not previously corresponded with this sender. ZjQcmQRYFpfptBannerEnd On Mon, Sep 25, 2023 at 1:26 AM Andreas Kemnade <andreas@xxxxxxxxxxxx> wrote: > > Some boards fail in magnetometer probe if flag is not set. Which flag? Can you elaborate a bit more? Does it deserve the Fixes tag? ... > unsigned int val; > int ret; > + ret = regmap_update_bits(st->map, 0x1, 0x80, > + st->level_shifter ? 0x80 : 0); This is a bit cryptic, what does 1 stand for? Also unsigned int mask = BIT(7); ... val = st->level_shifter ? mask : 0; > + if (ret) > + return ret; ... > + st->level_shifter = device_property_present(dev, > + "invensense,level-shifter"); It was a recommendation to use _read_bool() when reading the value, while the result will be the same. -- With Best Regards, Andy Shevchenko