I realized that in patch for ACPI battery I created perfect example of self-destructing sysfs attributes. Basically, on every access to battery properties we check battery status. If ACPI reports battery not present, we remove sysfs power_supply object. I.e.
-> user space queries e.g. .../PNP0C0A:00/power_supply/BAT1/energy_now -> call acpi_battery_update -> battery gone -> call power_supply_unregister(.../PNP0C0A:00/power_supply) I remember discussion about this but am not sure what final outcome is. So questions - is it legal in this form? - what is the proper way to manage such situation? - if I move (de-)registering of power_supply out of acpi_battery_update, is extra locking (refcounting) required to keep attributes alive or sysfs will ensure this? TIA -andrey
signature.asc
Description: This is a digitally signed message part.