Example #1
0
int adb_iop_send_request(struct adb_request *req, int sync)
{
	int err;

	err = adb_iop_write(req);
	if (err) return err;

	if (sync) {
		while (!req->complete) adb_iop_poll();
	}
	return 0;
}
int adb_iop_reset_bus(void)
{
	struct adb_request req;

	req.reply_expected = 0;
	req.nbytes = 2;
	req.data[0] = ADB_PACKET;
	req.data[1] = 0; /* RESET */
	adb_iop_write(&req);
	while (!req.complete) adb_iop_poll();
	return 0;
}
Example #3
0
int adb_iop_reset_bus(void)
{
	struct adb_request req = {
		.reply_expected = 0,
		.nbytes = 2,
		.data = { ADB_PACKET, 0 },
	};

	adb_iop_write(&req);
	while (!req.complete) {
		adb_iop_poll();
		schedule();
	}

	return 0;
}