diff --git a/kernel/spec-pci.c b/kernel/spec-pci.c index cf82b83ad838ed6d2c0979d59fd947be8f11633d..8678b498d856fe013e77e2266ec671b7c93c6ab2 100644 --- a/kernel/spec-pci.c +++ b/kernel/spec-pci.c @@ -144,6 +144,9 @@ static int spec_probe(struct pci_dev *pdev, if (ret) goto out_unmap; + snprintf(spec->name, SPEC_NAME_LEN, "spec-%04x", + spec->pdev->bus->number << 8 | spec->pdev->devfn); + /* Done */ pci_set_drvdata(pdev, spec); return 0; diff --git a/kernel/spec.h b/kernel/spec.h index e0ab02a7fe011d9ced7a1170043a2dd40026bddc..35ac77987d75ce9627835678e53f92fc18a3d1cb 100644 --- a/kernel/spec.h +++ b/kernel/spec.h @@ -22,6 +22,8 @@ #define SPEC_DEFAULT_LM32_ADDR 0x80000 /* used if "1" is passed */ +#define SPEC_NAME_LEN 10 + /* Our device structure */ struct spec_dev { struct pci_dev *pdev; @@ -35,6 +37,8 @@ struct spec_dev { struct gpio_chip *gpio; struct vic_irq_controller *vic; spinlock_t irq_lock; + + char name[SPEC_NAME_LEN]; }; #define SPEC_FLAG_FAKE_EEPROM 0x00000001