On 08/12/2019 02:15 PM, Bartlomiej Zolnierkiewicz wrote: >> What's a good way to do that, given that we now have module_exit()> defined and an exit function is void? > > What about something like this: > > static bool xsurf_present; > ... > static int __init pata_buddha_late_init(void) > ... > if (pata_buddha_probe(z, &xsurf_ent) == 0 && > xsurf_present == false) > xsurf_present = true; > ... > static void __exit pata_buddha_exit(void) > ... > if (xsurf_present) > return -EBUSY; > ... > > ? Okay, so we're talking about the same idea. Great! Unfortunately, pata_buddha_exit() is void, and thus can't fail. According to Documentation/kernel-hacking/hacking.rst this is by design. Any other ideas? We could also continue to disallow unloading completely until MFD support comes along. Max