Device driver .shutdown() VS .remove()

jim.cromie at gmail.com jim.cromie at gmail.com
Thu Apr 22 14:05:52 EDT 2021


On Thu, Apr 22, 2021 at 1:37 AM Luca Ceresoli <luca at lucaceresoli.net> wrote:

> Hello,
>
> despite having been searching for documentation I couldn't find out the
> exact and detailed difference between the .shutdown() and .remove()
> calls in struct device_driver.
>
>
so, I'll start by saying I know next to nothing, but most of what you said
sounds good




> From the above it looks like the shutdown() actions must be a subset of
> remove() actions.
>
>
but subset is a bit vague.
theres 2 dimensions to think about.
lifetime -  shutdown/startup is surely the longer window, add/remove happen
within that
hierarchy - subsystems must be ready to handle add / remove

fwiw, I 'grepped' (with ack), it shows a few drivers with both functions,
many others with just remove
you could see in detail what the difference is.

$> ack '(\.remove|\.shutdown)\b' drivers/

drivers/rtc/rtc-twl.c
645: .remove = twl_rtc_remove,
646: .shutdown = twl_rtc_shutdown,

>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20210422/ba58364b/attachment.html>


More information about the Kernelnewbies mailing list