diff options
author | Jason Chen <b02280@freescale.com> | 2011-03-28 13:25:58 +0800 |
---|---|---|
committer | Jason Chen <b02280@freescale.com> | 2011-03-28 13:28:33 +0800 |
commit | a93506107d4638455283ea472235496c37560eae (patch) | |
tree | 14573efd1e7497ccb3f5f525b616bafab4a085d4 /drivers | |
parent | 8b0d7773a17eaa25f6a2b5eedb9abd3e03780712 (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.c | 20 |
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; } |