iPXE
|
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <ipxe/io.h>
#include <unistd.h>
#include <ipxe/eisa.h>
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_OR_LATER) | |
static void | eisabus_remove (struct root_device *rootdev) |
Remove EISA root bus. More... | |
void | eisa_device_enabled (struct eisa_device *eisa, int enabled) |
Reset and enable/disable an EISA device. More... | |
static int | eisa_probe (struct eisa_device *eisa) |
Probe an EISA device. More... | |
static void | eisa_remove (struct eisa_device *eisa) |
Remove an EISA device. More... | |
static int | eisabus_probe (struct root_device *rootdev) |
Probe EISA root bus. More... | |
Variables | |
static struct root_driver | eisa_root_driver |
EISA bus root device driver. More... | |
struct root_device eisa_root_device | __root_device |
EISA bus root device. More... | |
FILE_LICENCE | ( | GPL2_OR_LATER | ) |
|
static |
Remove EISA root bus.
rootdev | EISA bus root device |
Definition at line 168 of file eisa.c.
References device::children, eisa_device::dev, root_device::dev, eisa_remove(), free, list_del, list_for_each_entry_safe, device::siblings, and tmp.
Referenced by eisabus_probe().
void eisa_device_enabled | ( | struct eisa_device * | eisa, |
int | enabled | ||
) |
Reset and enable/disable an EISA device.
eisa | EISA device |
enabled | 1=enable, 0=disable |
Definition at line 20 of file eisa.c.
References DBG, EISA_CMD_ENABLE, EISA_CMD_RESET, EISA_GLOBAL_CONFIG, enabled, eisa_device::ioaddr, outb, eisa_device::slot, and udelay().
Referenced by disable_eisa_device(), and enable_eisa_device().
|
static |
Probe an EISA device.
eisa | EISA device |
rc | Return status code |
Searches for a driver for the EISA device. If a driver is found, its probe() routine is called.
Definition at line 47 of file eisa.c.
References DBG, eisa_device::dev, eisa_device::driver, device::driver_name, EISA_DRIVERS, ENOTTY, for_each_table_entry, id, eisa_driver::id_count, eisa_driver::ids, eisa_device::ioaddr, isa_id_string(), ISA_PROD_ID, eisa_driver::probe, eisa_device::prod_id, rc, eisa_device::slot, and eisa_device::vendor_id.
Referenced by eisabus_probe().
|
static |
Remove an EISA device.
eisa | EISA device |
Definition at line 85 of file eisa.c.
References DBG, eisa_device::driver, eisa_driver::remove, and eisa_device::slot.
Referenced by eisabus_remove().
|
static |
Probe EISA root bus.
rootdev | EISA bus root device |
Scans the EISA bus for devices and registers all devices it can find.
Definition at line 98 of file eisa.c.
References device_description::bus_type, BUS_TYPE_EISA, device::children, DBG, device::desc, eisa_device::dev, root_device::dev, device_description::device, EISA_MAX_SLOT, EISA_MIN_SLOT, eisa_probe(), EISA_PROD_ID, EISA_SLOT_BASE, EISA_VENDOR_ID, eisabus_remove(), ENODEV, ENOMEM, free, inb(), INIT_LIST_HEAD, inw(), eisa_device::ioaddr, le16_to_cpu, list_add, list_del, malloc(), memset(), device::name, NULL, outb, device::parent, eisa_device::prod_id, rc, device::siblings, slot, eisa_device::slot, snprintf(), system, device_description::vendor, and eisa_device::vendor_id.
|
static |
EISA bus root device driver.
struct root_device eisa_root_device __root_device |
EISA bus root device.