Re: [PATCH] dt-bindings: iio: accel: bma255: Fix bmc150/bmi055 compatible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux