Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef _LINUX_MCA_H
     13 #define _LINUX_MCA_H
     14 
     15 #include <linux/device.h>
     16 
     17 #define MCA_bus 0
     18 
     19 typedef int (*MCA_ProcFn)(char* buf, int slot, void* dev);
     20 
     21 enum MCA_AdapterStatus {
     22  MCA_ADAPTER_NORMAL = 0,
     23  MCA_ADAPTER_NONE = 1,
     24  MCA_ADAPTER_DISABLED = 2,
     25  MCA_ADAPTER_ERROR = 3
     26 };
     27 
     28 struct mca_device {
     29  u64 dma_mask;
     30  int pos_id;
     31  int slot;
     32 
     33  int index;
     34 
     35  int driver_loaded;
     36 
     37  unsigned char pos[8];
     38 
     39  short pos_register;
     40 
     41  enum MCA_AdapterStatus status;
     42  struct device dev;
     43  char name[32];
     44 };
     45 #define to_mca_device(mdev) container_of(mdev, struct mca_device, dev)
     46 
     47 struct mca_bus_accessor_functions {
     48  unsigned char (*mca_read_pos)(struct mca_device *, int reg);
     49  void (*mca_write_pos)(struct mca_device *, int reg,
     50  unsigned char byte);
     51  int (*mca_transform_irq)(struct mca_device *, int irq);
     52  int (*mca_transform_ioport)(struct mca_device *,
     53  int region);
     54  void * (*mca_transform_memory)(struct mca_device *,
     55  void *memory);
     56 };
     57 
     58 struct mca_bus {
     59  u64 default_dma_mask;
     60  int number;
     61  struct mca_bus_accessor_functions f;
     62  struct device dev;
     63  char name[32];
     64 };
     65 #define to_mca_bus(mdev) container_of(mdev, struct mca_bus, dev)
     66 
     67 struct mca_driver {
     68  const short *id_table;
     69  void *driver_data;
     70  struct device_driver driver;
     71 };
     72 #define to_mca_driver(mdriver) container_of(mdriver, struct mca_driver, driver)
     73 
     74 #endif
     75