extern int i2o_iop_add(struct i2o_controller *);
 extern void i2o_iop_remove(struct i2o_controller *);
 
+/* config */
+extern int i2o_parm_issue(struct i2o_device *, int, void *, int, void *, int);
+
 /* control registers relative to c->base */
 #define I2O_IRQ_STATUS 0x30
 #define I2O_IRQ_MASK   0x34
 
  *     Note that the minimum sized reslist is 8 bytes and contains
  *     ResultCount, ErrorInfoSize, BlockStatus and BlockSize.
  */
-static int i2o_parm_issue(struct i2o_device *i2o_dev, int cmd, void *oplist,
+int i2o_parm_issue(struct i2o_device *i2o_dev, int cmd, void *oplist,
                          int oplen, void *reslist, int reslen)
 {
        struct i2o_message __iomem *msg;
 
 
 #include <asm/uaccess.h>
 
-#define SG_TABLESIZE           30
+#include "core.h"
 
-extern int i2o_parm_issue(struct i2o_device *, int, void *, int, void *, int);
+#define SG_TABLESIZE           30
 
 static int i2o_cfg_ioctl(struct inode *inode, struct file *fp, unsigned int cmd,
                         unsigned long arg);