On Sat, 2026-03-14 at 12:52 +0100, Greg Kroah-Hartman wrote: > On Sat, Mar 14, 2026 at 11:42:02AM +0000, Markus Probst wrote: > > On Sat, 2026-03-14 at 09:07 +0100, Greg Kroah-Hartman wrote: > > > On Fri, Mar 13, 2026 at 06:12:31PM +0000, Markus Probst wrote: > > > > Add rust private data to `struct serdev_device`, as it is required by the > > > > rust abstraction added in the following commit > > > > (rust: add basic serial device bus abstractions). > > > > > > why is rust "special" here? What's wrong with the existing private > > > pointer in this structure? Why must we add another one? > > Because in rust, the device drvdata will be set after probe has run. In > > serdev, once the device has been opened, it can receive data. It must > > be opened either inside probe or before probe, because it can only be > > configured (baudrate, flow control etc.) and data written to after it > > has been opened. Because it can receive data before drvdata has been > > set yet, we need to ensure it waits on data receival for the probe to > > be finished. Otherwise this would be a null pointer dereference. To do > > this, we need to store a `Completion` for it to wait and a `bool` in > > case the probe exits with an error. We cannot store this data in the > > device drvdata, because this is where the drivers drvdata goes. We also > > cannot create a wrapper of the drivers drvdata, because > > `Device::drvdata::()` would always fail in that case. That is why we > > need a "rust_private_data" for this abstraction to store the > > `Completion` and `bool`. > > So why is this any different from any other bus type? I don't see the > "uniqueness" here that has not required this to happen for PCI or USB or > anything else. > > What am I missing? In Short: In serdev, we have to handle incoming device data (serdev calls on a function pointer we provide in advance), even in the case that the driver hasn't completed probe yet. > > Also, all of this information MUST be in the changelog text in order for > us to be able to accept it. You need to say _why_ a change is needed, > not just _what_ the change does, as you know. Will do. Thanks - Markus Probst