> From: anish kumar > > 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: anish kumar Ah.. we've got such a convinient one. Thanks. Singed-off-by: MyungJoo Ham > --- > drivers/extcon/extcon-class.c | 14 +++++--------- > 1 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c > index e09a6c3..06df95a 100644 > --- a/drivers/extcon/extcon-class.c > +++ b/drivers/extcon/extcon-class.c > @@ -89,17 +89,13 @@ static int check_mutually_exclusive(struct extcon_dev *edev, u32 new_state) > return 0; > > for (i = 0; edev->mutually_exclusive[i]; i++) { > - int count = 0, j; > + int weight; > u32 correspondants = new_state & edev->mutually_exclusive[i]; > - u32 exp = 1; > - > - for (j = 0; j < 32; j++) { > - if (exp & correspondants) > - count++; > - if (count > 1) > - return i + 1; > - exp <<= 1; > - } > + > + /* calculate the total number of bits set */ > + weight = hweight32(correspondants); > + if (weight > 1) > + return i + 1; > } > > return 0; > -- > 1.7.1 > > > > > > > > {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I