aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-12-29 13:41:44 -0500
committerTakashi Iwai <tiwai@suse.de>2014-12-30 10:41:55 -0500
commit599ee3291ae88700749e2910a11d1c0f0532355e (patch)
tree5ac39478682e3aa5d33d47bc871726c7d4578822
parentcd9978f1d3dbb9596a7ab9c652cb0d9b355489b5 (diff)
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 <lars@metafoo.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--include/sound/pcm_params.h2
1 files changed, 1 insertions, 1 deletions
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)
92 int i; 92 int i;
93 for (i = 0; i < SNDRV_MASK_SIZE; i++) { 93 for (i = 0; i < SNDRV_MASK_SIZE; i++) {
94 if (mask->bits[i]) 94 if (mask->bits[i])
95 return ffs(mask->bits[i]) - 1 + (i << 5); 95 return __ffs(mask->bits[i]) + (i << 5);
96 } 96 }
97 return 0; 97 return 0;
98} 98}