All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Enable AK8963 conneted via INV6500
@ 2014-12-15 21:19 Srinivas Pandruvada
  2014-12-15 21:19 ` [PATCH 1/3] iio: imu: inv_mpu6050: ACPI enumeration Srinivas Pandruvada
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Srinivas Pandruvada @ 2014-12-15 21:19 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, Srinivas Pandruvada

Now we have i2c-mux for invensense mpu6050/mpu6500 is merged, this patchset
enables sensors routed through this.
In this series enabling AK8975/AK8963. This device is connected to main
cpu i2c bus via invensense bypass mode enabled by i2c-mux.

Srinivas Pandruvada (3):
  iio: imu: inv_mpu6050: ACPI enumeration
  iio: imu: inv_mpu6050: Added adapter class
  iio: ak8975: Added autodetect feature for ACPI

 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 11 +++++++++-
 drivers/iio/magnetometer/ak8975.c          | 35 ++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)

-- 
1.9.3


^ permalink raw reply	[flat|nested] 29+ messages in thread
* [PATCH 1/3] iio: imu: inv_mpu6050: ACPI enumeration
@ 2014-03-11 21:04 Srinivas Pandruvada
  2014-03-15 15:56 ` Jonathan Cameron
  0 siblings, 1 reply; 29+ messages in thread
From: Srinivas Pandruvada @ 2014-03-11 21:04 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, Srinivas Pandruvada

Added changes so that the module can be enumerated via ACPI.
Also if there is no platform data available, it will use a default
orientation data.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index df7f1e1..4a76697 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -24,8 +24,16 @@
 #include <linux/kfifo.h>
 #include <linux/spinlock.h>
 #include <linux/iio/iio.h>
+#include <linux/acpi.h>
 #include "inv_mpu_iio.h"
 
+/* Define some default platform data, if not supplied */
+static struct inv_mpu6050_platform_data inv_def_platform_data = {
+	.orientation = {-1,  0,  0,
+			0,  1,  0,
+			0,  0, -1 }
+};
+
 /*
  * this is the gyro scale translated from dynamic range plus/minus
  * {250, 500, 1000, 2000} to rad/s
@@ -662,6 +670,7 @@ static int inv_mpu_probe(struct i2c_client *client,
 	struct inv_mpu6050_state *st;
 	struct iio_dev *indio_dev;
 	int result;
+	char *name;
 
 	if (!i2c_check_functionality(client->adapter,
 		I2C_FUNC_SMBUS_I2C_BLOCK))
@@ -673,7 +682,10 @@ static int inv_mpu_probe(struct i2c_client *client,
 
 	st = iio_priv(indio_dev);
 	st->client = client;
-	st->plat_data = *(struct inv_mpu6050_platform_data
+	if (!dev_get_platdata(&client->dev))
+		st->plat_data = inv_def_platform_data;
+	else
+		st->plat_data = *(struct inv_mpu6050_platform_data
 				*)dev_get_platdata(&client->dev);
 	/* power is turned on inside check chip type*/
 	result = inv_check_and_setup_chip(st, id);
@@ -689,7 +701,14 @@ static int inv_mpu_probe(struct i2c_client *client,
 
 	i2c_set_clientdata(client, indio_dev);
 	indio_dev->dev.parent = &client->dev;
-	indio_dev->name = id->name;
+	if (id && id->name)
+		name = (char *)id->name;
+	else {
+		name = (char *)dev_name(&client->dev);
+		if (!name)
+			dev_err(&client->dev, "No iio dev name\n");
+	}
+	indio_dev->name = name;
 	indio_dev->channels = inv_mpu_channels;
 	indio_dev->num_channels = ARRAY_SIZE(inv_mpu_channels);
 
@@ -770,12 +789,19 @@ static const struct i2c_device_id inv_mpu_id[] = {
 
 MODULE_DEVICE_TABLE(i2c, inv_mpu_id);
 
+static const struct acpi_device_id inv_acpi_match[] = {
+	{"INVN6500", 0},
+	{ },
+};
+MODULE_DEVICE_TABLE(acpi, inv_acpi_match);
+
 static struct i2c_driver inv_mpu_driver = {
 	.probe		=	inv_mpu_probe,
 	.remove		=	inv_mpu_remove,
 	.id_table	=	inv_mpu_id,
 	.driver = {
 		.owner	=	THIS_MODULE,
+		.acpi_match_table = ACPI_PTR(inv_acpi_match),
 		.name	=	"inv-mpu6050",
 		.pm     =       INV_MPU6050_PMOPS,
 	},
-- 
1.7.11.7

^ permalink raw reply related	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-01-08 16:54 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-15 21:19 [PATCH 0/3] Enable AK8963 conneted via INV6500 Srinivas Pandruvada
2014-12-15 21:19 ` [PATCH 1/3] iio: imu: inv_mpu6050: ACPI enumeration Srinivas Pandruvada
2014-12-26 12:39   ` Jonathan Cameron
2014-12-15 21:19 ` [PATCH 2/3] iio: imu: inv_mpu6050: Added adapter class Srinivas Pandruvada
2014-12-26 12:37   ` Jonathan Cameron
2014-12-31 10:25     ` Wolfram Sang
2015-01-01 12:27       ` Jonathan Cameron
2015-01-04 19:20       ` Jean Delvare
2014-12-15 21:19 ` [PATCH 3/3] iio: ak8975: Added autodetect feature for ACPI Srinivas Pandruvada
     [not found]   ` <1418678363-22437-4-git-send-email-srinivas.pandruvada-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-18 16:28     ` Lars-Peter Clausen
2014-12-18 16:28       ` Lars-Peter Clausen
     [not found]       ` <549300A5.5080904-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-12-18 16:52         ` Srinivas Pandruvada
2014-12-18 16:52           ` Srinivas Pandruvada
     [not found]           ` <1418921521.740.282.camel-hINH/TbAiWppyMZ9rn1DP+ejPoqOX1/hEvhb3Hwu1Ks@public.gmane.org>
2014-12-18 17:05             ` Lars-Peter Clausen
2014-12-18 17:05               ` Lars-Peter Clausen
     [not found]               ` <54930965.3030008-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-12-18 17:30                 ` Srinivas Pandruvada
2014-12-18 17:30                   ` Srinivas Pandruvada
     [not found]                   ` <1418923812.4459.8.camel-hINH/TbAiWppyMZ9rn1DP+ejPoqOX1/hEvhb3Hwu1Ks@public.gmane.org>
2014-12-18 17:54                     ` Lars-Peter Clausen
2014-12-18 17:54                       ` Lars-Peter Clausen
     [not found]                       ` <549314C4.8090001-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-12-18 18:00                         ` Srinivas Pandruvada
2014-12-18 18:00                           ` Srinivas Pandruvada
     [not found]                           ` <1418925641.4459.11.camel-hINH/TbAiWppyMZ9rn1DP+ejPoqOX1/hEvhb3Hwu1Ks@public.gmane.org>
2014-12-26 11:53                             ` Jonathan Cameron
2014-12-26 11:53                               ` Jonathan Cameron
     [not found]                               ` <549D4C1F.6050907-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-01-08 16:40                                 ` Wolfram Sang
2015-01-08 16:40                                   ` Wolfram Sang
2015-01-08 16:54                                   ` Srinivas Pandruvada
2015-01-08 16:54                                     ` Srinivas Pandruvada
  -- strict thread matches above, loose matches on Subject: below --
2014-03-11 21:04 [PATCH 1/3] iio: imu: inv_mpu6050: ACPI enumeration Srinivas Pandruvada
2014-03-15 15:56 ` Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.