On Sun, Mar 20, 2022 at 03:15:25PM +0000, Jonathan Cameron wrote: > On Fri, 11 Mar 2022 17:15:59 +0100 > michael.srba@xxxxxxxxx wrote: > > > From: Michael Srba <Michael.Srba@xxxxxxxxx> > > > > ICM-20608-D differs from the other ICM-20608 variants by having > > a DMP (Digital Motion Processor) core tacked on. > > Despite having a different WHOAMI register, this variant is > > completely interchangeable with the other ICM-20608 variants > > by simply pretending the DMP core doesn't exist. > > > > Signed-off-by: Michael Srba <Michael.Srba@xxxxxxxxx> > > --- > > changelog: > > - v2: require specifying "invensense,icm20608" as a fallback compatible > > Apologies that I joined the thread for v1 late, but no. That doesn't work. > If the older driver before the new ID is present with this binding > it won't probe because of the WHOAMI value difference so it's not > compatible. > > I'm fine with the v1 version. If the driver didn't check WHOAMI then it would be compatible. So does driver implementation determine what's compatible or not? It shouldn't as those are supposed to be decoupled. Generally, if there are h/w id registers, then we'll rely on them and don't need a compatible for every variant. Rob