int _init(void); int _info(struct modinfo *modinfop); int _fini(void);
All drivers must implement the _init(9E), _fini(9E) and _info(9E) entry points to load, unload and report information about the driver module. The driver is single-threaded when the kernel calls _init(9E). No other thread will enter a driver routine until mod_install(9F) returns success.
The driver should allocate and initialize any global resources in _init(9E) before calling mod_install(9F) and release global resources in _fini(9E) after mod_remove(9F) returns success.
Drivers must use these names, and they must not be declared static, unlike the other entry points where the names and storage classes are determined by the driver.