1 #include <linux/kernel.h>
3 #include <linux/module.h>
6 int pci_uevent(struct device
*dev
, char **envp
, int num_envp
,
7 char *buffer
, int buffer_size
)
16 pdev
= to_pci_dev(dev
);
20 if (add_uevent_var(envp
, num_envp
, &i
,
21 buffer
, buffer_size
, &length
,
22 "PCI_CLASS=%04X", pdev
->class))
25 if (add_uevent_var(envp
, num_envp
, &i
,
26 buffer
, buffer_size
, &length
,
27 "PCI_ID=%04X:%04X", pdev
->vendor
, pdev
->device
))
30 if (add_uevent_var(envp
, num_envp
, &i
,
31 buffer
, buffer_size
, &length
,
32 "PCI_SUBSYS_ID=%04X:%04X", pdev
->subsystem_vendor
,
33 pdev
->subsystem_device
))
36 if (add_uevent_var(envp
, num_envp
, &i
,
37 buffer
, buffer_size
, &length
,
38 "PCI_SLOT_NAME=%s", pci_name(pdev
)))
41 if (add_uevent_var(envp
, num_envp
, &i
,
42 buffer
, buffer_size
, &length
,
43 "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x",
44 pdev
->vendor
, pdev
->device
,
45 pdev
->subsystem_vendor
, pdev
->subsystem_device
,
46 (u8
)(pdev
->class >> 16), (u8
)(pdev
->class >> 8),