From: Lars-Peter Clausen Date: Mon, 29 Dec 2014 18:41:44 +0000 (+0100) Subject: ALSA: pcm: Use __ffs() instead of ffs() in snd_mask_min() X-Git-Tag: firefly_0821_release~176^2~2367^2~104^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=599ee3291ae88700749e2910a11d1c0f0532355e;p=firefly-linux-kernel-4.4.55.git ALSA: pcm: Use __ffs() instead of ffs() in snd_mask_min() The difference between __ffs and ffs is that ffs will return a one based index whereas __ffs will return a zero based index. Furthermore ffs will check if the passed value is zero and return zero in that case, whereas __ffs behavior is undefined if the passed parameter is 0. Since we already check if the mask is 0 before calling ffs and also subtract 1 from the result __ffs is the better choice. Signed-off-by: Lars-Peter Clausen Signed-off-by: Takashi Iwai --- diff --git a/include/sound/pcm_params.h b/include/sound/pcm_params.h index 042049bab0b9..c99e20b0c4c9 100644 --- a/include/sound/pcm_params.h +++ b/include/sound/pcm_params.h @@ -92,7 +92,7 @@ static inline unsigned int snd_mask_min(const struct snd_mask *mask) int i; for (i = 0; i < SNDRV_MASK_SIZE; i++) { if (mask->bits[i]) - return ffs(mask->bits[i]) - 1 + (i << 5); + return __ffs(mask->bits[i]) + (i << 5); } return 0; }