Subject: Re: linux-next: manual merge of the rust tree with the char-misc tree

From: Greg KH <[email-masked]>
Date: Mon, 16 May 2022 10:27:06 +0200

On Mon, May 16, 2022 at 10:18:45AM +0200, Miguel Ojeda wrote:
> Hi Greg,
> 
> On Mon, May 16, 2022 at 9:49 AM Greg KH <[email-masked]> 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).

The binder one I can take now if you want to send that to me, as that
would make your development life easier.

thanks,

greg k-h