linux/drivers/message/i2o/core.h
<<
>>
Prefs
   1/*
   2 *      I2O core internal declarations
   3 *
   4 *      Copyright (C) 2005      Markus Lidel <Markus.Lidel@shadowconnect.com>
   5 *
   6 *      This program is free software; you can redistribute it and/or modify it
   7 *      under the terms of the GNU General Public License as published by the
   8 *      Free Software Foundation; either version 2 of the License, or (at your
   9 *      option) any later version.
  10 *
  11 *      Fixes/additions:
  12 *              Markus Lidel <Markus.Lidel@shadowconnect.com>
  13 *                      initial version.
  14 */
  15
  16/* Exec-OSM */
  17extern struct i2o_driver i2o_exec_driver;
  18extern int i2o_exec_lct_get(struct i2o_controller *);
  19
  20extern int __init i2o_exec_init(void);
  21extern void i2o_exec_exit(void);
  22
  23/* driver */
  24extern struct bus_type i2o_bus_type;
  25
  26extern int i2o_driver_dispatch(struct i2o_controller *, u32);
  27
  28extern int __init i2o_driver_init(void);
  29extern void i2o_driver_exit(void);
  30
  31/* PCI */
  32extern int __init i2o_pci_init(void);
  33extern void __exit i2o_pci_exit(void);
  34
  35/* device */
  36extern struct device_attribute i2o_device_attrs[];
  37
  38extern void i2o_device_remove(struct i2o_device *);
  39extern int i2o_device_parse_lct(struct i2o_controller *);
  40
  41int i2o_parm_issue(struct i2o_device *i2o_dev, int cmd, void *oplist,
  42                   int oplen, void *reslist, int reslen);
  43
  44/* IOP */
  45extern struct i2o_controller *i2o_iop_alloc(void);
  46
  47/**
  48 *      i2o_iop_free - Free the i2o_controller struct
  49 *      @c: I2O controller to free
  50 */
  51static inline void i2o_iop_free(struct i2o_controller *c)
  52{
  53        i2o_pool_free(&c->in_msg);
  54        kfree(c);
  55}
  56
  57extern int i2o_iop_add(struct i2o_controller *);
  58extern void i2o_iop_remove(struct i2o_controller *);
  59
  60/* control registers relative to c->base */
  61#define I2O_IRQ_STATUS  0x30
  62#define I2O_IRQ_MASK    0x34
  63#define I2O_IN_PORT     0x40
  64#define I2O_OUT_PORT    0x44
  65
  66/* Motorola/Freescale specific register offset */
  67#define I2O_MOTOROLA_PORT_OFFSET        0x10400
  68
  69#define I2O_IRQ_OUTBOUND_POST   0x00000008
  70