<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 10 Aug, 2021, 7:50 pm Oliver Neukum, <<a href="mailto:oneukum@suse.com">oneukum@suse.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On 10.08.21 16:13, Muni Sekhar wrote:<br>
> On Mon, Aug 9, 2021 at 1:45 PM Oliver Neukum <<a href="mailto:oneukum@suse.com" target="_blank" rel="noreferrer">oneukum@suse.com</a>> wrote:<br>
>><br>
>> On 09.08.21 09:58, Muni Sekhar wrote:<br>
>>> Hi all,<br>
>>><br>
>>> PCIe memory mapped registers can be read via readb(), readw(), readl()<br>
>>> kernel API's. Similarly what are the kernel API to read the device<br>
>>> registers via USB bus<br>
>>><br>
>> Hi,<br>
>><br>
>> I am afraid this is based on a fundamental misunderstanding on how<br>
>> USB works. It is based on passing messages, not reading and writing<br>
>> registers.<br>
> I am referring to the code mentioned in<br>
> <a href="https://patchwork.kernel.org/project/linux-arm-msm/patch/1534464348-8227-3-git-send-email-pheragu@codeaurora.org/" rel="noreferrer noreferrer" target="_blank">https://patchwork.kernel.org/project/linux-arm-msm/patch/1534464348-8227-3-git-send-email-pheragu@codeaurora.org/</a><br>
><br>
> As per this driver gets access to the Qcomm’s USB h/w device registers<br>
> via devm_extcon_dev_allocate(), devm_extcon_dev_register(),<br>
> platform_get_resource() and devm_ioremap_resource API’s.<br>
><br>
> What does the USB external connector EXTCON_USB \ EXTCON_USB_HOST<br>
> devices means? Are these different from normal USB devices?<br>
><br>
Hi,<br>
<br>
those are not USB devices. Those are devices associated with a USB bus<br>
and are to be<br>
found on the host's CPU's bus. This is like a graphics card is from the<br>
driver's view<br>
not a DisplayPort device or a SCSI controller is not a SCSI device for<br>
its driver.</blockquote></div></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"></blockquote></div></div><div dir="auto">Any other examples of devices associated with the USB bus? Do we have any reference driver in the mainline kernel tree?</div><div dir="auto">Does lsusb reports these devices?</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">
<br>
A host controller and associated devices can be on any bus. Such<br>
controllers follow<br>
their separate specifications and how they are to be driven is strictly<br>
speaking<br>
not part of USB:<br>
<br>
    Regards<br>
        Oliver<br>
<br>
<br>
</blockquote></div></div></div>