On Fri, Dec 13, 2024 at 01:57:59PM +0100, Andreas Hindborg wrote: > Alice Ryhl <aliceryhl@xxxxxxxxxx> writes: > > > On Fri, Dec 13, 2024 at 1:24 PM Andreas Hindborg <a.hindborg@xxxxxxxxxx> wrote: > >> > >> "Greg KH" <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > >> > >> > On Fri, Dec 13, 2024 at 12:30:45PM +0100, Andreas Hindborg wrote: > >> >> This series extends the `module!` macro with support module parameters. > >> > > >> > Eeek, why? > >> > > >> > Module parameters are from the 1990's, back when we had no idea what we > >> > were doing and thought that a simple "one variable for a driver that > >> > controls multiple devices" was somehow a valid solution :) > >> > > >> > Please only really add module parameters if you can prove that you > >> > actually need a module parameter. > >> > >> I really need module parameters to make rust null block feature > >> compatible with C null block. > > > > Instead of providing module parameters to Rust code, you could > > implement that part of Rust nullblk in C. That way, you discourage > > future Rust drivers from using module parameters without making it > > impossible to have them in Rust nullblk. > > If the opinion of the community is really to phase out module parameters > for all new drivers (is it?), I can maybe move the code in question into > the Rust null_blk driver. > > I was kind of looking forward to having zero unsafe code in the driver > though. > > On the other hand, rust null block might not be the only "rewrite in rust and keep > compatibility" project to ever see the light of day. We still have tons of module parameters with the _unsafe annotations, because they're really convenient for debugging and testing. Yes they're hacks, yes you cannot use them for production, but they're useful. So for drivers I'd say we definitely want to keep modules parameters around, they're just too convenient compared to debugfs, especially when it's things you have to set before the driver binds to the device. -Sima -- Simona Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch