int mipi_nt35510_device_register(struct msm_panel_info *pinfo, u32 channel, u32 panel, struct dsi_cmd_desc *panel_prepare, int panel_prepare_length) { struct platform_device *pdev = NULL; int ret; DPRINT("start %s\n", __func__); concrete_panel_prepare_cmds = panel_prepare; concrete_panel_prepare_cmds_len = panel_prepare_length; if ((channel >= 3) || ch_used[channel]) return -ENODEV; ch_used[channel] = TRUE; ret = mipi_nt35510_lcd_init(); if (ret) { DPRINT("mipi_nt35510_lcd_init() failed with ret %u\n", ret); return ret; } pdev = platform_device_alloc("mipi_NT35510", (panel << 8) | channel); if (!pdev) return -ENOMEM; nt35510_panel_data.panel_info = *pinfo; ret = platform_device_add_data(pdev, &nt35510_panel_data, sizeof(nt35510_panel_data)); if (ret) { pr_debug("%s: platform_device_add_data failed!\n", __func__); goto err_device_put; } ret = platform_device_add(pdev); if (ret) { pr_debug("%s: platform_device_register failed!\n", __func__); goto err_device_put; } return 0; err_device_put: platform_device_put(pdev); return ret; }
int mipi_nt35510_device_register(struct msm_panel_info *pinfo, u32 channel, u32 panel) { struct platform_device *pdev = NULL; int ret; if ((channel >= 3) || ch_used[channel]) return -ENODEV; ch_used[channel] = TRUE; ret = mipi_nt35510_lcd_init(); if (ret) { pr_err("mipi_nt35510_lcd_init() failed with ret %u\n", ret); return ret; } pdev = platform_device_alloc("mipi_NT35510", (panel << 8)|channel); if (!pdev) return -ENOMEM; nt35510_panel_data.panel_info = *pinfo; ret = platform_device_add_data(pdev, &nt35510_panel_data, sizeof(nt35510_panel_data)); if (ret) { pr_debug("%s: platform_device_add_data failed!\n", __func__); goto err_device_put; } ret = platform_device_add(pdev); if (ret) { pr_debug("%s: platform_device_register failed!\n", __func__); goto err_device_put; } return 0; err_device_put: platform_device_put(pdev); return ret; }