Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad7d8193 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Paul Mackerras
Browse files

[POWERPC] PS3: Refactor ps3_repository_find_device()



PS3: Refactor ps3_repository_find_device() to use the existing
ps3_repository_read_bus_id() routine.

Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 0a468937
Loading
Loading
Loading
Loading
+22 −38
Original line number Diff line number Diff line
@@ -445,35 +445,22 @@ int __devinit ps3_repository_find_devices(enum ps3_bus_type bus_type,

	pr_debug(" -> %s:%d: find bus_type %u\n", __func__, __LINE__, bus_type);

	for (repo.bus_index = 0; repo.bus_index < 10; repo.bus_index++) {

		result = ps3_repository_read_bus_type(repo.bus_index,
			&repo.bus_type);

	repo.bus_type = bus_type;
	result = ps3_repository_find_bus(repo.bus_type, 0, &repo.bus_index);
	if (result) {
			pr_debug("%s:%d read_bus_type(%u) failed\n",
				__func__, __LINE__, repo.bus_index);
			break;
		}

		if (repo.bus_type != bus_type) {
			pr_debug("%s:%d: skip, bus_type %u\n", __func__,
				__LINE__, repo.bus_type);
			continue;
		pr_debug(" <- %s:%u: bus not found\n", __func__, __LINE__);
		return result;
	}

		result = ps3_repository_read_bus_id(repo.bus_index,
			&repo.bus_id);

	result = ps3_repository_read_bus_id(repo.bus_index, &repo.bus_id);
	if (result) {
			pr_debug("%s:%d read_bus_id(%u) failed\n",
				__func__, __LINE__, repo.bus_index);
			continue;
		pr_debug("%s:%d read_bus_id(%u) failed\n", __func__, __LINE__,
			 repo.bus_index);
		return result;
	}

	for (repo.dev_index = 0; ; repo.dev_index++) {
		result = ps3_repository_find_device(&repo);

		if (result == -ENODEV) {
			result = 0;
			break;
@@ -481,15 +468,12 @@ int __devinit ps3_repository_find_devices(enum ps3_bus_type bus_type,
			break;

		result = callback(&repo);

		if (result) {
			pr_debug("%s:%d: abort at callback\n", __func__,
				__LINE__);
			break;
		}
	}
		break;
	}

	pr_debug(" <- %s:%d\n", __func__, __LINE__);
	return result;