linux/drivers/pci/hotplug.c
<<
>>
Prefs
   1#include <linux/kernel.h>
   2#include <linux/pci.h>
   3#include <linux/module.h>
   4#include "pci.h"
   5
   6int pci_uevent(struct device *dev, struct kobj_uevent_env *env)
   7{
   8        struct pci_dev *pdev;
   9
  10        if (!dev)
  11                return -ENODEV;
  12
  13        pdev = to_pci_dev(dev);
  14        if (!pdev)
  15                return -ENODEV;
  16
  17        if (add_uevent_var(env, "PCI_CLASS=%04X", pdev->class))
  18                return -ENOMEM;
  19
  20        if (add_uevent_var(env, "PCI_ID=%04X:%04X", pdev->vendor, pdev->device))
  21                return -ENOMEM;
  22
  23        if (add_uevent_var(env, "PCI_SUBSYS_ID=%04X:%04X", pdev->subsystem_vendor,
  24                           pdev->subsystem_device))
  25                return -ENOMEM;
  26
  27        if (add_uevent_var(env, "PCI_SLOT_NAME=%s", pci_name(pdev)))
  28                return -ENOMEM;
  29
  30        if (add_uevent_var(env, "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x",
  31                           pdev->vendor, pdev->device,
  32                           pdev->subsystem_vendor, pdev->subsystem_device,
  33                           (u8)(pdev->class >> 16), (u8)(pdev->class >> 8),
  34                           (u8)(pdev->class)))
  35                return -ENOMEM;
  36        return 0;
  37}
  38