uint64_t status;
static int __init tiocx_init(void){	cnodeid_t cnodeid;	int found_tiocx_device = 0;	bus_register(&tiocx_bus_type);	for (cnodeid = 0; cnodeid < MAX_COMPACT_NODES; cnodeid++) {		nasid_t nasid;		if ((nasid = cnodeid_to_nasid(cnodeid)) < 0)			break;	/* No more nasids .. bail out of loop */		if (nasid & 0x1) {	/* TIO's are always odd */			struct hubdev_info *hubdev;			uint64_t status;			struct xwidget_info *widgetp;			DBG("Found TIO at nasid 0x%x\n", nasid);			hubdev =			    (struct hubdev_info *)(NODEPDA(cnodeid)->pdinfo);			status =			    tiocx_get_hubdev_info(nasid,						  (uint64_t) __pa(hubdev));			if (status)				continue;			widgetp = &hubdev->hdi_xwidget_info[TIOCX_CORELET];			/* The CE hangs off of the CX port but is not an FPGA */			if (widgetp->xwi_hwid.part_num == TIO_CE_ASIC_PARTNUM)				continue;			tio_corelet_reset(nasid, TIOCX_CORELET);			tio_conveyor_enable(nasid);			if (cx_device_register			    (nasid, widgetp->xwi_hwid.part_num,			     widgetp->xwi_hwid.mfg_num, hubdev) < 0)				return -ENXIO;			else				found_tiocx_device++;		}	}	/* It's ok if we find zero devices. */	DBG("found_tiocx_device= %d\n", found_tiocx_device);	return 0;}