static int amoled_probe(struct platform_device *pdev)
{
	int rc = -EIO;
	struct panel_platform_data *pdata;
	pdata = pdev->dev.platform_data;

	amoled_power = pdata->power;
	gpio_switch = pdata->gpio_switch;
	amoled_lcdc_platform_data.fb_resource = pdata->fb_res;
	panel_id = amoled_panel_detect();

	amoled_lcdc_timing.hsync_pulse_width      = 2;
	amoled_lcdc_timing.hsync_back_porch       = 14;
	amoled_lcdc_timing.hsync_front_porch     = 16;
	amoled_lcdc_timing.vsync_pulse_width      = 2;
	amoled_lcdc_timing.vsync_back_porch       = 1;
	amoled_lcdc_timing.vsync_front_porch      = 28;
	printk("Panel type = %d\n", amoled_panel_detect());

	rc = amoled_init_panel();
	if (rc)
		printk(KERN_ERR "%s fail %d\n", __func__, rc);

	display_sysfs_init();
	return rc;
}
static int amoled_backlight_probe(struct platform_device *pdev)
{
    int rc;
    panel_id = amoled_panel_detect();

    amoled_backlight_led.brightness_set = amoled_brightness_set;

    rc = led_classdev_register(&pdev->dev, &amoled_backlight_led);
    if (rc)
        LCMDBG("backlight: failure on register led_classdev\n");
    return 0;
}
static int amoled_probe(struct platform_device *pdev)
{
    int rc = -EIO;
    struct msm_panel_common_pdata *lcdc_amoled_pdata;

    lcdc_amoled_pdata = pdev->dev.platform_data;
    panel_power_gpio = lcdc_amoled_pdata->panel_config_gpio;
    printk("Panel type = %d\n", amoled_panel_detect());

    rc = amoled_init_panel();
    if (rc)
        printk(KERN_ERR "%s fail %d\n", __func__, rc);

    return rc;
}