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

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to