Re: [PATCH] i2c: i801: Register optional lis3lv02d i2c device on Dell machines

From: Wolfram Sang
Date: Wed Dec 28 2016 - 09:03:22 EST

On Tue, Dec 27, 2016 at 02:51:01PM +0100, Pali RohÃr wrote:
On Tuesday 27 December 2016 14:43:49 Wolfram Sang wrote:
> > Dell platform team told us that some (DMI whitelisted) Dell
> > Latitude machines have ST microelectronics accelerometer at i2c
> > address 0x29. That
> > i2c address is not specified in DMI or ACPI, so runtime detection
> > without
> > whitelist which is below is not possible.
> I'd think this should rather live somewhere in
> drivers/platform/x86/dell*.c?

i2c_new_device() with lis3lv02d for i801 i2c bus needs to be called
after initializing i2c-i801 bus driver.

I have no idea how to do it (properly) outside of i2c-i801.c file.

I once used bus_notifiers to achieve something similar. You could check
arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c to see an action
triggered once a client device got added, but you could act on another
action like BUS_NOTIFY_BOUND_DRIVER. I used exactly that, too, somewhen
somewhere. Haven't checked if that helps here, too. And since we have a
precedence (Fujitsu case), I'll leave it to Jean who is the maintainer
of this driver.