On Sun, 6 Nov 2022 21:58:04 +0200 Yauhen Kharuzhy <jekhor@xxxxxxxxx> wrote: > On Sun, Nov 06, 2022 at 05:36:43PM +0000, Jonathan Cameron wrote: > > On Sun, 6 Nov 2022 00:34:22 +0200 > > Yauhen Kharuzhy <jekhor@xxxxxxxxx> wrote: > > > > > Some devices has two sets of accelerometers and the sensor hub exports > > > two hinge angle 'sensors' based on accelerometer values. To allow more > > > than one sensor of the same type, use PLATFORM_DEVID_AUTO instead of > > > PLATFORM_DEVID_NONE when registering platform device for it. > > > > > > Checked on the Lenovo Yoga Book YB1-X91L tablet. > > > > > > Signed-off-by: Yauhen Kharuzhy <jekhor@xxxxxxxxx> > > > > Purely for curiosity sake, but where are the two sets of sensors? > > Doesn't look like it has two hinges at first glance! > > It sounds crazy, yes :) > > The Lenovo Yoga Book YB1-X91L looks to be strange device in many ways. > > There are two accelerometers at display side and two at keyboard side (for > detecting the rotation movement as I understand). For > some reasons ISH exposed two virtual hinge angle sensors (I guess that > one for each pair of accelerometers): > > ... > [ 6.230627] Registering platform device 'HID-SENSOR-INT-020b.35.auto'. Parent at 001F:8087:0AC2.0005 > [ 6.230658] device: 'HID-SENSOR-INT-020b.35.auto': device_add > [ 6.230705] bus: 'platform': add device HID-SENSOR-INT-020b.35.auto > [ 6.230737] PM: Adding info for platform:HID-SENSOR-INT-020b.35.auto > ... > [ 6.249248] Registering platform device 'HID-SENSOR-INT-020b.36.auto'. Parent at 001F:8087:8AC2.0006 > [ 6.249266] device: 'HID-SENSOR-INT-020b.36.auto': device_add > [ 6.249295] bus: 'platform': add device HID-SENSOR-INT-020b.36.auto > [ 6.249394] PM: Adding info for platform:HID-SENSOR-INT-020b.36.auto > > This is senseless but it is what it is. Moreover, this 'sensor' is always > returns 360 degrees angle, although display and keyboard 'absolute' angles are > reported correctly. > > In any way, this patch is generic and will be useful for other custom HID > sensors if they will be added in the future. Thanks for the explanation. Far as I'm concerned patch seems sensible. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > > > Jonathan > > > > > --- > > > drivers/hid/hid-sensor-custom.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/hid/hid-sensor-custom.c b/drivers/hid/hid-sensor-custom.c > > > index 32c2306e240d6..a6fc89ee1287c 100644 > > > --- a/drivers/hid/hid-sensor-custom.c > > > +++ b/drivers/hid/hid-sensor-custom.c > > > @@ -862,7 +862,7 @@ hid_sensor_register_platform_device(struct platform_device *pdev, > > > return ERR_PTR(-ENOMEM); > > > > > > custom_pdev = platform_device_register_data(pdev->dev.parent, dev_name, > > > - PLATFORM_DEVID_NONE, hsdev, > > > + PLATFORM_DEVID_AUTO, hsdev, > > > sizeof(*hsdev)); > > > kfree(dev_name); > > > return custom_pdev; > > >