Hi Greg, On Mon, May 16, 2022 at 9:49 AM Greg KH <greg@xxxxxxxxx> wrote: > > Odd, why does the Rust binder implementation require the IOCTL > definitions to be in an enum instead of a #define? It is because bindgen (the tool which generates the "raw" C bindings) only works with simple C `#define`s. Thus there are two options when one hits something like this: either copy-paste them manually into the Rust side (which adds maintenance), or change them into real objects/identifiers in the C side. There may be support in the future for expanding macros that end up in a numeric one: https://github.com/rust-lang/rust-bindgen/issues/753. Stephen: the resolution looks fine, thanks! > If that's required, I can take that type of change now to prevent merge > issues in the future. We have two so far: this one (for the RFC Android patch) and another small one in include/linux/spinlock.h (for the `sync` module). So far I have put those changes in their respective patches, but if you prefer I can send them independently too (like the prerequisite patches). Cheers, Miguel