summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-03-28 13:25:58 +0800
committerJason Chen <b02280@freescale.com>2011-03-28 13:28:33 +0800
commita93506107d4638455283ea472235496c37560eae (patch)
tree14573efd1e7497ccb3f5f525b616bafab4a085d4 /drivers
parent8b0d7773a17eaa25f6a2b5eedb9abd3e03780712 (diff)
ENGR00141152-4 mxc edid: make default display option
mxc edid driver change. Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/mxc/mxc_edid.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/video/mxc/mxc_edid.c b/drivers/video/mxc/mxc_edid.c
index 6d3b1d4fa83d..2010f9c3cc5c 100644
--- a/drivers/video/mxc/mxc_edid.c
+++ b/drivers/video/mxc/mxc_edid.c
@@ -56,7 +56,9 @@ struct mxc_ddc_data {
struct regulator *analog_reg;
} mxc_ddc;
-static bool g_enable_ddc;
+#define MXC_ENABLE 1
+#define MXC_DISABLE 2
+static int g_enable_ddc;
#undef DEBUG /* define this for verbose EDID parsing output */
@@ -489,8 +491,15 @@ static int __devinit mxc_ddc_probe(struct i2c_client *client,
struct fb_info edid_fbi;
struct mxc_ddc_platform_data *plat = client->dev.platform_data;
- if (g_enable_ddc == false)
- return -EPERM;
+ if (plat->boot_enable && !g_enable_ddc)
+ g_enable_ddc = MXC_ENABLE;
+ if (!g_enable_ddc)
+ g_enable_ddc = MXC_DISABLE;
+
+ if (g_enable_ddc == MXC_DISABLE) {
+ printk(KERN_WARNING "By setting, DDC driver will not be enabled\n");
+ return 0;
+ }
mxc_ddc.client = client;
mxc_ddc.di = plat->di;
@@ -565,7 +574,10 @@ static int __devexit mxc_ddc_remove(struct i2c_client *client)
static int __init enable_ddc_setup(char *options)
{
- g_enable_ddc = true;
+ if (!strcmp(options, "=off"))
+ g_enable_ddc = MXC_DISABLE;
+ else
+ g_enable_ddc = MXC_ENABLE;
return 1;
}