diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
index 01df4907c0e30..65775c6e8c272 100644
--- a/arch/arm/mach-omap2/sr_device.c
+++ b/arch/arm/mach-omap2/sr_device.c
@@ -44,9 +44,7 @@ static void __init sr_set_nvalues(struct omap_volt_data *volt_data,
 	while (volt_data[count].volt_nominal)
 		count++;
 
-	nvalue_table = kzalloc(sizeof(struct omap_sr_nvalue_table)*count,
-			GFP_KERNEL);
-
+	nvalue_table = kcalloc(count, sizeof(*nvalue_table), GFP_KERNEL);
 	if (!nvalue_table) {
 		pr_err("OMAP: SmartReflex: cannot allocate memory for n-value table\n");
 		return;