mbox series

[v4,0/3] add custom hinge sensor support

Message ID 20201215054444.9324-1-xiang.ye@intel.com (mailing list archive)
Headers show
Series add custom hinge sensor support | expand

Message

Ye Xiang Dec. 15, 2020, 5:44 a.m. UTC
Here we register one iio device with three channels which present angle for
hinge, keyboard and screen.

This driver works on devices with Intel integrated sensor hub, where
hinge sensor is presented using a custom sensor usage id.

Here the angle is presented in degrees, which is converted to radians.

Changes since v3:
  - hid-sensor-custom: remove sensor_inst::custom_pdev_exposed.
  - hid-sensor-custom: use static buf, w_buf to avoid using goto in 
    get_known_custom_sensor_index.
  - hid-sensor-custom-intel-hinge: use devm_ prefix function instead.
  - sysfs-bus-iio: put in_anglY_raw together with in_angl_raw.

Changes since v2:
  - use 1 iio device instead of 3 for hinge sensor.
  - use indexed channel instead of modified channel and added channel
    labels.
  - remove 2,3 patch in last version, add a document patch to describe the
    hinge channels.
  - hid-sensor-custom: use meaningful return value in 
    get_known_custom_sensor_index and checked in call side.
  - hid-sensor-ids.h: use HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE(x) to 
    define custom sensor value.

Changes since v1:
  - fixed errors reported by lkp

Ye Xiang (3):
  HID: hid-sensor-custom: Add custom sensor iio support
  iio: hid-sensors: Add hinge sensor driver
  iio:Documentation: Add documentation for hinge sensor channels

 Documentation/ABI/testing/sysfs-bus-iio       |  11 +
 drivers/hid/hid-sensor-custom.c               | 143 +++++++
 .../hid-sensors/hid-sensor-attributes.c       |   2 +
 drivers/iio/position/Kconfig                  |  16 +
 drivers/iio/position/Makefile                 |   1 +
 .../position/hid-sensor-custom-intel-hinge.c  | 391 ++++++++++++++++++
 include/linux/hid-sensor-ids.h                |  14 +
 7 files changed, 578 insertions(+)
 create mode 100644 drivers/iio/position/hid-sensor-custom-intel-hinge.c

Comments

Jonathan Cameron Dec. 30, 2020, 12:05 p.m. UTC | #1
On Tue, 15 Dec 2020 13:44:41 +0800
Ye Xiang <xiang.ye@intel.com> wrote:

> Here we register one iio device with three channels which present angle for
> hinge, keyboard and screen.
> 
> This driver works on devices with Intel integrated sensor hub, where
> hinge sensor is presented using a custom sensor usage id.
> 
> Here the angle is presented in degrees, which is converted to radians.

Other than those minor bits I'm happy to fix up in patch 2, this looks
good to me.  However, I'll need a Jiri Ack for the hid parts before
I apply it.  We are are early in this cycle, so no great rush given
the usual xmas slow down!

Thanks,

Jonathan

> 
> Changes since v3:
>   - hid-sensor-custom: remove sensor_inst::custom_pdev_exposed.
>   - hid-sensor-custom: use static buf, w_buf to avoid using goto in 
>     get_known_custom_sensor_index.
>   - hid-sensor-custom-intel-hinge: use devm_ prefix function instead.
>   - sysfs-bus-iio: put in_anglY_raw together with in_angl_raw.
> 
> Changes since v2:
>   - use 1 iio device instead of 3 for hinge sensor.
>   - use indexed channel instead of modified channel and added channel
>     labels.
>   - remove 2,3 patch in last version, add a document patch to describe the
>     hinge channels.
>   - hid-sensor-custom: use meaningful return value in 
>     get_known_custom_sensor_index and checked in call side.
>   - hid-sensor-ids.h: use HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE(x) to 
>     define custom sensor value.
> 
> Changes since v1:
>   - fixed errors reported by lkp
> 
> Ye Xiang (3):
>   HID: hid-sensor-custom: Add custom sensor iio support
>   iio: hid-sensors: Add hinge sensor driver
>   iio:Documentation: Add documentation for hinge sensor channels
> 
>  Documentation/ABI/testing/sysfs-bus-iio       |  11 +
>  drivers/hid/hid-sensor-custom.c               | 143 +++++++
>  .../hid-sensors/hid-sensor-attributes.c       |   2 +
>  drivers/iio/position/Kconfig                  |  16 +
>  drivers/iio/position/Makefile                 |   1 +
>  .../position/hid-sensor-custom-intel-hinge.c  | 391 ++++++++++++++++++
>  include/linux/hid-sensor-ids.h                |  14 +
>  7 files changed, 578 insertions(+)
>  create mode 100644 drivers/iio/position/hid-sensor-custom-intel-hinge.c
>
Ye Xiang Dec. 31, 2020, 2:46 a.m. UTC | #2
On Wed, Dec 30, 2020 at 12:05:17PM +0000, Jonathan Cameron wrote:
> On Tue, 15 Dec 2020 13:44:41 +0800
> Ye Xiang <xiang.ye@intel.com> wrote:
> 
> > Here we register one iio device with three channels which present angle for
> > hinge, keyboard and screen.
> > 
> > This driver works on devices with Intel integrated sensor hub, where
> > hinge sensor is presented using a custom sensor usage id.
> > 
> > Here the angle is presented in degrees, which is converted to radians.
> 
> Other than those minor bits I'm happy to fix up in patch 2, this looks
> good to me.  However, I'll need a Jiri Ack for the hid parts before
> I apply it.  We are are early in this cycle, so no great rush given
> the usual xmas slow down!

