From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <1509933795.27882.0.camel@linux.intel.com> Subject: Re: [PATCH v1] iio: magnetometer: ak8975: Remove wrong ACPI ID From: Srinivas Pandruvada To: Andy Shevchenko , Jonathan Cameron , linux-iio@vger.kernel.org, Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler Date: Sun, 05 Nov 2017 18:03:15 -0800 In-Reply-To: <1509885742.10233.229.camel@linux.intel.com> References: <20171103175640.33403-1-andriy.shevchenko@linux.intel.com> <1509732504.10233.205.camel@linux.intel.com> <1509732895.10233.209.camel@linux.intel.com> <1509734767.7135.67.camel@linux.intel.com> <1509885742.10233.229.camel@linux.intel.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 List-ID: On Sun, 2017-11-05 at 14:42 +0200, Andy Shevchenko wrote: > On Fri, 2017-11-03 at 11:46 -0700, Srinivas Pandruvada wrote: > > On Fri, 2017-11-03 at 20:14 +0200, Andy Shevchenko wrote: > > > On Fri, 2017-11-03 at 20:08 +0200, Andy Shevchenko wrote: > > > > On Fri, 2017-11-03 at 19:56 +0200, Andy Shevchenko wrote: > > > > > The ID is added to proper sensor by the commit 6ed5ac50a3e0 > > > > > ("iio: imu: inv_mpu6050: ACPI enumeration"). > > > > > > > > > > Remove it from wrong place, otherwise user will get: > > > > > > > > > >  ak8975 i2c-INVN6500:00: mounting matrix not found: using > > > > > identity... > > > > >  ak8975 i2c-INVN6500:00: Unexpected device > > > > > > > > > > > > > After applying I have got > > > > > > > >  inv-mpu6050-i2c i2c-INVN6500:00: mounting matrix not found: > > > > using > > > > identity... > > > > > > > > ... > > > > > > > >  i2c i2c-4: Added multiplexed i2c bus 14 > > > >  ak8975 14-000c: mounting matrix not found: using identity... > > > > > > > > > > > > Nevertheless, I didn't try before with both drivers enabled. It > > > > might > > > > be > > > > that my fix is not needed. > > > > > > > > Shrinivas, can you comment on this? > > > > > > DSDT looks promising: > > > > > > Device (SENS) { > > >     Name (_HID, "INVN6500" /* InvenSense MPU-6500 Six Axis > > > Gyroscope > > > and > > > Accelerometer */) > > > ... > > > > > >     Name (CNF0, Package (0x04) {         > > >         Package (0x04) { "MPU6500", ... },    > > >         Package (0x04) { "MPU6500", ... }, > > >         Package (0x04) { "AK8963", ... }, > > > > > > Thus it is properly enumerated IIUC. > > > > > > I think the patch at the end is correct. > > > > The AK8963 is using INVN6500. The reason is that this INVN 6500 has > > another master mode where a secondary sensor can be connected to it > > as > > an i2c slave. > > So Windows config uses this mode and hence added in the same > > package. > > > > But Linux INVN driver is not capable of this master mode. We use > > something called "bypass" mode. In this the second sensor will also > > be > > directly connected to host i2c. We have another driver handling > > this > > sensor (ak8975), so we have to add this id. > > But ak8975 is enumerated. See above log. So, I think the INVN6500 ID > in > ak 8975 driver is simple not required. This is not true in all platforms. So this is required. Thanks, Srinivas >