diff --git a/drivers/input/key_matrix.c b/drivers/input/key_matrix.c
index c08caa6..287bf0d 100644
--- a/drivers/input/key_matrix.c
+++ b/drivers/input/key_matrix.c
@@ -46,6 +46,9 @@
 	int key_in_same_col = 0, key_in_same_row = 0;
 	int i, j;
 
+	if (!config->ghost_filter || valid < 3)
+		return 0;
+
 	for (i = 0; i < valid; i++) {
 		/*
 		 * Find 2 keys such that one key is in the same row
@@ -92,7 +95,7 @@
 	}
 
 	/* For a ghost key config, ignore the keypresses for this iteration. */
-	if (valid >= 3 && has_ghosting(config, keys, valid)) {
+	if (has_ghosting(config, keys, valid)) {
 		valid = 0;
 		debug("    ghosting detected!\n");
 	}
@@ -200,12 +203,14 @@
 	return 0;
 }
 
-int key_matrix_init(struct key_matrix *config, int rows, int cols)
+int key_matrix_init(struct key_matrix *config, int rows, int cols,
+		    int ghost_filter)
 {
 	memset(config, '\0', sizeof(*config));
 	config->num_rows = rows;
 	config->num_cols = cols;
 	config->key_count = rows * cols;
+	config->ghost_filter = ghost_filter;
 	assert(config->key_count > 0);
 
 	return 0;
diff --git a/drivers/input/tegra-kbc.c b/drivers/input/tegra-kbc.c
index 9a30942..6f1cfd8 100644
--- a/drivers/input/tegra-kbc.c
+++ b/drivers/input/tegra-kbc.c
@@ -325,7 +325,7 @@
 			KBC_REPEAT_RATE_MS);
 
 	/* Decode the keyboard matrix information (16 rows, 8 columns) */
-	if (key_matrix_init(&config.matrix, 16, 8)) {
+	if (key_matrix_init(&config.matrix, 16, 8, 1)) {
 		debug("%s: Could not init key matrix\n", __func__);
 		return -1;
 	}
diff --git a/include/key_matrix.h b/include/key_matrix.h
index f413314..9629716 100644
--- a/include/key_matrix.h
+++ b/include/key_matrix.h
@@ -40,6 +40,7 @@
 	const u8 *plain_keycode;        /* key code for each row / column */
 	const u8 *fn_keycode;           /* ...when Fn held down */
 	int fn_pos;                     /* position of Fn key in key (or -1) */
+	int ghost_filter;		/* non-zero to enable ghost filter */
 };
 
 /* Information about a particular key (row, column pair) in the matrix */
@@ -92,8 +93,10 @@
  * @param config	Keyboard matrix config
  * @param rows		Number of rows in key matrix
  * @param cols		Number of columns in key matrix
+ * @param ghost_filter	Non-zero to enable ghost filtering
  * @return 0 if ok, -1 on error
  */
-int key_matrix_init(struct key_matrix *config, int rows, int cols);
+int key_matrix_init(struct key_matrix *config, int rows, int cols,
+		    int ghost_filter);
 
 #endif
