UBI: add notification API
authorDmitry Pervushin <dpervushin@embeddedalley.com>
Wed, 29 Apr 2009 15:29:38 +0000 (19:29 +0400)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Wed, 10 Jun 2009 16:31:42 +0000 (19:31 +0300)
UBI volume notifications are intended to create the API to get clients
notified about volume creation/deletion, renaming and re-sizing. A
client can subscribe to these notifications using 'ubi_volume_register()'
and cancel the subscription using 'ubi_volume_unregister()'. When UBI
volumes change, a blocking notifier is called. Clients also can request
"added" events on all volumes that existed before client subscribed
to the notifications.

If we use notifications instead of calling functions like 'ubi_gluebi_xxx()',
we can make the MTD emulation layer to be more flexible: build it as a
separate module and load/unload it on demand.

[Artem: many cleanups, rework locking, add "updated" event, provide
 device/volume info in notifiers]

Signed-off-by: Dmitry Pervushin <dpervushin@embeddedalley.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>

No differences found