|
2
24th February 14:25
External User
|
i8255x
Senen,
I'm 98% confident that you can just add a check for the device ID of
your device to the if_pro100b driver, where it calls drm_get_handle(),
and that'll work. I recently did it for an 82562.
The corresponding part of the driver now looks like:
#if defined(__drm__)
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1229,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1209,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1030,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1031,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1032,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1033,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1034,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1035,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1036,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1037,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1038,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1039,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x103a,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x103b,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x103c,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x103d,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x103e,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1050,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1051,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1059,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1064,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x1068,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x2449,
&sc->pro_handle) == OK)
found = 1;
if(!found)
if(drm_get_handle(PCI_BUSLAYER, 0x8086, 0x27dc,
&sc->pro_handle) == OK)
found = 1;
if (!found) {
idebug(("PRO/100B chip not found\n"));
goto fail;
}
--
Cyril
|