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

Pali Rohár
2019-05-28T09:54:08Z

On Tuesday 28 May 2019 11:50:15 Jean Delvare wrote:
> On Tue, 2019-05-28 at 11:41 +0200, Pali Rohár wrote:
> > This is not a problem. lis3lv02d provides two things:
> >
> > 1) 3 axes accelerometer
> > 2) optional interrupt and signal it to userspace via misc device
> >
> > dell-smo8800 does not call any parts of lis2lv02d module. It just
> > provides for userspace same misc device API as lis3lv02d.
> >
> > As lis3lv02d has misc device optional, registered i2c device from
> > i2c-i801 does not enable it.
> >
> > So technically it is one device, but their functionality divided into
> > two modules. One which reports accelerometer axes and one which signals
> > disk fall interrupt. These two modules and functionalities does not have
> > to interact, so it is safe to have them separated.
>
> OK, thanks for the explanation. But assuming that we now instantiate
> the lis2lv02d device from i2c-i801 for exactly all the same machines,
> can't we just *enable* the freefall misc device feature of lis2lv02d
> and kill the dell-smo8800 driver completely? Seems more simple to
> maintain going forward.

I though about it and I already wrote that is it not practical. For ACPI
drivers there is easy way to get that interrupt number from ACPI tables.
From i2c-i801 PCI driver it is hard to get interrupt number for
particular ACPI device...

That is way I preferred simple solution: ACPI driver for ACPI device and
i2c driver for i2c device.

--
Pali Rohár
pali.rohar@gmail.com