diff options
Diffstat (limited to 'gpxe/src/include/gpxe/eisa.h')
-rw-r--r-- | gpxe/src/include/gpxe/eisa.h | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/gpxe/src/include/gpxe/eisa.h b/gpxe/src/include/gpxe/eisa.h deleted file mode 100644 index f76e4b9d..00000000 --- a/gpxe/src/include/gpxe/eisa.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef EISA_H -#define EISA_H - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include <stdint.h> -#include <gpxe/isa_ids.h> -#include <gpxe/device.h> -#include <gpxe/tables.h> - -/* - * EISA constants - * - */ - -#define EISA_MIN_SLOT (0x1) -#define EISA_MAX_SLOT (0xf) /* Must be 2^n - 1 */ -#define EISA_SLOT_BASE( n ) ( 0x1000 * (n) ) - -#define EISA_VENDOR_ID ( 0xc80 ) -#define EISA_PROD_ID ( 0xc82 ) -#define EISA_GLOBAL_CONFIG ( 0xc84 ) - -#define EISA_CMD_RESET ( 1 << 2 ) -#define EISA_CMD_ENABLE ( 1 << 0 ) - -/** An EISA device ID list entry */ -struct eisa_device_id { - /** Name */ - const char *name; - /** Manufacturer ID */ - uint16_t vendor_id; - /** Product ID */ - uint16_t prod_id; -}; - -/** An EISA device */ -struct eisa_device { - /** Generic device */ - struct device dev; - /** Slot number */ - unsigned int slot; - /** I/O address */ - uint16_t ioaddr; - /** Manufacturer ID */ - uint16_t vendor_id; - /** Product ID */ - uint16_t prod_id; - /** Driver for this device */ - struct eisa_driver *driver; - /** Driver-private data - * - * Use eisa_set_drvdata() and eisa_get_drvdata() to access - * this field. - */ - void *priv; - /** Driver name */ - const char *driver_name; -}; - -/** An EISA driver */ -struct eisa_driver { - /** EISA ID table */ - struct eisa_device_id *ids; - /** Number of entries in EISA ID table */ - unsigned int id_count; - /** - * Probe device - * - * @v eisa EISA device - * @v id Matching entry in ID table - * @ret rc Return status code - */ - int ( * probe ) ( struct eisa_device *eisa, - const struct eisa_device_id *id ); - /** - * Remove device - * - * @v eisa EISA device - */ - void ( * remove ) ( struct eisa_device *eisa ); -}; - -/** EISA driver table */ -#define EISA_DRIVERS __table ( struct eisa_driver, "eisa_drivers" ) - -/** Declare an EISA driver */ -#define __eisa_driver __table_entry ( EISA_DRIVERS, 01 ) - -extern void eisa_device_enabled ( struct eisa_device *eisa, int enabled ); - -/** - * Enable EISA device - * - * @v eisa EISA device - */ -static inline void enable_eisa_device ( struct eisa_device *eisa ) { - eisa_device_enabled ( eisa, 1 ); -} - -/** - * Disable EISA device - * - * @v eisa EISA device - */ -static inline void disable_eisa_device ( struct eisa_device *eisa ) { - eisa_device_enabled ( eisa, 0 ); -} - -/** - * Set EISA driver-private data - * - * @v eisa EISA device - * @v priv Private data - */ -static inline void eisa_set_drvdata ( struct eisa_device *eisa, void *priv ) { - eisa->priv = priv; -} - -/** - * Get EISA driver-private data - * - * @v eisa EISA device - * @ret priv Private data - */ -static inline void * eisa_get_drvdata ( struct eisa_device *eisa ) { - return eisa->priv; -} - -#endif /* EISA_H */ |