LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Muni Sekhar <munisekharrms@gmail.com>
Cc: Oliver Neukum <oneukum@suse.com>,
	kernelnewbies <kernelnewbies@kernelnewbies.org>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: read() via USB bus
Date: Mon, 9 Aug 2021 10:44:23 +0200	[thread overview]
Message-ID: <YRDq530N/9uu2J0x@kroah.com> (raw)
In-Reply-To: <8923f2b8-0be0-ffbf-70a4-c03c9a02d58a@suse.com>

On Mon, Aug 09, 2021 at 10:15:29AM +0200, Oliver Neukum 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.
> 
> 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.

Along these lines, take a look at the book, Linux Device Drivers, third
edition, which is free online, as it has a chapter about USB drivers and
how they work.  That should help you out to understand the issues
involved with USB devices.

If you have specific questions after looking at that, and reading the
basic usb-skeleton.c driver in the kernel source tree, please let us
know!

thanks,

greg k-h

  reply	other threads:[~2021-08-09  8:44 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-09  7:58 Muni Sekhar
2021-08-09  8:15 ` Oliver Neukum
2021-08-09  8:44   ` Greg KH [this message]
2021-08-12  9:45     ` LDD 3rd ed. - It was: " Fabio M. De Francesco
2021-08-12 10:13       ` Valdis Klētnieks
2021-08-12 10:18       ` Greg KH
2021-08-12 10:26         ` Robert P. J. Day
2021-08-09 16:19   ` Muni Sekhar
2021-08-10 14:13   ` Muni Sekhar
2021-08-10 14:20     ` Oliver Neukum
     [not found]       ` <CAHhAz+ioThu3v4VW6LVqFn9MhgNaqv=qDoxh8Orkw2LOEC_JYA@mail.gmail.com>
2021-08-11 10:04         ` Oliver Neukum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YRDq530N/9uu2J0x@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=kernelnewbies@kernelnewbies.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=munisekharrms@gmail.com \
    --cc=oneukum@suse.com \
    --subject='Re: read() via USB bus' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).