Re: [PATCH v3 0/5] rust: miscdevice: Provide sample driver using the new MiscDevice bindings

From: Lee Jones
Date: Fri Dec 06 2024 - 02:44:57 EST


On Fri, 06 Dec 2024, Greg KH wrote:

> On Thu, Dec 05, 2024 at 04:25:17PM +0000, Lee Jones wrote:
> > It has been suggested that the driver should use dev_info() instead of
> > pr_info() however there is currently no scaffolding to successfully pull
> > a 'struct device' out from driver data post register(). This is being
> > worked on and we will convert this over in due course.
>
> But the miscdevice.rs change provides this to you, right? Or if not,
> why not?

This does allow us to pull the 'struct device *` out from `struct
miscdevice`; however, since this resides in MiscDeviceRegistration,
which we lose access to after .init, we have no means to call it.

Alice is going to work on a way to use ThisModule to get the
MiscDeviceRegistration reference back from anywhere in the module. Until
that piece lands, we can't call MiscDeviceRegistration::device() outside
of RustMiscDeviceModule.

One option that I investigated involved global mutable variable that we
could store the &Device into during MiscDeviceRegistration, however this
got messy (actually just bloaty) fast. Alice's solution will be
cleaner and more universally useful.

--
Lee Jones [李琼斯]