diff --git a/dev/pmic/pm8x41/include/pm_vadc_hc.h b/dev/pmic/pm8x41/include/pm_vadc_hc.h
index 53312cb..8e0dba4 100644
--- a/dev/pmic/pm8x41/include/pm_vadc_hc.h
+++ b/dev/pmic/pm8x41/include/pm_vadc_hc.h
@@ -48,12 +48,12 @@
 #define HC_DEC_RATIO_SHIFT				2
 
 #define HC_FAST_AVG_CTL					0x43
-#define HC_FAST_AVG_SAMPLES_MASK			0xfff
+#define HC_FAST_AVG_SAMPLES_MASK			0x7
 
 #define HC_ADC_CH_SEL_CTL				0x44
 
 #define HC_DELAY_CTL					0x45
-#define HC_DELAY_CTL_MASK				0xfff
+#define HC_DELAY_CTL_MASK				0xf
 
 #define HC_EN_CTL1					0x46
 #define HC_ADC_EN					BIT(7)
@@ -79,6 +79,15 @@
 	enum adc_type	adc_type;
 };
 
+enum adc_fast_avg_sample {
+	AVG_1_SAMPLE = 0,
+	AVG_2_SAMPLES,
+	AVG_4_SAMPLES,
+	AVG_8_SAMPLES,
+	AVG_16_SAMPLES,
+	AVG_SAMPLES_INVALID
+};
+
 enum adc_channel_prediv_type {
 	SCALE_DIV1 = 0,
 	SCALE_DIV3,
diff --git a/dev/pmic/pm8x41/pm_vadc_hc.c b/dev/pmic/pm8x41/pm_vadc_hc.c
index fdf26ab..7517a31 100644
--- a/dev/pmic/pm8x41/pm_vadc_hc.c
+++ b/dev/pmic/pm8x41/pm_vadc_hc.c
@@ -61,9 +61,11 @@
 	enum adc_hc_channel		channel;
 	/* Hardware settling delay for the channel */
 	enum adc_usr_delay_ctl		hw_settle;
+	/* Fast average sample value for the channel */
+	enum adc_fast_avg_sample	avg_sample;
 	/*
 	 * Pre scale ratio for the channel before ADC is measured.
-	 * This is used during scaling the code to physical units by
+	 * This is used while scaling the code to physical units by
 	 * applying the respective pre-scale value.
 	 */
 	struct adc_pre_scale_ratio	pre_scale;
@@ -107,6 +109,7 @@
 		HC_ABS_CAL,
 		HC_CALIB_VREF_1P25,
 		HC_HW_SETTLE_DELAY_0US,
+		AVG_1_SAMPLE,
 		{1, 1},
 		scale_default_voltage
 	},
@@ -115,6 +118,7 @@
 		HC_ABS_CAL,
 		HC_VPH_PWR,
 		HC_HW_SETTLE_DELAY_0US,
+		AVG_1_SAMPLE,
 		{1, 3},
 		scale_default_voltage
 	},
