diff --git a/drivers/ddr/altera/sdram.c b/drivers/ddr/altera/sdram.c
index 474df4265417eb6d9d20a8248864d1c566c8d418..9e6acfe13b773fe137f39ffde63da0d548a60e06 100644
--- a/drivers/ddr/altera/sdram.c
+++ b/drivers/ddr/altera/sdram.c
@@ -64,7 +64,7 @@ static int compute_errata_rows(unsigned long long memsize, int cs, int width,
 	 * Need to see if result is ordinal power of 2 before
 	 * attempting log2 of result.
 	 */
-	bits = hweight32(newrows);
+	bits = generic_hweight32(newrows);
 
 	debug("rows workaround - bits %d\n", bits);