From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933326AbcDYS2i (ORCPT ); Mon, 25 Apr 2016 14:28:38 -0400 Received: from mail-bl2on0078.outbound.protection.outlook.com ([65.55.169.78]:24535 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754810AbcDYS2h convert rfc822-to-8bit (ORCPT ); Mon, 25 Apr 2016 14:28:37 -0400 From: Ge Gao To: Jonathan Cameron , Crestez Dan Leonard , "linux-iio@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , "Hartmut Knaack" , Lars-Peter Clausen , "Peter Meerwald-Stadler" , Daniel Baluta Subject: RE: [PATCH 5/5] iio: inv_mpu6050: Add explicit support for MPU9150 Thread-Topic: [PATCH 5/5] iio: inv_mpu6050: Add explicit support for MPU9150 Thread-Index: AQHRnhq8kX0gzapkNkuwmbkq1YCNWJ+a+xFg Date: Mon, 25 Apr 2016 17:56:07 +0000 Message-ID: References: <76645673-6d2c-3d51-a689-1c9310cbc765@kernel.org> In-Reply-To: <76645673-6d2c-3d51-a689-1c9310cbc765@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=invensense.com; x-originating-ip: [12.199.206.98] x-ms-office365-filtering-correlation-id: 78185a76-e62c-457a-3e6a-08d36d32e092 x-microsoft-exchange-diagnostics: 1;DM3PR1201MB1070;5:qC7gjWioZ9UOLp+HRU53uORBjG72xMcLH7RasMfXUEQCEn9psWlqp/lMjVySiWiCswmWjJCkXzh8jXuaKKjfU+b2oMsbKCPpqlPrsQirNsr3ye5/teGvdJX2jeupZLmM6fTX6zoXt9JD1F4kVwV3fg==;24:0Z+fMtS2Idp6Ceb4Ln/vudPf+HbgLX18uE2iVqN5yiPY2lUdHV1PQoCbk/fQly4yJt4fV8KQyOiH0OuD1zwmbqNiUF0MfB4B/o3GaYiFpHM=;7:TMyuCiQYU3/FFutLaQjybyCEYC+72p9bPe4O/9FvBtk9uDIgaaOXHdx2RcJgzq12T0acL19UTr2zSKI+jpjfJZyAQBUqxKDeFGNcbDDL9cVIdIe3DQ2jeoSBBv5kMLzoS0Om42sh70oqEeP9jwEzuf40PA5B2/3dVoiGVYXjMEZBDwmzjy4rLmslezMfWDkV x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR1201MB1070; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(9101521069)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:DM3PR1201MB1070;BCL:0;PCL:0;RULEID:;SRVR:DM3PR1201MB1070; x-forefront-prvs: 0923977CCA x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(24454002)(13464003)(377454003)(2906002)(76576001)(77096005)(92566002)(81166005)(9686002)(4326007)(5008740100001)(80792005)(87936001)(33656002)(122556002)(50986999)(54356999)(76176999)(5001770100001)(5003600100002)(19580395003)(106116001)(66066001)(74316001)(10400500002)(86362001)(575784001)(1220700001)(3280700002)(3660700001)(2501003)(189998001)(2950100001)(5004730100002)(5002640100001)(102836003)(19580405001)(6116002)(2900100001)(586003)(1096002)(3846002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:DM3PR1201MB1070;H:DM3PR1201MB1072.namprd12.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: invensense.com X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2016 17:56:07.1907 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 462b3b3b-e42b-47ea-801a-f1581aac892d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR1201MB1070 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This looks good to me. Acked-by: Ge Gao -----Original Message----- From: Jonathan Cameron [mailto:jic23@kernel.org] Sent: Sunday, April 24, 2016 4:16 AM To: Crestez Dan Leonard; linux-iio@vger.kernel.org Cc: linux-kernel@vger.kernel.org; Hartmut Knaack; Lars-Peter Clausen; Peter Meerwald-Stadler; Daniel Baluta; Ge Gao Subject: Re: [PATCH 5/5] iio: inv_mpu6050: Add explicit support for MPU9150 On 20/04/16 14:15, Crestez Dan Leonard wrote: > This device is a package containing a MPU6050-like sensor and an > AK8975 magnetometer. The magnetometer component is supported by the > existing > ak8975 driver. > > This patch also rephrases the Kconfig descriptions. > > Signed-off-by: Crestez Dan Leonard Looks good. Will just wait for Ge to hopefully have time to take a look at the whole series. For future reference, it's always worth making sure you have cc'd the original author of a driver unless you know someone else is definitely maintaining it. Ge was reply to emails recently so I guess he is still very much active! Jonathan > --- > drivers/iio/imu/inv_mpu6050/Kconfig | 10 ++++------ > drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 6 ++++++ > drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 1 + > drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 2 ++ > drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c | 1 + > 5 files changed, 14 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/imu/inv_mpu6050/Kconfig > b/drivers/iio/imu/inv_mpu6050/Kconfig > index a7f557a..c05d474 100644 > --- a/drivers/iio/imu/inv_mpu6050/Kconfig > +++ b/drivers/iio/imu/inv_mpu6050/Kconfig > @@ -14,10 +14,8 @@ config INV_MPU6050_I2C > select I2C_MUX > select REGMAP_I2C > help > - This driver supports the Invensense MPU6050 devices. > - This driver can also support MPU6500 in MPU6050 compatibility mode > - and also in MPU6500 mode with some limitations. > - It is a gyroscope/accelerometer combo device. > + This driver supports the Invensense MPU6050/6500/9150 motion tracking > + devices over I2C. > This driver can be built as a module. The module will be called > inv-mpu6050-i2c. > > @@ -27,7 +25,7 @@ config INV_MPU6050_SPI > select INV_MPU6050_IIO > select REGMAP_SPI > help > - This driver supports the Invensense MPU6050 devices. > - It is a gyroscope/accelerometer combo device. > + This driver supports the Invensense MPU6000/6500/9150 motion tracking > + devices over SPI. > This driver can be built as a module. The module will be called > inv-mpu6050-spi. > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > index 273b7fa7..3a82a49 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > @@ -108,6 +108,12 @@ static const struct inv_mpu6050_hw hw_info[] = { > .reg = ®_set_6050, > .config = &chip_config_6050, > }, > + { > + .whoami = INV_MPU9150_WHOAMI_VALUE, > + .name = "MPU9150", > + .reg = ®_set_6050, > + .config = &chip_config_6050, > + }, > }; > > int inv_mpu6050_switch_engine(struct inv_mpu6050_state *st, bool en, > u32 mask) diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > index bb1a7b1..1a424a6 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > @@ -202,6 +202,7 @@ static int inv_mpu_remove(struct i2c_client > *client) static const struct i2c_device_id inv_mpu_id[] = { > {"mpu6050", INV_MPU6050}, > {"mpu6500", INV_MPU6500}, > + {"mpu9150", INV_MPU9150}, > {} > }; > > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > index 564cabd..38d6a09 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > @@ -68,6 +68,7 @@ enum inv_devices { > INV_MPU6050, > INV_MPU6500, > INV_MPU6000, > + INV_MPU9150, > INV_NUM_PARTS > }; > > @@ -220,6 +221,7 @@ struct inv_mpu6050_state { > #define INV_MPU6000_WHOAMI_VALUE 0x68 > #define INV_MPU6050_WHOAMI_VALUE 0x68 > #define INV_MPU6500_WHOAMI_VALUE 0x70 > +#define INV_MPU9150_WHOAMI_VALUE 0x68 > > /* scan element definition */ > enum inv_mpu6050_scan { > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > index a0f8df2..190a4a5 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > @@ -81,6 +81,7 @@ static int inv_mpu_remove(struct spi_device *spi) > static const struct spi_device_id inv_mpu_id[] = { > {"mpu6000", INV_MPU6000}, > {"mpu6500", INV_MPU6500}, > + {"mpu9150", INV_MPU9150}, > {} > }; > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Ge Gao To: Jonathan Cameron , Crestez Dan Leonard , "linux-iio@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , "Hartmut Knaack" , Lars-Peter Clausen , "Peter Meerwald-Stadler" , Daniel Baluta Subject: RE: [PATCH 5/5] iio: inv_mpu6050: Add explicit support for MPU9150 Date: Mon, 25 Apr 2016 17:56:07 +0000 Message-ID: References: <76645673-6d2c-3d51-a689-1c9310cbc765@kernel.org> In-Reply-To: <76645673-6d2c-3d51-a689-1c9310cbc765@kernel.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 List-ID: This looks good to me. Acked-by: Ge Gao -----Original Message----- From: Jonathan Cameron [mailto:jic23@kernel.org]=20 Sent: Sunday, April 24, 2016 4:16 AM To: Crestez Dan Leonard; linux-iio@vger.kernel.org Cc: linux-kernel@vger.kernel.org; Hartmut Knaack; Lars-Peter Clausen; Peter= Meerwald-Stadler; Daniel Baluta; Ge Gao Subject: Re: [PATCH 5/5] iio: inv_mpu6050: Add explicit support for MPU9150 On 20/04/16 14:15, Crestez Dan Leonard wrote: > This device is a package containing a MPU6050-like sensor and an=20 > AK8975 magnetometer. The magnetometer component is supported by the=20 > existing > ak8975 driver. >=20 > This patch also rephrases the Kconfig descriptions. >=20 > Signed-off-by: Crestez Dan Leonard Looks good. Will just wait for Ge to hopefully have time to take a look at= the whole series. For future reference, it's always worth making sure you= have cc'd the original author of a driver unless you know someone else is = definitely maintaining it. Ge was reply to emails recently so I guess he is still very much active! Jonathan > --- > drivers/iio/imu/inv_mpu6050/Kconfig | 10 ++++------ > drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 6 ++++++ =20 > drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 1 + =20 > drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 2 ++ =20 > drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c | 1 + > 5 files changed, 14 insertions(+), 6 deletions(-) >=20 > diff --git a/drivers/iio/imu/inv_mpu6050/Kconfig=20 > b/drivers/iio/imu/inv_mpu6050/Kconfig > index a7f557a..c05d474 100644 > --- a/drivers/iio/imu/inv_mpu6050/Kconfig > +++ b/drivers/iio/imu/inv_mpu6050/Kconfig > @@ -14,10 +14,8 @@ config INV_MPU6050_I2C > select I2C_MUX > select REGMAP_I2C > help > - This driver supports the Invensense MPU6050 devices. > - This driver can also support MPU6500 in MPU6050 compatibility mode > - and also in MPU6500 mode with some limitations. > - It is a gyroscope/accelerometer combo device. > + This driver supports the Invensense MPU6050/6500/9150 motion tracking > + devices over I2C. > This driver can be built as a module. The module will be called > inv-mpu6050-i2c. > =20 > @@ -27,7 +25,7 @@ config INV_MPU6050_SPI > select INV_MPU6050_IIO > select REGMAP_SPI > help > - This driver supports the Invensense MPU6050 devices. > - It is a gyroscope/accelerometer combo device. > + This driver supports the Invensense MPU6000/6500/9150 motion tracking > + devices over SPI. > This driver can be built as a module. The module will be called > inv-mpu6050-spi. > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c=20 > b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > index 273b7fa7..3a82a49 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > @@ -108,6 +108,12 @@ static const struct inv_mpu6050_hw hw_info[] =3D { > .reg =3D ®_set_6050, > .config =3D &chip_config_6050, > }, > + { > + .whoami =3D INV_MPU9150_WHOAMI_VALUE, > + .name =3D "MPU9150", > + .reg =3D ®_set_6050, > + .config =3D &chip_config_6050, > + }, > }; > =20 > int inv_mpu6050_switch_engine(struct inv_mpu6050_state *st, bool en,=20 > u32 mask) diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c=20 > b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > index bb1a7b1..1a424a6 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c > @@ -202,6 +202,7 @@ static int inv_mpu_remove(struct i2c_client=20 > *client) static const struct i2c_device_id inv_mpu_id[] =3D { > {"mpu6050", INV_MPU6050}, > {"mpu6500", INV_MPU6500}, > + {"mpu9150", INV_MPU9150}, > {} > }; > =20 > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h=20 > b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > index 564cabd..38d6a09 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h > @@ -68,6 +68,7 @@ enum inv_devices { > INV_MPU6050, > INV_MPU6500, > INV_MPU6000, > + INV_MPU9150, > INV_NUM_PARTS > }; > =20 > @@ -220,6 +221,7 @@ struct inv_mpu6050_state { > #define INV_MPU6000_WHOAMI_VALUE 0x68 > #define INV_MPU6050_WHOAMI_VALUE 0x68 > #define INV_MPU6500_WHOAMI_VALUE 0x70 > +#define INV_MPU9150_WHOAMI_VALUE 0x68 > =20 > /* scan element definition */ > enum inv_mpu6050_scan { > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c=20 > b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > index a0f8df2..190a4a5 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c > @@ -81,6 +81,7 @@ static int inv_mpu_remove(struct spi_device *spi) =20 > static const struct spi_device_id inv_mpu_id[] =3D { > {"mpu6000", INV_MPU6000}, > {"mpu6500", INV_MPU6500}, > + {"mpu9150", INV_MPU9150}, > {} > }; > =20 >=20