• Srinivas Pandruvada's avatar
    HID: hid-sensor-hub: Force logical minimum to 1 for power and report state · b0f847e1
    Srinivas Pandruvada authored
    In the reference HID sensor hub firmware all Named array enums were
    0-based. There is no description of the default base of enums in HID
    sensor hub specification as logical minimum should have set this base
    value.
    
    Every sensor hub implemented enum as 1-based, without explicitly setting
    logical minimum to 1, because of the implementation by one of the major
    OS vendor. In Linux we used logical minimum to decide the enum base.
    
    Some sensor hub FWs already changed logical minimum from 0 to 1. We hoped
    that every other vendor will follow. But that didn't happen and we had to
    fix the report header for every sensor hub to change logical minimum to 1
    by using .report_fixup() callback. So for every new sensor hub we had to
    modify source code by adding this quirk based on the vendor and device id.
    This is becoming a maintenance burden.
    
    This patch hardcodes the logical minimum of power and report state
    attributes to 1. In this way we can remove the existing quirks and also
    we don't have to add more quirks.
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Acked-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    b0f847e1
hid-sensor-hub.c 20.7 KB