On Tue, Jul 25, 2023 at 10:40:10PM +0800, Dingyan Li wrote: > > At 2023-07-25 22:08:44, "Oliver Neukum" <oneukum@xxxxxxxx> wrote: > >On 25.07.23 15:54, Dingyan Li wrote: > > > >> If we can't "deprecate" ioctls, can we change the returned contents of existing ones? > > > >No. Absolutely not. That is totally unacceptable. It would be much > >worse than just removing the support. > > > > Regards > > Oliver > > Got it, I guess this is for backward-compatibility. > > I also have another thought. USBDEVFS_CONNINFO_EX is kind of special and > used to retrieve contents of variable length. If you check proc_conninfo_ex(), > I think maybe we can append a new member to "struct usbdevfs_conninfo_ex" > without breaking backward-compatibility. How exactly would that work? Remember, new kernels still need to work with old userspace code. > By this way, we can avoid adding a new ioctl. Or even more aggressively, > drop USBDEVFS_GET_SPEED and force everyone to use USBDEVFS_CONNINFO_EX > since it can also return device speed. We can not "force" anyone to change, that's not how the kernel works, sorry. greg k-h