• Hans de Goede's avatar
    platform/x86: Add intel_bytcrc_pwrsrc driver · 94227b9c
    Hans de Goede authored
    Add a new driver for the power-, wake- and reset-source functionality
    of the Bay Trail (BYT) version of the Crystal Cove PMIC.
    
    The main functionality here is detecting which power-sources (USB /
    DC in / battery) are active. This is normally exposed to userspace as
    a power_supply class charger device with an online sysfs attribute.
    
    But if a charger is online or not is already exposed on BYT-CRC devices
    through either an ACPI AC power_supply device, or through a native driver
    for the battery charger chip (e.g. a BQ24292i).
    
    So instead of adding duplicate info under the power_supply class this
    driver exports the info through debugfs and likewise adds debugfs files
    for the reset- and wake-source info / registers.
    
    Despite this driver only exporting debugfs bits it is still useful to
    have this driver because it clears the wake- and reset-source registers
    after reading them. Not clearing these can have undesirable side-effects.
    
    Specifically if the WAKESRC register contains 0x01 (wake by powerbutton)
    on reboot then the firmware on some tablets turns the reboot into
    a poweroff. I guess this may be necessary to make long power-presses turn
    into a poweroff somehow?
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20230303221928.285477-1-hdegoede@redhat.com
    94227b9c
bytcrc_pwrsrc.c 4.73 KB