Ok, let's wait Jiri to review the hid parts. Thanks for the help.

Thanks
Ye Xiang
> 
> > 
> > Changes since v3:
> >   - hid-sensor-custom: remove sensor_inst::custom_pdev_exposed.
> >   - hid-sensor-custom: use static buf, w_buf to avoid using goto in 
> >     get_known_custom_sensor_index.
> >   - hid-sensor-custom-intel-hinge: use devm_ prefix function instead.
> >   - sysfs-bus-iio: put in_anglY_raw together with in_angl_raw.
> > 
> > Changes since v2:
> >   - use 1 iio device instead of 3 for hinge sensor.
> >   - use indexed channel instead of modified channel and added channel
> >     labels.
> >   - remove 2,3 patch in last version, add a document patch to describe the
> >     hinge channels.
> >   - hid-sensor-custom: use meaningful return value in 
> >     get_known_custom_sensor_index and checked in call side.
> >   - hid-sensor-ids.h: use HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE(x) to 
> >     define custom sensor value.
> > 
> > Changes since v1:
> >   - fixed errors reported by lkp
> > 
> > Ye Xiang (3):
> >   HID: hid-sensor-custom: Add custom sensor iio support
> >   iio: hid-sensors: Add hinge sensor driver
> >   iio:Documentation: Add documentation for hinge sensor channels
> > 
> >  Documentation/ABI/testing/sysfs-bus-iio       |  11 +
> >  drivers/hid/hid-sensor-custom.c               | 143 +++++++
> >  .../hid-sensors/hid-sensor-attributes.c       |   2 +
> >  drivers/iio/position/Kconfig                  |  16 +
> >  drivers/iio/position/Makefile                 |   1 +
> >  .../position/hid-sensor-custom-intel-hinge.c  | 391 ++++++++++++++++++
> >  include/linux/hid-sensor-ids.h                |  14 +
> >  7 files changed, 578 insertions(+)
> >  create mode 100644 drivers/iio/position/hid-sensor-custom-intel-hinge.c
> > 
>
Jonathan Cameron Jan. 9, 2021, 6:41 p.m. UTC | #3
On Thu, 31 Dec 2020 10:46:40 +0800
"Ye, Xiang" <xiang.ye@intel.com> wrote:

> On Wed, Dec 30, 2020 at 12:05:17PM +0000, Jonathan Cameron wrote:
> > On Tue, 15 Dec 2020 13:44:41 +0800
> > Ye Xiang <xiang.ye@intel.com> wrote:
> >   
> > > Here we register one iio device with three channels which present angle for
> > > hinge, keyboard and screen.
> > > 
> > > This driver works on devices with Intel integrated sensor hub, where
> > > hinge sensor is presented using a custom sensor usage id.
> > > 
> > > Here the angle is presented in degrees, which is converted to radians.  
> > 
> > Other than those minor bits I'm happy to fix up in patch 2, this looks
> > good to me.  However, I'll need a Jiri Ack for the hid parts before
> > I apply it.  We are are early in this cycle, so no great rush given
> > the usual xmas slow down!  
> 
> Ok, let's wait Jiri to review the hid parts. Thanks for the help.
Series applied with the changes mentioned in review of patch 2.

Applied to the togreg branch of iio.git and pushed out as testing for
the various autobuilders to poke at it at and see if they can find
anything I missed.

Thanks,

Jonathan

> 
> Thanks
> Ye Xiang
> >   
> > > 
> > > Changes since v3:
> > >   - hid-sensor-custom: remove sensor_inst::custom_pdev_exposed.
> > >   - hid-sensor-custom: use static buf, w_buf to avoid using goto in 
> > >     get_known_custom_sensor_index.
> > >   - hid-sensor-custom-intel-hinge: use devm_ prefix function instead.
> > >   - sysfs-bus-iio: put in_anglY_raw together with in_angl_raw.
> > > 
> > > Changes since v2:
> > >   - use 1 iio device instead of 3 for hinge sensor.
> > >   - use indexed channel instead of modified channel and added channel
> > >     labels.
> > >   - remove 2,3 patch in last version, add a document patch to describe the
> > >     hinge channels.
> > >   - hid-sensor-custom: use meaningful return value in 
> > >     get_known_custom_sensor_index and checked in call side.
> > >   - hid-sensor-ids.h: use HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE(x) to 
> > >     define custom sensor value.
> > > 
> > > Changes since v1:
> > >   - fixed errors reported by lkp
> > > 
> > > Ye Xiang (3):
> > >   HID: hid-sensor-custom: Add custom sensor iio support
> > >   iio: hid-sensors: Add hinge sensor driver
> > >   iio:Documentation: Add documentation for hinge sensor channels
> > > 
> > >  Documentation/ABI/testing/sysfs-bus-iio       |  11 +
> > >  drivers/hid/hid-sensor-custom.c               | 143 +++++++
> > >  .../hid-sensors/hid-sensor-attributes.c       |   2 +
> > >  drivers/iio/position/Kconfig                  |  16 +
> > >  drivers/iio/position/Makefile                 |   1 +
> > >  .../position/hid-sensor-custom-intel-hinge.c  | 391 ++++++++++++++++++
> > >  include/linux/hid-sensor-ids.h                |  14 +
> > >  7 files changed, 578 insertions(+)
> > >  create mode 100644 drivers/iio/position/hid-sensor-custom-intel-hinge.c
> > >   
> >