This series cleans up the filesystem core. The great goal of this series is to allow unmounting a fileystem by just unregistering the device. unmount already goes down to unregister a device, but unmount also cleans up the allocated ressources. We move the filesystem drivers/devices to their own bus which allows us to clean up the resources in the busses remove function so that a filesystem can be unmounted *and* cleaned up by unregistering the device. With this series (and the preceding one) it's possible to call the 'usb' command on a panda board multiple times without crashing barebox. I tested this with the onboard USB network adapter and a USB flash drive with a FAT mounted. Sascha Sascha Hauer (12): add list_is_singular dos partitions: Do not register as fixed partitions fs: Store mtab entries in list fs: make locally used function get_mtab_entry_by_path static fs: Store mtab path in allocated string fs: remove unused function fsdev_get_mountpoint fs: simplify get_mtab_entry_by_path fs: remove only once used variable fs: remove fs devices list fs: put fs devices on its own bus fs: allow to mount on subdirectories devices: unregister children when unregistering a device commands/mount.c | 17 ++-- common/partitions.c | 2 +- drivers/base/driver.c | 20 +++- fs/fs.c | 233 ++++++++++++++++++++++-------------------------- include/fs.h | 19 ++--- include/linux/list.h | 9 ++ 6 files changed, 145 insertions(+), 155 deletions(-) _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox