Skip to content

Commit

Permalink
Add PNP info to PCI attachment of glxsb driver
Browse files Browse the repository at this point in the history
Reviewed by: imp, chuck
Submitted by: Lakhan Shiva Kamireddy <lakhanshiva@gmail.com>
Sponsored by: Google, Inc. (GSoC 2018)
Pull Request: #5
  • Loading branch information
lakhanshiva authored and bsdimp committed Jul 8, 2018
1 parent bfc1d06 commit 7d7aecc
Showing 1 changed file with 26 additions and 6 deletions.
32 changes: 26 additions & 6 deletions sys/dev/glxsb/glxsb.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,16 @@ static int glxsb_crypto_encdec(struct cryptop *, struct cryptodesc *,
static void glxsb_crypto_task(void *, int);
static int glxsb_crypto_process(device_t, struct cryptop *, int);

static struct glxsb_dev{
uint16_t vendorid;
uint16_t deviceid;
const char *description;
} glxsb_devs[] = {
{PCI_VENDOR_AMD, PCI_PRODUCT_AMD_GEODE_LX_CRYPTO,
"AMD Geode LX Security Block (AES-128-CBC, RNG)"},
{0, 0, NULL},
};

static device_method_t glxsb_methods[] = {
/* device interface */
DEVMETHOD(device_probe, glxsb_probe),
Expand All @@ -242,18 +252,28 @@ static driver_t glxsb_driver = {
static devclass_t glxsb_devclass;

DRIVER_MODULE(glxsb, pci, glxsb_driver, glxsb_devclass, 0, 0);
MODULE_PNP_INFO("U16:vendor;U16:device", pci, glxsb, glxsb_devs,
sizeof(glxsb_devs[0]), nitems(glxsb_devs) - 1);
MODULE_VERSION(glxsb, 1);
MODULE_DEPEND(glxsb, crypto, 1, 1, 1);

static int
glxsb_probe(device_t dev)
{

if (pci_get_vendor(dev) == PCI_VENDOR_AMD &&
pci_get_device(dev) == PCI_PRODUCT_AMD_GEODE_LX_CRYPTO) {
device_set_desc(dev,
"AMD Geode LX Security Block (AES-128-CBC, RNG)");
return (BUS_PROBE_DEFAULT);
uint16_t vid;
uint16_t did;
const struct glxsb_dev *glxd;
size_t i;

vid = pci_get_vendor(dev);
did = pci_get_device(dev);
for(i=0; i<nitems(glxsb_devs) - 1; i++){
glxd = &glxd_devs[i];
if (vid == glxd->vendorid &&
did == glxd->deviceid){
device_set_desc(dev, glxd->description);
return (BUS_PROBE_DEFAULT);
}
}

return (ENXIO);
Expand Down

0 comments on commit 7d7aecc

Please sign in to comment.