import os
import re
+# These are modules which are only returned if no other driver is available
+greylist = ["ata_generic", "eepro100", "8139cp", "e1000e"]
+
class PCIMap:
"""Encapsulates modules.pcimap"""
def __init__(self, filename):
"""Returns a list of candidate modules for the PCI device specified in tuple"""
ret = []
for i in self.list:
- if ((i[1] == tuple[0] or i[1] == 0xffffffff) and
- (i[2] == tuple[1] or i[2] == 0xffffffff) and
- (i[3] == tuple[2] or i[3] == 0xffffffff) and
- (i[4] == tuple[3] or i[4] == 0xffffffff) and
+ if ((i[1] == tuple[0] or i[1] == 0xffffffffL) and
+ (i[2] == tuple[1] or i[2] == 0xffffffffL) and
+ (i[3] == tuple[2] or i[3] == 0xffffffffL) and
+ (i[4] == tuple[3] or i[4] == 0xffffffffL) and
(i[5] == (tuple[4] & i[6]))):
ret.append(i[0])
+ for i in greylist:
+ if i in ret and len(ret) > 1:
+ ret.remove(i)
return ret
def add(self, list):
# FIXME: check values