There are too many headers. fs_types.h, fs_inode.h, fs_dentry.h, fs_driver.h is ridiculous
With initcall, we could reach a point where each C file can be read completely independent from every other
with the exception of the boot code and some utility functions (for memory mapping, port IO etc.) used by many modules
BUT those utility functions aren't that important when just reading e.g. a filesystem implementation
Still, I want to keep it so you can get the bigger picture (how everything sticks together, who calls whom) since I think this is one of the most difficult things when reading larger OS codebases which I want to avoid
Question: Do we want a modular kernel (one that can load modules at runtime)? I'm tending towards no (unnecessary complication)
Some ideas:
fs_types.h
,fs_inode.h
,fs_dentry.h
,fs_driver.h
is ridiculous