/* Returns 0 on success or negative error code on failure.  */
static int __init i2o_iop_init(void)
/* Returns 0 on success or negative error code on failure.  */
static int __init i2o_iop_init(void)
{
	int rc = 0;
	printk(KERN_INFO OSM_DESCRIPTION " v" OSM_VERSION "\n");
	if ((rc = i2o_driver_init()))
		goto exit;
	if ((rc = i2o_exec_init()))
		goto driver_exit;
	if ((rc = i2o_pci_init()))
		goto exec_exit;
	return 0;
      exec_exit:
	i2o_exec_exit();
      driver_exit:
	i2o_driver_exit();
      exit:
	return rc;
}