On Thu, Feb 28, 2019 at 3:18 AM Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> wrote: > > Hi Gwendal, > > Thanks to send this upstream. > > On 28/2/19 2:50, Gwendal Grignou wrote: > > Add a IIO driver that reports the angle between the lid and the base for > > ChromeOS convertible device. > > > > Tested on eve with ToT EC firmware. > > Check driver is loaded and lid angle is correct. > > > > Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> > > --- > > drivers/iio/common/cros_ec_sensors/Kconfig | 9 + > > drivers/iio/common/cros_ec_sensors/Makefile | 1 + > > .../cros_ec_sensors/cros_ec_lid_angle.c | 164 ++++++++++++++++++ > > drivers/mfd/cros_ec_dev.c | 15 +- > > The mfd/cros_ec_dev.c part looks good to me. I have some few comments in the IIO > part, see below. > > > 4 files changed, 186 insertions(+), 3 deletions(-) > > create mode 100644 drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c > > > > diff --git a/drivers/iio/common/cros_ec_sensors/Kconfig b/drivers/iio/common/cros_ec_sensors/Kconfig > > index 135f6825903f..aacc2ab9c34f 100644 > > --- a/drivers/iio/common/cros_ec_sensors/Kconfig > > +++ b/drivers/iio/common/cros_ec_sensors/Kconfig > > @@ -20,3 +20,12 @@ config IIO_CROS_EC_SENSORS > > Accelerometers, Gyroscope and Magnetometer that are > > presented by the ChromeOS EC Sensor hub. > > Creates an IIO device for each functions. > > + > > +config IIO_CROS_EC_SENSORS_LID_ANGLE > > + tristate "ChromeOS EC Sensor for lid angle" > > + depends on IIO_CROS_EC_SENSORS_CORE > > + help > > + Module to report the angle between lid and base for some > > + convertible devices. > > + This module is loaded when the EC can calculate the angle between the base > > + and the lid. > > diff --git a/drivers/iio/common/cros_ec_sensors/Makefile b/drivers/iio/common/cros_ec_sensors/Makefile > > index ec716ff2a775..a35ee232ac07 100644 > > --- a/drivers/iio/common/cros_ec_sensors/Makefile > > +++ b/drivers/iio/common/cros_ec_sensors/Makefile > > @@ -4,3 +4,4 @@ > > > > obj-$(CONFIG_IIO_CROS_EC_SENSORS_CORE) += cros_ec_sensors_core.o > > obj-$(CONFIG_IIO_CROS_EC_SENSORS) += cros_ec_sensors.o > > +obj-$(CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE) += cros_ec_lid_angle.o > > diff --git a/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c b/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c > > new file mode 100644 > > index 000000000000..370b3e9a1405 > > --- /dev/null > > +++ b/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c > > @@ -0,0 +1,164 @@ > > +// SPDX-License-Identifier: GPL-2.0+ > > + > > There is a license mismatch between the SPDX identifier (GPLv2 or later) and the > MODULE_LICENSE (GPLv2). I think that this should be only GPL-2.0 Done. > > > +/* > > + * cros_ec_lid_angle - Driver for CrOS EC lid angle sensor. > > + * ... > > +static const struct iio_info cros_ec_lid_angle_info = { > > + .read_raw = &cros_ec_lid_angle_read, > > + .driver_module = THIS_MODULE, > > This is not needed now, you can remove it. Done. > > > +}; > > + > > +static int cros_ec_lid_angle_probe(struct platform_device *pdev) ...