/* chsc_chp_vary - propagate channel-path vary operation to subchannels @chpid: channl-path ID @on: non-zero for vary online, zero for vary offline  */
int chsc_chp_vary(struct chp_id chpid, int on)
/* chsc_chp_vary - propagate channel-path vary operation to subchannels @chpid: channl-path ID @on: non-zero for vary online, zero for vary offline  */
int chsc_chp_vary(struct chp_id chpid, int on)
{
	struct chp_link link;
	memset(&link, 0, sizeof(struct chp_link));
	link.chpid = chpid;
	css_wait_for_slow_path();
	if (on)
		for_each_subchannel_staged(s390_subchannel_vary_chpid_on,
					   __s390_vary_chpid_on, &link);
	else
		for_each_subchannel_staged(s390_subchannel_vary_chpid_off,
					   NULL, &link);
	return 0;
}