lkml.org 
[lkml]   [2019]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 04/10] iio: accel: bma180: add mount matrix support
    On Thu, 21 Feb 2019 18:02:49 +0100
    "H. Nikolaus Schaller" <hns@goldelico.com> wrote:

    > This patch allows to read a mount-matrix device tree
    > property and report to user-space or in-kernel iio
    > clients.
    >
    > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
    Applied.

    Thanks,

    Jonathan

    > ---
    > drivers/iio/accel/bma180.c | 18 +++++++++++++++++-
    > 1 file changed, 17 insertions(+), 1 deletion(-)
    >
    > diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
    > index cb9765a3de60..f9720a1e8a7c 100644
    > --- a/drivers/iio/accel/bma180.c
    > +++ b/drivers/iio/accel/bma180.c
    > @@ -116,6 +116,7 @@ struct bma180_data {
    > struct i2c_client *client;
    > struct iio_trigger *trig;
    > const struct bma180_part_info *part_info;
    > + struct iio_mount_matrix orientation;
    > struct mutex mutex;
    > bool sleep_state;
    > int scale;
    > @@ -561,6 +562,15 @@ static int bma180_set_power_mode(struct iio_dev *indio_dev,
    > return ret;
    > }
    >
    > +static const struct iio_mount_matrix *
    > +bma180_accel_get_mount_matrix(const struct iio_dev *indio_dev,
    > + const struct iio_chan_spec *chan)
    > +{
    > + struct bma180_data *data = iio_priv(indio_dev);
    > +
    > + return &data->orientation;
    > +}
    > +
    > static const struct iio_enum bma180_power_mode_enum = {
    > .items = bma180_power_modes,
    > .num_items = ARRAY_SIZE(bma180_power_modes),
    > @@ -571,7 +581,8 @@ static const struct iio_enum bma180_power_mode_enum = {
    > static const struct iio_chan_spec_ext_info bma180_ext_info[] = {
    > IIO_ENUM("power_mode", true, &bma180_power_mode_enum),
    > IIO_ENUM_AVAILABLE("power_mode", &bma180_power_mode_enum),
    > - { },
    > + IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, bma180_accel_get_mount_matrix),
    > + { }
    > };
    >
    > #define BMA180_ACC_CHANNEL(_axis, _bits) { \
    > @@ -722,6 +733,11 @@ static int bma180_probe(struct i2c_client *client,
    > chip = id->driver_data;
    > data->part_info = &bma180_part_info[chip];
    >
    > + ret = iio_read_mount_matrix(&client->dev, "mount-matrix",
    > + &data->orientation);
    > + if (ret)
    > + return ret;
    > +
    > ret = data->part_info->chip_config(data);
    > if (ret < 0)
    > goto err_chip_disable;

    \
     
     \ /
      Last update: 2019-03-03 16:21    [W:4.090 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site