@@ -201,7 +205,7 @@
 static void vadc_hc_configure(struct vadc_hc_periph_cfg *adc_cfg,
 				struct vadc_hc_channel_cfg *ch_cfg)
 {
-	uint8_t cal = 0;
+	uint8_t cal = 0, avg_samples = 0;
 
 	/* Configure calibration select */
 	vadc_hc_reg_read(adc_cfg, HC_ADC_DIG_PARAM, &cal);
@@ -215,6 +219,12 @@
 	/* HW settle delay */
 	vadc_hc_reg_write(adc_cfg, HC_DELAY_CTL, ch_cfg->hw_settle);
 
+	/* Fast avg sample value */
+	vadc_hc_reg_read(adc_cfg, HC_FAST_AVG_CTL, &avg_samples);
+	avg_samples &= ~HC_FAST_AVG_SAMPLES_MASK;
+	avg_samples |= ch_cfg->avg_sample;
+	vadc_hc_reg_write(adc_cfg, HC_FAST_AVG_CTL, avg_samples);
+
 	/* Enable ADC */
 	vadc_hc_reg_write(adc_cfg, HC_EN_CTL1, HC_ADC_EN);
 
diff --git a/dev/qpnp_wled/include/qpnp_wled.h b/dev/qpnp_wled/include/qpnp_wled.h
index d90ca0b..4ca2379 100644
--- a/dev/qpnp_wled/include/qpnp_wled.h
+++ b/dev/qpnp_wled/include/qpnp_wled.h
@@ -167,6 +167,11 @@
 #define QPNP_WLED_LAB_FAST_PC_MASK             0xFB
 #define QPNP_WLED_LAB_START_DLY_US             8
 #define QPNP_WLED_LAB_FAST_PC_SHIFT            2
+#define QPNP_WLED_PRECHARGE_MASK               0xFC
+#define QPNP_WLED_PRECHARGE_US200              0x00
+#define QPNP_WLED_PRECHARGE_US300              0x01
+#define QPNP_WLED_PRECHARGE_US400              0x02
+#define QPNP_WLED_PRECHARGE_US500              0x03
 
 #define QPNP_WLED_SEC_ACCESS_REG(b)            (b + 0xD0)
 #define QPNP_WLED_SEC_UNLOCK                   0xA5
@@ -282,6 +287,7 @@
 	bool disp_type_amoled;
 	bool ibb_bias_active;
 	bool lab_fast_precharge;
+	uint8_t  lab_max_precharge_time;
 	uint32_t lab_min_volt;
 	uint32_t lab_max_volt;
 	uint32_t ibb_min_volt;
diff --git a/dev/qpnp_wled/qpnp_wled.c b/dev/qpnp_wled/qpnp_wled.c
index ad2f5d5..9282a7b 100644
--- a/dev/qpnp_wled/qpnp_wled.c
+++ b/dev/qpnp_wled/qpnp_wled.c
@@ -475,6 +475,9 @@
 			QPNP_WLED_LAB_FAST_PC_REG(wled->lab_base));
 	reg &= QPNP_WLED_LAB_FAST_PC_MASK;
 	reg |= (wled->lab_fast_precharge << QPNP_WLED_LAB_FAST_PC_SHIFT);
+	/* LAB max precharge  time */
+	reg &= QPNP_WLED_PRECHARGE_MASK;
+	reg |= (wled->lab_max_precharge_time);
 	pm8x41_wled_reg_write(QPNP_WLED_LAB_FAST_PC_REG(wled->lab_base), reg);
 
 	/* Configure lab display type */
@@ -573,6 +576,7 @@
 
 	wled->ibb_bias_active = false;
 	wled->lab_fast_precharge = false;
+	wled->lab_max_precharge_time = QPNP_WLED_PRECHARGE_US500;
 	wled->ibb_pwrup_dly_ms = config->pwr_up_delay;
 	wled->ibb_pwrdn_dly_ms = config->pwr_down_delay;
 	wled->ibb_discharge_en = config->ibb_discharge_en;
diff --git a/platform/msm_shared/rpmb/rpmb_emmc.c b/platform/msm_shared/rpmb/rpmb_emmc.c
index dbf7664..c9c7bba 100644
--- a/platform/msm_shared/rpmb/rpmb_emmc.c
+++ b/platform/msm_shared/rpmb/rpmb_emmc.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015,2016 The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
@@ -29,6 +29,7 @@
 #include <rpmb.h>
 #include <mmc_sdhci.h>
 #include <debug.h>
+#include <string.h>
 
 static const char *str_err[] =
 {
@@ -51,9 +52,11 @@
 {
 	uint32_t i, num_trans = 0;
 	int ret = 0;
-	struct mmc_command cmd[3] = {{0},{0},{0}};
+	struct mmc_command cmd[3];
 	struct rpmb_frame *result = (struct rpmb_frame *)resp_buf;
 
+	memset(cmd, 0, (size_t) sizeof(cmd));
+
 	dprintf(INFO, "rpmb write command called with blk_cnt and rel_wr_count: 0x%x 0x%x\n", blk_cnt, rel_wr_count);
 	if (rel_wr_count == 0x2)
 	{
@@ -150,9 +153,10 @@
 
 int rpmb_read_emmc(struct mmc_device *dev, uint32_t *req_buf, uint32_t blk_cnt, uint32_t *resp_buf, uint32_t *resp_len)
 {
-	struct mmc_command cmd[3] = {{0},{0},{0}};
+	struct mmc_command cmd[3] ;
 	int ret = 0;
 	struct rpmb_frame *result = (struct rpmb_frame *)resp_buf;
+	memset(cmd, 0, (size_t) sizeof(cmd));
 
 #if DEBUG_RPMB
 	dump_rpmb_frame((uint8_t *)req_buf, "request");
