On Wed, Dec 02, 2020 at 01:08:57PM +0100, Linus Walleij wrote: > On Wed, Dec 2, 2020 at 9:36 AM Stephan Gerhold <stephan@xxxxxxxxxxx> wrote: > > > The bmc150-accel-i2c.c driver has an "_accel" suffix for the > > compatibles of BMC150 and BMI055. This is necessary because BMC150 > > contains both accelerometer (bosch,bmc150_accel) and magnetometer > > (bosch,bmc150_magn) and therefore "bosch,bmc150" would be ambiguous. > > > > However, the binding documentation suggests using "bosch,bmc150". > > Add the "_accel" suffix for BMC150 and BMI055 so the binding docs > > match what is expected by the driver. > > > > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > > Fixes: 496a39526fce8 ("iio: accel: bmc150-accel: Add DT bindings") > > Signed-off-by: Stephan Gerhold <stephan@xxxxxxxxxxx> > > I see this pattern elsewhere so by tradition: > Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > > I suppose this is one of those situations where the two parts of the > component are on the same physical I2C bus, and phsycially inside > the same package, but accessed at two different I2C addresses? > Yep, it looks like this (from arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi): &blsp_i2c2 { status = "okay"; accelerometer@10 { compatible = "bosch,bmc150_accel"; reg = <0x10>; interrupt-parent = <&msmgpio>; interrupts = <115 IRQ_TYPE_EDGE_RISING>; }; magnetometer@12 { compatible = "bosch,bmc150_magn"; reg = <0x12>; }; }; They look pretty much like separate components in the device tree. > These components are kind of ambiguous by nature. Technically > both devices could have the same compatible (by the label on the > package) but then we would need some other property on the node > to say which compatible is for which part of the component, > so tagging on "_function" like bmc150_accel and bmc150_magn > is one way to solve this, and I don't know anything better. > The _accel and _magn compatibles are also actively used already, so unless there is a significantly better option I think it's better to keep existing uses working. Thanks! Stephan