Skip to content
  • Jason Gerecke's avatar
    HID: wacom: generic: Refactor generic battery handling · 5ac3d4ae
    Jason Gerecke authored
    
    
    Generic battery handling code is spread between the pen and pad codepaths
    since battery usages may appear in reports for either. This makes it
    difficult to concisely see the logic involved. Since battery data is
    not treated like other data (i.e., we report it through the power_supply
    subsystem rather than through the input subsystem), it makes reasonable
    sense to split the functionality out into its own functions.
    
    This commit has the generic battery handling duplicate the same pattern
    that is used by the pen, pad, and touch interfaces. A "mapping" function
    is provided to set up the battery, an "event" function is provided to
    update the battery data, and a "report" function is provided to notify
    the power_supply subsystem after all the data has been read. We look at
    the usage itself rather than its collection to determine if one of the
    battery functions should handle it. Additionally, we unconditionally
    call the "report" function since there is no particularly good way to
    know if a report contained a battery usage; 'wacom_notify_battery()'
    will filter out any duplicate updates, however.
    
    Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
    Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    5ac3d4ae