On Mon, Aug 9, 2021 at 1:45 PM Oliver Neukum <oneukum@xxxxxxxx> wrote: > > > On 09.08.21 09:58, Muni Sekhar wrote: > > Hi all, > > > > PCIe memory mapped registers can be read via readb(), readw(), readl() > > kernel API's. Similarly what are the kernel API to read the device > > registers via USB bus > > > > Hi, > > I am afraid this is based on a fundamental misunderstanding on how > USB works. It is based on passing messages, not reading and writing > registers. I am referring to the code mentioned in https://patchwork.kernel.org/project/linux-arm-msm/patch/1534464348-8227-3-git-send-email-pheragu@xxxxxxxxxxxxxx/ As per this driver gets access to the Qcomm’s USB h/w device registers via devm_extcon_dev_allocate(), devm_extcon_dev_register(), platform_get_resource() and devm_ioremap_resource API’s. What does the USB external connector EXTCON_USB \ EXTCON_USB_HOST devices means? Are these different from normal USB devices? > > USB devices are primarily based on endpoints, not registers. A literal > answer to your question would point you to the clear/set/get_feature > standard requests of chapter 9 of the specification, but that really > will not help you, as you are making assumption that fundamentally > do not apply. > > I hope this list stays friendly to newcomers and we will answer > specific questions, but at this point I must advise you to first > read an introductory book. > > HTH > Oliver > > -- Thanks, Sekhar