lkml.org 
[lkml]   [1999]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.3.18ac8 doesn't detect tulip (again!)
Matti Aarnio wrote:
> > How the chip->id.pci_mask and chip->id.subsystem_mask are made ?
> > And what are the values that are then compared.
> >
> > This relates to the question of how those two variables must be
> > constructed.
>
> The 'struct pci_id_info' is so far used only by network driver cards
> which Donald Becker has written ( in drivers/net/*.c ), and they have
> hand-coded matcher literals:
[...]

Is there a good reason for id_mask/subsystem_mask to exist at all?

Although the in-driver tables must be changed, it seems much more
logical and simple to split the 'struct match_info' into vendor/device
id pairs and eliminate *_mask.

With that change,
o the number of match_info members stays the same
o the structure gets smaller (4 * u16 instead of 4 * u32)
o you can use constants from pci.h instead of having a literal hex
constant in the code
o there is absolutely NO confusion as to where the vendor/device ids are
placed in the structure

And a fifth item: from length of this thread, it is also obvious that
the current pci_scan method is error prone. Using vendor/device id
pairs is what the normal pci_find_xxx functions use... why not continue
to walk down that path?

Regards,

Jeff




--
Custom driver development | Never worry about theory as long
Open source programming | as the machinery does what it's
| supposed to do. -- R. A. Heinlein

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:54    [W:0.243 / U:0.908 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site