]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rust: miscdevice: access the `struct miscdevice` from fops->open()
authorAlice Ryhl <aliceryhl@google.com>
Tue, 10 Dec 2024 09:39:01 +0000 (09:39 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Dec 2024 15:12:30 +0000 (16:12 +0100)
commit88441d5c6d17211bcbd5b429205b09c25598f756
tree0355b54a4af11af50d950e8e9b92eb40ee9f58bb
parent0d8a7c7bf47aa1002e0df792cb1d0652bc824cba
rust: miscdevice: access the `struct miscdevice` from fops->open()

Providing access to the underlying `struct miscdevice` is useful for
various reasons. For example, this allows you access the miscdevice's
internal `struct device` for use with the `dev_*` printing macros.

Note that since the underlying `struct miscdevice` could get freed at
any point after the fops->open() call (if misc_deregister is called),
only the open call is given access to it. To use `dev_*` printing macros
from other fops hooks, take a refcount on `miscdevice->this_device` to
keep it alive. See the linked thread for further discussion on the
lifetime of `struct miscdevice`.

Link: https://lore.kernel.org/r/2024120951-botanist-exhale-4845@gregkh
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Lee Jones <lee@kernel.org>
Tested-by: Lee Jones <lee@kernel.org>
Reviewed-by: Danilo Krummrich <dakr@kernel.org>
Link: https://lore.kernel.org/r/20241210-miscdevice-file-param-v3-2-b2a79b666dc5@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
rust/kernel/miscdevice.rs