void __init msm8960_init_fb(void) { uint32_t soc_platform_version = socinfo_get_version(); if (SOCINFO_VERSION_MAJOR(soc_platform_version) >= 3) mdp_pdata.mdp_rev = MDP_REV_43; if (cpu_is_msm8960ab()) mdp_pdata.mdp_rev = MDP_REV_44; sony_blue_add_lcd_device(); #ifdef CONFIG_FB_MSM_HDMI_MSM_PANEL platform_device_register(&hdmi_msm_device); #endif platform_device_register(&msm_fb_device); #ifdef CONFIG_FB_MSM_WRITEBACK_MSM_PANEL platform_device_register(&wfd_device); #endif msm_fb_register_device("mdp", &mdp_pdata); #ifdef CONFIG_FB_MSM_MIPI_DSI_VENDOR_DET if (sony_blue_is_dric_det() == LCD_VENDOR_SAMSUNG) mipi_dsi_pdata.dsi_power_save = s6d6aa0_lcd_power; else mipi_dsi_pdata.dsi_power_save = r63306_lcd_power; #endif /* CONFIG_FB_MSM_MIPI_DSI_VENDOR_DET */ msm_fb_register_device("mipi_dsi", &mipi_dsi_pdata); #ifdef CONFIG_MSM_BUS_SCALING msm_fb_register_device("dtv", &dtv_pdata); #endif }
void __init sony_blue_add_lcd_device(void) { int rc; struct lcd_panel_platform_data *pdata; pdata = kmalloc(sizeof(struct lcd_panel_platform_data), GFP_KERNEL); pdata->default_panels = default_panel_ids; pdata->panels = panel_ids; pdata->lcd_power = lcd_power; pdata->lcd_reset = lcd_reset; #ifdef CONFIG_FB_MSM_MIPI_DSI_VENDOR_DET if (sony_blue_is_dric_det() == LCD_VENDOR_SAMSUNG) { sony_blue_lcd_device.name = MIPI_DSI_SAMSUNG_NAME; pdata->default_panels = default_panel_ids_s6d6aa0; pdata->panels = panel_ids_s6d6aa0; } else { sony_blue_lcd_device.name = MIPI_DSI_RENESAS_NAME; pdata->default_panels = default_panel_ids_r63306; pdata->panels = panel_ids_r63306; } #endif /* CONFIG_FB_MSM_MIPI_DSI_VENDOR_DET */ sony_blue_lcd_device.dev.platform_data = pdata; rc = platform_device_register(&sony_blue_lcd_device); if (rc) dev_err(&sony_blue_lcd_device.dev, "%s: platform_device_register() failed = %d\n", __func__, rc); }
void __init msm8960_init_fb(void) { sony_blue_add_lcd_device(); #ifdef CONFIG_FB_MSM_HDMI_MSM_PANEL platform_device_register(&hdmi_msm_device); #endif platform_device_register(&msm_fb_device); #ifdef CONFIG_FB_MSM_WRITEBACK_MSM_PANEL platform_device_register(&wfd_device); #endif msm_fb_register_device("mdp", &mdp_pdata); #ifdef CONFIG_FB_MSM_MIPI_DSI_VENDOR_DET if (sony_blue_is_dric_det() == LCD_VENDOR_SAMSUNG) mipi_dsi_pdata.dsi_power_save = s6d6aa0_lcd_power; else mipi_dsi_pdata.dsi_power_save = r63306_lcd_power; #endif /* CONFIG_FB_MSM_MIPI_DSI_VENDOR_DET */ msm_fb_register_device("mipi_dsi", &mipi_dsi_pdata); #ifdef CONFIG_MSM_BUS_SCALING msm_fb_register_device("dtv", &dtv_pdata); #endif }