Re: [PATCH v4] ata/pata_buddha: Probe via modalias instead of initcall

From: Bartlomiej Zolnierkiewicz
Date: Mon Aug 12 2019 - 11:01:15 EST



On 8/12/19 4:26 PM, Max Staudt wrote:
> 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.

You are of course right and the example code is broken
(+ I need more caffeine).

> Any other ideas? We could also continue to disallow unloading completely until MFD support comes along.
Yes, this would also be OK.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics