• Maximilian Luz's avatar
    platform/surface: aggregator: Add dedicated bus and device type · eb0e90a8
    Maximilian Luz authored
    The Surface Aggregator EC provides varying functionality, depending on
    the Surface device. To manage this functionality, we use dedicated
    client devices for each subsystem or virtual device of the EC. While
    some of these clients are described as standard devices in ACPI and the
    corresponding client drivers can be implemented as platform drivers in
    the kernel (making use of the controller API already present), many
    devices, especially on newer Surface models, cannot be found there.
    
    To simplify management of these devices, we introduce a new bus and
    client device type for the Surface Aggregator subsystem. The new device
    type takes care of managing the controller reference, essentially
    guaranteeing its validity for as long as the client device exists, thus
    alleviating the need to manually establish device links for that purpose
    in the client driver (as has to be done with the platform devices).
    Signed-off-by: default avatarMaximilian Luz <luzmaximilian@gmail.com>
    Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20201221183959.1186143-7-luzmaximilian@gmail.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    eb0e90a8
devicetable-offsets.c 7.17 KB