From: Jonathan Cameron <jic23@cam.ac.uk>
To: Alan Cox <alan@linux.jf.intel.com>
Cc: linux-input@vger.kernel.org
Subject: Re: [PATCH] Add a driver to support InvenSense mpu3050 gyroscope chip.
Date: Wed, 13 Apr 2011 11:30:24 +0100 [thread overview]
Message-ID: <4DA57B40.2000402@cam.ac.uk> (raw)
In-Reply-To: <20110413095049.10407.35173.stgit@localhost.localdomain>
On 04/13/11 10:51, Alan Cox wrote:
> From: Joseph Lai <joseph_lai@wistron.com>
>
> This driver is registered as an input device. An IRQ is required in this
> basic driver configuration.
For others, description of changes is at the top of mpu3050.c
Basically, driver has been stripped of sysfs interfaces entirely to
aid merging.
Couple of trivial nitpicks/comments inline.
...
> +struct mpu3050_sensor {
> + struct i2c_client *client;
> + struct device *dev;
> + struct input_dev *idev;
> + struct mutex lock;
> +};
> +
> +/**
> + * mpu3050_xyz_read_reg - read the axes values
> + * @buffer: provide register addr and get register
> + * @length: length of register
> + *
> + * Reads the register values in one transaction or returns a negative
> + * error code on failure/
> + */
Could just fix the length in this. You only ever use it with the value 6.
Hardly seems worth it's own function. I guess this may be because it gets
used for other things in the full version? If so it doesn't do any harm
here so might as well leave it alone.
> +static int mpu3050_xyz_read_reg(struct i2c_client *client,
> + u8 *buffer, int length)
> +{
> + struct i2c_msg msg[] = {
> + {
> + .addr = client->addr,
> + .flags = 0,
> + .len = 1,
> + .buf = buffer,
> + },
> + {
> + .addr = client->addr,
> + .flags = I2C_M_RD,
> + .len = length,
> + .buf = buffer,
> + },
> + };
> + return i2c_transfer(client->adapter, msg, 2);
> +}
> +
> +/**
> + * mpu3050_read_xyz - get co-ordinates from device
> + * @client: i2c address of sensor
> + * @coords: co-ordinates to update
> + *
> + * Return the converted X Y and Z co-ordinates from the sensor device
> + */
> +static void mpu3050_read_xyz(struct i2c_client *client,
> + struct axis_data *coords)
> +{
> + u8 buffer[6];
> + buffer[0] = MPU3050_XOUT_H;
> + mpu3050_xyz_read_reg(client, buffer, 6);
> + coords->x = buffer[0];
> + coords->x = coords->x << 8 | buffer[1];
Better to use le16_tocpu or similar rather than
hand rolling these.
> + coords->y = buffer[2];
> + coords->y = coords->y << 8 | buffer[3];
> + coords->z = buffer[4];
> + coords->z = coords->z << 8 | buffer[5];
> + dev_dbg(&client->dev, "%s: x %d, y %d, z %d\n", __func__,
> + coords->x, coords->y, coords->z);
> +}
> +
...
next prev parent reply other threads:[~2011-04-13 10:28 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-13 9:51 [PATCH] Add a driver to support InvenSense mpu3050 gyroscope chip Alan Cox
2011-04-13 10:30 ` Jonathan Cameron [this message]
2011-04-13 13:07 ` Alan Cox
2011-04-13 14:21 ` Jonathan Cameron
2011-04-13 14:30 ` Hennerich, Michael
2011-04-13 14:46 ` Alan Cox
2011-04-13 15:03 ` simon
2011-04-13 14:54 ` Alan Cox
2011-04-13 15:21 ` simon
-- strict thread matches above, loose matches on Subject: below --
2011-05-04 9:02 Alan Cox
2011-04-13 14:58 Alan Cox
2011-04-13 15:54 ` Jonathan Cameron
2011-04-13 14:55 Alan Cox
2011-04-06 12:38 Alan Cox
2011-03-09 13:47 Alan Cox
2011-03-14 15:39 ` Jonathan Cameron
2011-03-14 18:24 ` Alan Cox
2011-03-14 19:29 ` Jonathan Cameron
2011-03-14 20:14 ` Alan Cox
2011-03-15 6:02 ` Dmitry Torokhov
2011-03-15 11:59 ` Jonathan Cameron
2011-03-15 12:58 ` Alan Cox
2011-03-16 6:30 ` Dmitry Torokhov
2011-03-16 21:07 ` Rafael J. Wysocki
2011-03-15 9:44 ` Shubhrajyoti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DA57B40.2000402@cam.ac.uk \
--to=jic23@cam.ac.uk \
--cc=alan@linux.jf.intel.com \
--cc=linux-input@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.