All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@gmail.com>
To: Jon Smirl <jonsmirl@gmail.com>
Cc: Greg KH <gregkh@suse.de>, Jeff Garzik <jgarzik@pobox.com>,
	Greg KH <greg@kroah.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-pci@atrey.karlin.mff.cuni.cz
Subject: Re: searching for pci busses
Date: Tue, 30 May 2006 19:02:31 +0200	[thread overview]
Message-ID: <447C7AA7.4080001@gmail.com> (raw)
In-Reply-To: <9e4733910605300952v1cf56beasc2a907cc77b8a09f@mail.gmail.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jon Smirl napsal(a):
> On 5/30/06, Greg KH <gregkh@suse.de> wrote:
>> On Mon, May 29, 2006 at 05:59:39PM -0400, Jeff Garzik wrote:
>> > Greg KH wrote:
>> > >On Sun, May 28, 2006 at 01:12:26AM +0159, Jiri Slaby wrote:
>> > >>Hello,
>> > >>
>> > >>I want to ask, if there is any function to call (as we debated with
>> > >>Jeff), which
>> > >>does something like this:
>> > >>1) I have some vendor/device ids in table
>> > >>2) I want to traverse raws of the table and compare to system
>> devices,
>> > >>and if
>> > >>found, stop and return pci_dev struct (or raw in the table).
>> > >
>> > >What's wrong with pci_match_id()?
>> > >
>> > >Or just using the pci_register_driver() function properly, which
>> handles
>> > >all of this logic for you?
>> >
>> > These aren't PCI devices proper.  These are embedded non-PCI devices,
>> > which must search for an unrelated PCI device to figure out what
>> type of
>> > platform they are on.
>>
>> Ok, then use pci_match_id() or pci_get_device().
> 
> This is how DRM does it...
> 
>        for (i = 0; driver->pci_driver.id_table[i].vendor != 0; i++) {
>                pid = (struct pci_device_id
> *)&driver->pci_driver.id_table[i];
> 
>                pdev = NULL;
>                /* pass back in pdev to account for multiple identical
> cards */
>                while ((pdev =
>                        pci_get_subsys(pid->vendor, pid->device,
> pid->subvendor,
>                                       pid->subdevice, pdev)) != NULL) {
>                        /* stealth mode requires a manual probe */
>                        pci_dev_get(pdev);
>                        drm_get_dev(pdev, pid, driver);
>                }
>        }
>        return 0;
> 
> 
It's similar to code in my root post, so thanks for replies, it's maybe the best
way.

thanks,
- --
Jiri Slaby         www.fi.muni.cz/~xslaby
~\-/~      jirislaby@gmail.com      ~\-/~
B67499670407CE62ACC8 22A032CC55C339D47A7E
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFEfHqnMsxVwznUen4RAkQKAKCTZqlxtJwKTjlDP07ZAes9Jk5KOACgkSzt
zxyv1TitUGpv6rnppOiPyEI=
=3pfI
-----END PGP SIGNATURE-----

      parent reply	other threads:[~2006-05-30 17:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-27 23:13 searching for pci busses Jiri Slaby
2006-05-29 21:47 ` Greg KH
2006-05-29 21:59   ` Jeff Garzik
2006-05-30 16:38     ` Greg KH
2006-05-30 16:52       ` Jon Smirl
2006-05-30 16:58         ` Greg KH
2006-05-30 17:00         ` Matthew Wilcox
2006-05-30 17:19           ` Jon Smirl
2006-05-30 17:02         ` Jiri Slaby [this message]

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=447C7AA7.4080001@gmail.com \
    --to=jirislaby@gmail.com \
    --cc=greg@kroah.com \
    --cc=gregkh@suse.de \
    --cc=jgarzik@pobox.com \
    --cc=jonsmirl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.