Page MenuHomeFreeBSD

D15995.id44615.diff
No OneTemporary

D15995.id44615.diff

Index: sys/dev/alc/if_alc.c
===================================================================
--- sys/dev/alc/if_alc.c
+++ sys/dev/alc/if_alc.c
@@ -239,6 +239,8 @@
static devclass_t alc_devclass;
DRIVER_MODULE(alc, pci, alc_driver, alc_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device", pci, alc, alc_ident_table,
+ sizeof(alc_ident_table[0]), nitems(alc_ident_table) - 1);
DRIVER_MODULE(miibus, alc, miibus_driver, miibus_devclass, 0, 0);
static struct resource_spec alc_res_spec_mem[] = {
Index: sys/dev/amdsmb/amdsmb.c
===================================================================
--- sys/dev/amdsmb/amdsmb.c
+++ sys/dev/amdsmb/amdsmb.c
@@ -125,20 +125,33 @@
static int amdsmb_detach(device_t dev);
+static struct amdsmb_dev {
+ uint16_t vendorid;
+ uint16_t deviceid;
+ const char *description;
+} amdsmb_devs[] = {
+ { AMDSMB_VENDORID_AMD, AMDSMB_DEVICEID_AMD8111_SMB2,
+ "AMD-8111 SMBus 2.0 Controller" },
+};
+
static int
amdsmb_probe(device_t dev)
{
+ const struct amdsmb_dev *asd;
u_int16_t vid;
u_int16_t did;
+ size_t i;
vid = pci_get_vendor(dev);
did = pci_get_device(dev);
if (vid == AMDSMB_VENDORID_AMD) {
- switch(did) {
- case AMDSMB_DEVICEID_AMD8111_SMB2:
- device_set_desc(dev, "AMD-8111 SMBus 2.0 Controller");
- return (BUS_PROBE_DEFAULT);
+ for (i=0; i < nitems(amdsmb_devs); i++) {
+ asd = &amdsmb_devs[i];
+ if (asd->deviceid == did) {
+ device_set_desc(dev, asd->description);
+ return (BUS_PROBE_DEFAULT);
+ }
}
}
@@ -578,6 +591,8 @@
};
DRIVER_MODULE(amdsmb, pci, amdsmb_driver, amdsmb_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, amdsmb, amdsmb_devs,
+ sizeof(amdsmb_devs[0]), nitems(amdsmb_devs));
DRIVER_MODULE(smbus, amdsmb, smbus_driver, smbus_devclass, 0, 0);
MODULE_DEPEND(amdsmb, pci, 1, 1, 1);
Index: sys/dev/bfe/if_bfe.c
===================================================================
--- sys/dev/bfe/if_bfe.c
+++ sys/dev/bfe/if_bfe.c
@@ -157,6 +157,8 @@
static devclass_t bfe_devclass;
DRIVER_MODULE(bfe, pci, bfe_driver, bfe_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, bfe, bfe_devs,
+ sizeof(bfe_devs[0]), nitems(bfe_devs) - 1);
DRIVER_MODULE(miibus, bfe, miibus_driver, miibus_devclass, 0, 0);
/*
Index: sys/dev/bge/if_bge.c
===================================================================
--- sys/dev/bge/if_bge.c
+++ sys/dev/bge/if_bge.c
@@ -543,6 +543,8 @@
static devclass_t bge_devclass;
DRIVER_MODULE(bge, pci, bge_driver, bge_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device", pci, bge, bge_devs,
+ sizeof(bge_devs), nitems(bge_devs) - 1);
DRIVER_MODULE(miibus, bge, miibus_driver, miibus_devclass, 0, 0);
static int bge_allow_asf = 1;
Index: sys/dev/ce/if_ce.c
===================================================================
--- sys/dev/ce/if_ce.c
+++ sys/dev/ce/if_ce.c
@@ -144,6 +144,15 @@
DEVMETHOD_END
};
+static struct ce_dev {
+ uint16_t vendorid;
+ uint16_t deviceid;
+ const char *description;
+} ce_devs[] = {
+ { TAU32_PCI_VENDOR_ID, TAU32_PCI_DEVICE_ID,
+ "Cronyx-Tau32-PCI serial adapter" },
+};
+
typedef struct _ce_dma_mem_t {
unsigned long phys;
void *virt;
@@ -2630,14 +2639,11 @@
#endif
#ifdef KLD_MODULE
DRIVER_MODULE (cemod, pci, ce_driver, ce_devclass, ce_modevent, NULL);
+MODULE_PNP_INFO("U16:vendor; U16:device;D:#", pci, cemod, ce_devs,
+ sizeof(ce_devs[0]), nitems(ce_devs));
#else
DRIVER_MODULE (ce, pci, ce_driver, ce_devclass, ce_modevent, NULL);
+MODULE_PNP_INFO("U16:vendor; U16:device;D:#", pci, ce, ce_devs,
+ sizeof(ce_devs[0]), nitems(ce_devs));
#endif
-#else /* if __FreeBSD_version < 500000*/
-#ifdef NETGRAPH
-DRIVER_MODULE (ce, pci, ce_driver, ce_devclass, ng_mod_event, &typestruct);
-#else
-DRIVER_MODULE (ce, pci, ce_driver, ce_devclass, ce_modevent, NULL);
-#endif
-#endif /* __FreeBSD_version < 500000 */
#endif /* NPCI */
Index: sys/dev/ciss/ciss.c
===================================================================
--- sys/dev/ciss/ciss.c
+++ sys/dev/ciss/ciss.c
@@ -204,73 +204,6 @@
static const char *ciss_name_ldrive_org(int org);
static const char *ciss_name_command_status(int status);
-/*
- * PCI bus interface.
- */
-static device_method_t ciss_methods[] = {
- /* Device interface */
- DEVMETHOD(device_probe, ciss_probe),
- DEVMETHOD(device_attach, ciss_attach),
- DEVMETHOD(device_detach, ciss_detach),
- DEVMETHOD(device_shutdown, ciss_shutdown),
- { 0, 0 }
-};
-
-static driver_t ciss_pci_driver = {
- "ciss",
- ciss_methods,
- sizeof(struct ciss_softc)
-};
-
-static devclass_t ciss_devclass;
-DRIVER_MODULE(ciss, pci, ciss_pci_driver, ciss_devclass, 0, 0);
-MODULE_DEPEND(ciss, cam, 1, 1, 1);
-MODULE_DEPEND(ciss, pci, 1, 1, 1);
-
-/*
- * Control device interface.
- */
-static d_open_t ciss_open;
-static d_close_t ciss_close;
-static d_ioctl_t ciss_ioctl;
-
-static struct cdevsw ciss_cdevsw = {
- .d_version = D_VERSION,
- .d_flags = 0,
- .d_open = ciss_open,
- .d_close = ciss_close,
- .d_ioctl = ciss_ioctl,
- .d_name = "ciss",
-};
-
-/*
- * This tunable can be set at boot time and controls whether physical devices
- * that are marked hidden by the firmware should be exposed anyways.
- */
-static unsigned int ciss_expose_hidden_physical = 0;
-TUNABLE_INT("hw.ciss.expose_hidden_physical", &ciss_expose_hidden_physical);
-
-static unsigned int ciss_nop_message_heartbeat = 0;
-TUNABLE_INT("hw.ciss.nop_message_heartbeat", &ciss_nop_message_heartbeat);
-
-/*
- * This tunable can force a particular transport to be used:
- * <= 0 : use default
- * 1 : force simple
- * 2 : force performant
- */
-static int ciss_force_transport = 0;
-TUNABLE_INT("hw.ciss.force_transport", &ciss_force_transport);
-
-/*
- * This tunable can force a particular interrupt delivery method to be used:
- * <= 0 : use default
- * 1 : force INTx
- * 2 : force MSIX
- */
-static int ciss_force_interrupt = 0;
-TUNABLE_INT("hw.ciss.force_interrupt", &ciss_force_interrupt);
-
/************************************************************************
* CISS adapters amazingly don't have a defined programming interface
* value. (One could say some very despairing things about PCI and
@@ -366,6 +299,76 @@
{ 0, 0, 0, NULL }
};
+/*
+ * PCI bus interface.
+ */
+static device_method_t ciss_methods[] = {
+ /* Device interface */
+ DEVMETHOD(device_probe, ciss_probe),
+ DEVMETHOD(device_attach, ciss_attach),
+ DEVMETHOD(device_detach, ciss_detach),
+ DEVMETHOD(device_shutdown, ciss_shutdown),
+ { 0, 0 }
+};
+
+static driver_t ciss_pci_driver = {
+ "ciss",
+ ciss_methods,
+ sizeof(struct ciss_softc)
+};
+
+static devclass_t ciss_devclass;
+DRIVER_MODULE(ciss, pci, ciss_pci_driver, ciss_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device", pci, ciss, ciss_vendor_data,
+ sizeof(ciss_vendor_data[0]), nitems(ciss_vendor_data) - 1);
+MODULE_DEPEND(ciss, cam, 1, 1, 1);
+MODULE_DEPEND(ciss, pci, 1, 1, 1);
+
+/*
+ * Control device interface.
+ */
+static d_open_t ciss_open;
+static d_close_t ciss_close;
+static d_ioctl_t ciss_ioctl;
+
+static struct cdevsw ciss_cdevsw = {
+ .d_version = D_VERSION,
+ .d_flags = 0,
+ .d_open = ciss_open,
+ .d_close = ciss_close,
+ .d_ioctl = ciss_ioctl,
+ .d_name = "ciss",
+};
+
+/*
+ * This tunable can be set at boot time and controls whether physical devices
+ * that are marked hidden by the firmware should be exposed anyways.
+ */
+static unsigned int ciss_expose_hidden_physical = 0;
+TUNABLE_INT("hw.ciss.expose_hidden_physical", &ciss_expose_hidden_physical);
+
+static unsigned int ciss_nop_message_heartbeat = 0;
+TUNABLE_INT("hw.ciss.nop_message_heartbeat", &ciss_nop_message_heartbeat);
+
+/*
+ * This tunable can force a particular transport to be used:
+ * <= 0 : use default
+ * 1 : force simple
+ * 2 : force performant
+ */
+static int ciss_force_transport = 0;
+TUNABLE_INT("hw.ciss.force_transport", &ciss_force_transport);
+
+/*
+ * This tunable can force a particular interrupt delivery method to be used:
+ * <= 0 : use default
+ * 1 : force INTx
+ * 2 : force MSIX
+ */
+static int ciss_force_interrupt = 0;
+TUNABLE_INT("hw.ciss.force_interrupt", &ciss_force_interrupt);
+
+
/************************************************************************
* Find a match for the device in our list of known adapters.
*/
Index: sys/dev/cp/if_cp.c
===================================================================
--- sys/dev/cp/if_cp.c
+++ sys/dev/cp/if_cp.c
@@ -87,6 +87,15 @@
static int cp_attach __P((device_t));
static int cp_detach __P((device_t));
+static struct cp_dev {
+ uint16_t vendorid;
+ uint16_t deviceid;
+ const char *description;
+} cp_devs[] = {
+ { cp_vendor_id, cp_device_id,
+ "Cronyx-Tau-PCI serial adapter" },
+};
+
static device_method_t cp_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, cp_probe),
@@ -201,9 +210,11 @@
static int cp_probe (device_t dev)
{
- if ((pci_get_vendor (dev) == cp_vendor_id) &&
- (pci_get_device (dev) == cp_device_id)) {
- device_set_desc (dev, "Cronyx-Tau-PCI serial adapter");
+ const struct cp_dev *cpd;
+ cpd = &cp_devs[0];
+ if ((pci_get_vendor (dev) == cp->vendorid) &&
+ (pci_get_device (dev) == cp->deviceid)) {
+ device_set_desc (dev, cp->description);
return BUS_PROBE_DEFAULT;
}
return ENXIO;
@@ -2266,4 +2277,6 @@
MODULE_DEPEND (cp, sppp, 1, 1, 1);
#endif
DRIVER_MODULE (cp, pci, cp_driver, cp_devclass, cp_modevent, NULL);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, cp, cp_devs,
+ sizeof(cp_devs[0]), nitems(cp_devs));
MODULE_VERSION (cp, 1);
Index: sys/dev/dc/if_dc.c
===================================================================
--- sys/dev/dc/if_dc.c
+++ sys/dev/dc/if_dc.c
@@ -359,6 +359,8 @@
DRIVER_MODULE_ORDERED(dc, pci, dc_driver, dc_devclass, NULL, NULL,
SI_ORDER_ANY);
+MODULE_PNP_INFO("W32:vendor/device", pci, dc, dc_devs,
+ sizeof(dc_devs[0]), nitems(dc_devs) - 1);
DRIVER_MODULE(miibus, dc, miibus_driver, miibus_devclass, NULL, NULL);
#define DC_SETBIT(sc, reg, x) \
Index: sys/dev/dpt/dpt_pci.c
===================================================================
--- sys/dev/dpt/dpt_pci.c
+++ sys/dev/dpt/dpt_pci.c
@@ -62,12 +62,28 @@
static int dpt_pci_probe (device_t);
static int dpt_pci_attach (device_t);
+static struct dpt_dev {
+ uint16_t vendorid;
+ uint16_t deviceid;
+ const char *description;
+} dpt_devs[] = {
+ { DPT_VENDOR_ID, DPT_DEVICE_ID,
+ "DPT Caching SCSI RAID Controller"},
+};
+
static int
dpt_pci_probe (device_t dev)
{
- if ((pci_get_vendor(dev) == DPT_VENDOR_ID) &&
- (pci_get_device(dev) == DPT_DEVICE_ID)) {
- device_set_desc(dev, "DPT Caching SCSI RAID Controller");
+ const struct dpt_dev *dpd;
+ uint16_t vid;
+ uint16_t did;
+
+ vid = pci_get_vendor(dev);
+ did = pci_get_device(dev);
+ dpd = &dpt_devs[0];
+ if ((vid == DPT_VENDOR_ID) &&
+ (did == DPT_DEVICE_ID)) {
+ device_set_desc(dev, dpd->description);
return (BUS_PROBE_DEFAULT);
}
return (ENXIO);
@@ -185,5 +201,7 @@
};
DRIVER_MODULE(dpt, pci, dpt_pci_driver, dpt_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, dpt, dpt_devs,
+ sizeof(dpt_devs[0]), nitems(dpt_devs));
MODULE_DEPEND(dpt, pci, 1, 1, 1);
MODULE_DEPEND(dpt, cam, 1, 1, 1);

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 2, 1:24 PM (6 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37963438
Default Alt Text
D15995.id44615.diff (11 KB)

Event Timeline