• Daniel Lezcano's avatar
    thermal/core: Alloc-copy-free the thermal zone parameters structure · 3d439b1a
    Daniel Lezcano authored
    The caller of the function thermal_zone_device_register_with_trips()
    can pass a thermal_zone_params structure parameter.
    
    This one is used by the thermal core code until the thermal zone is
    destroyed. That forces the caller, so the driver, to keep the pointer
    valid until it unregisters the thermal zone if we want to make the
    thermal zone device structure private the core code.
    
    As the thermal zone device structure would be private, the driver can
    not access to thermal zone device structure to retrieve the tzp field
    after it passed it to register the thermal zone.
    
    So instead of forcing the users of the function to deal with the tzp
    structure life cycle, make the usage easier by allocating our own
    thermal zone params, copying the parameter content and by freeing at
    unregister time. The user can then create the parameters on the stack,
    pass it to the registering function and forget about it.
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Link: https://lore.kernel.org/r/20230404075138.2914680-3-daniel.lezcano@linaro.org
    3d439b1a
thermal_core.c 39.7 KB