/* This is the callback function for the init_analysis cqr. It saves the status of the initial analysis ccw before it frees it and kicks the device to continue the startup sequence. This will call dasd_eckd_do_analysis again (if the devices has not been marked for deletion in the meantime).  */
static void dasd_eckd_analysis_callback(struct dasd_ccw_req *init_cqr, void *data)
/* This is the callback function for the init_analysis cqr. It saves the status of the initial analysis ccw before it frees it and kicks the device to continue the startup sequence. This will call dasd_eckd_do_analysis again (if the devices has not been marked for deletion in the meantime).  */
static void dasd_eckd_analysis_callback(struct dasd_ccw_req *init_cqr, void *data)
{
	struct dasd_eckd_private *private;
	struct dasd_device *device;
	device = init_cqr->startdev;
	private = (struct dasd_eckd_private *) device->private;
	private->init_cqr_status = dasd_eckd_analysis_evaluation(init_cqr);
	dasd_sfree_request(init_cqr, device);
	dasd_kick_device(device);
}