<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 6 May, 2024, 7:59 pm Alan Stern, <<a href="mailto:stern@rowland.harvard.edu">stern@rowland.harvard.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, May 06, 2024 at 04:44:30PM +0530, Muni Sekhar wrote:<br>
> Dear Linux USB Subsystem Community,<br>
> <br>
> I hope this email finds you well. We are currently working on a USB<br>
> device driver in the Linux kernel space, which supports the<br>
> suspend/resume functionality for a USB device using the struct<br>
> usb_driver's .suspend and .resume callbacks.<br>
> <br>
> <br>
> In our driver code, we perform a check to determine if the device has<br>
> remote wakeup capability. If the device supports remote wakeup, we<br>
> enable the device's autosuspend mode by setting the struct<br>
> usb_device->dev.power.autosuspend_delay parameter and then calling<br>
> usb_enable_autosuspend().<br>
> <br>
> <br>
> Similarly, to resume the suspended device, we expose an API to user<br>
> space via IOCTL. In this process, we set struct<br>
> usb_device->dev.power.autosuspend_delay to -1 and then call<br>
> usb_disable_autosuspend().<br>
> <br>
> <br>
> While we have successfully converted most of the USB device driver<br>
> functionality from kernel space to user space using libusb, we are now<br>
> seeking guidance on how to implement USB device suspend/resume in user<br>
> space. Specifically, we would like to know if libusb provides support<br>
> for achieving the suspend/resume functionality mentioned above.<br>
> Additionally, any insights or suggestions on how to accomplish this<br>
> task would be greatly appreciated.<br>
<br>
Your question is about libusb, right?  So you'll get better answers if <br>
you post it on the libusb mailing list rather than the linux-usb mailing <br>
list.<br></blockquote></div></div><div dir="auto"><font color="#ececec" face="söhne, ui-sans-serif, system-ui, -apple-system, segoe ui, roboto, ubuntu, cantarell, noto sans, sans-serif, helvetica neue, arial, apple color emoji, segoe ui emoji, segoe ui symbol, noto color emoji"><span style="font-size:16px;white-space:pre-wrap;background-color:rgb(33,33,33)">Can USB device suspend\resume  be implemented in user space driver using software other than libusb?</span></font></div><div dir="auto"><span style="color:rgb(236,236,236);font-family:söhne,ui-sans-serif,"system-ui",-apple-system,"segoe ui",roboto,ubuntu,cantarell,"noto sans",sans-serif,"helvetica neue",arial,"apple color emoji","segoe ui emoji","segoe ui symbol","noto color emoji";font-size:16px;white-space:pre-wrap;background-color:rgb(33,33,33)"><br></span></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Alan Stern<br>
<br>
> It's worth mentioning that our USB device driver also supports<br>
> Bulk\Coontrol I/O transfers and other functionalities.<br>
> <br>
> <br>
> Thank you in advance for any assistance you can provide. I look<br>
> forward to your valuable inputs and recommendations.<br>
> <br>
> <br>
> -- <br>
> Thanks,<br>
> Sekhar<br>
> <br>
</blockquote></div></div></div>