50 unsigned long rombase;
72 undi =
zalloc (
sizeof ( *undi ) );
80 DBGC ( undi,
"UNDI %p using preloaded UNDI device\n", undi );
99 goto err_undinet_probe;
127 PCI_ROM ( 0xffff, 0xffff,
"undipci",
"UNDI (PCI)", 0 ),
#define PCI_CLASS_ID(base, sub, progif)
Construct PCI class ID.
struct arbelprm_rc_send_wqe rc
struct pci_driver undipci_driver __pci_driver_fallback
FILE_LICENCE(GPL2_OR_LATER)
struct pci_device_id * ids
PCI ID table.
int undinet_probe(struct undi_device *undi, struct device *dev)
Probe UNDI device.
UNDI network device driver.
#define PCI_ROM_ADDRESS
PCI expansion ROM base address.
struct device dev
Generic device.
void undinet_remove(struct undi_device *undi)
Remove UNDI device.
static void pci_set_drvdata(struct pci_device *pci, void *priv)
Set PCI driver-private data.
#define ENOMEM
Not enough space.
void * memcpy(void *dest, const void *src, size_t len) __nonnull
uint16_t device
Device ID.
static int undipci_probe(struct pci_device *pci)
Probe PCI device.
unsigned long pci_bar_start(struct pci_device *pci, unsigned int reg)
Find the start of a PCI BAR.
static struct undi_rom * undipci_find_rom(struct pci_device *pci)
Find UNDI ROM for PCI device.
static void(* free)(struct refcnt *refcnt))
void * zalloc(size_t size)
Allocate cleared memory.
#define ENODEV
No such device.
int undi_unload(struct undi_device *undi)
Unload a pixie.
A PCI device ID list entry.
static int undi_load_pci(struct undi_device *undi, struct undi_rom *undirom, unsigned int pci_busdevfn)
Call UNDI loader to create a pixie.
uint16_t vendor
Vendor ID.
static void * pci_get_drvdata(struct pci_device *pci)
Get PCI driver-private data.
uint32_t busdevfn
Segment, bus, device, and function (bus:dev.fn) number.
static void undipci_remove(struct pci_device *pci)
Remove PCI device.
static struct pci_device_id undipci_nics[]
#define PCI_CLASS_NETWORK
struct undi_rom * undirom_find_pci(unsigned int vendor_id, unsigned int device_id, unsigned int rombase)
Find UNDI ROM for PCI device.
#define NULL
NULL pointer (VOID *)
#define PCI_ROM(_vendor, _device, _name, _description, _data)
#define PCI_ANY_ID
Match-anything ID.
void * memset(void *dest, int character, size_t len) __nonnull