summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGreg KH <gregkh@suse.de>2005-05-05 11:57:25 -0700
committerGreg KH <gregkh@suse.de>2005-05-17 14:31:12 -0700
commitd1ded203adf16b42ca90e9041120ae465ca5c4a6 (patch)
tree59c3218467807e1793fb4fc5d90141e072ab2212 /drivers
parent9888549e0507cc95d1d7ade1595c00ff8e902659 (diff)
downloadlinux-d1ded203adf16b42ca90e9041120ae465ca5c4a6.tar.gz
linux-d1ded203adf16b42ca90e9041120ae465ca5c4a6.tar.bz2
linux-d1ded203adf16b42ca90e9041120ae465ca5c4a6.zip
[PATCH] PCI: add MODALIAS to hotplug event for pci devices
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/hotplug.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pci/hotplug.c b/drivers/pci/hotplug.c
index 6a1a976c4bff..3903f8c559b6 100644
--- a/drivers/pci/hotplug.c
+++ b/drivers/pci/hotplug.c
@@ -52,6 +52,16 @@ int pci_hotplug (struct device *dev, char **envp, int num_envp,
if ((buffer_size - length <= 0) || (i >= num_envp))
return -ENOMEM;
+ envp[i++] = scratch;
+ length += scnprintf (scratch, buffer_size - length,
+ "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x\n",
+ pdev->vendor, pdev->device,
+ pdev->subsystem_vendor, pdev->subsystem_device,
+ (u8)(pdev->class >> 16), (u8)(pdev->class >> 8),
+ (u8)(pdev->class));
+ if ((buffer_size - length <= 0) || (i >= num_envp))
+ return -ENOMEM;
+
envp[i] = NULL;
return 0;