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

Commit 28c0ada6 authored by anish kumar's avatar anish kumar Committed by MyungJoo Ham
Browse files

extcon: optimising the check_mutually_exclusive function



Rather than re-inventing the wheel we can use the hamming function
to calculate the number of bits set to check for violation of
exclusivity.

Signed-off-by: default avataranish kumar <anish198519851985@gmail.com>
Signed-off-by: default avatarMyungJoo Ham <myungjoo.ham@samsung.com>
parent 0cf6ad8a
Loading
Loading
Loading
Loading
+6 −10
Original line number Original line Diff line number Diff line
@@ -89,17 +89,13 @@ static int check_mutually_exclusive(struct extcon_dev *edev, u32 new_state)
		return 0;
		return 0;


	for (i = 0; edev->mutually_exclusive[i]; i++) {
	for (i = 0; edev->mutually_exclusive[i]; i++) {
		int count = 0, j;
		int weight;
		u32 correspondants = new_state & edev->mutually_exclusive[i];
		u32 correspondants = new_state & edev->mutually_exclusive[i];
		u32 exp = 1;


		for (j = 0; j < 32; j++) {
		/* calculate the total number of bits set */
			if (exp & correspondants)
		weight = hweight32(correspondants);
				count++;
		if (weight > 1)
			if (count > 1)
			return i + 1;
			return i + 1;
			exp <<= 1;
		}
	}
	}


	return 0;
	return 0;