- Use existing struct pci_device_table and related macros for device matching.
- Put the relevant flags in the static array of supported devices, so we don't need to figure them out separately once we've matched a device.
- Use snprintf instead of sprintf as an extra safeguard against memory corruption.
No change in functionality.