/* Make sure all subchannels are quiet before we re-ipl an lpar. */ void reipl(unsigned long devno) { clear_all_subchannels(); cio_reset_channel_paths(); do_reipl(devno); }
/* Make sure all subchannels are quiet before we re-ipl an lpar. */ void reipl(unsigned long devno) { unsigned int schid; local_irq_disable(); for (schid=0;schid<=highest_subchannel;schid++) { struct schib schib; if (stsch(schid, &schib)) goto out; if (!schib.pmcw.ena) continue; switch(__disable_subchannel_easy(schid, &schib)) { case 0: case -ENODEV: break; default: /* -EBUSY */ if (__clear_subchannel_easy(schid)) break; /* give up... */ stsch(schid, &schib); __disable_subchannel_easy(schid, &schib); } } out: do_reipl(devno); }
/* Make sure all subchannels are quiet before we re-ipl an lpar. */ void reipl(unsigned long devno) { clear_all_subchannels(); do_reipl(devno); }
/* * Reboot, halt and power_off routines for non SMP. */ static void do_machine_restart_nonsmp(char * __unused) { do_reipl(); }