static void __init msm7x2x_init(void) { msm_clock_init(msm_clocks_7x27, msm_num_clocks_7x27); #if defined(CONFIG_MSM_SERIAL_DEBUGGER) msm_serial_debug_init(MSM_UART1_PHYS, INT_UART1, &msm_device_uart1.dev, 1); #endif if (cpu_is_msm7x27()) msm7x2x_clock_data.max_axi_khz = 200000; msm_acpu_clock_init(&msm7x2x_clock_data); msm_add_pmem_devices(); msm_add_fb_device(); #if !defined(CONFIG_MSM_SERIAL_DEBUGGER) if (lge_get_uart_mode()) platform_device_register(&msm_device_uart3); #endif platform_add_devices(devices, ARRAY_SIZE(devices)); #ifdef CONFIG_ARCH_MSM7X27 msm_add_kgsl_device(); #endif msm_add_usb_devices(); #ifdef CONFIG_MSM_CAMERA config_camera_off_gpios(); /* might not be necessary */ #endif msm_device_i2c_init(); i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); if (cpu_is_msm7x27()) msm_pm_set_platform_data(msm7x27_pm_data, ARRAY_SIZE(msm7x27_pm_data)); else msm_pm_set_platform_data(msm7x25_pm_data, ARRAY_SIZE(msm7x25_pm_data)); msm7x27_wlan_init(); #ifdef CONFIG_ANDROID_RAM_CONSOLE lge_add_ramconsole_devices(); lge_add_ers_devices(); lge_add_panic_handler_devices(); #endif lge_add_camera_devices(); lge_add_lcd_devices(); lge_add_btpower_devices(); lge_add_mmc_devices(); lge_add_input_devices(); lge_add_misc_devices(); lge_add_pm_devices(); lge_add_gpio_i2c_devices(); create_testmode_status(); create_sw_version_status(); create_smpl_reset_status(); create_qpst_enable_status(); }
static void __init msm_pm_init(void) { if (!cpu_is_msm8625()) { msm_pm_set_platform_data(msm7627a_pm_data, ARRAY_SIZE(msm7627a_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); } else { msm_pm_set_platform_data(msm8625_pm_data, ARRAY_SIZE(msm8625_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata)); msm8x25_spm_device_init(); } }
static void __init msm7x27a_pm_init(void) { if (machine_is_msm8625_surf() || machine_is_msm8625_ffa()) { msm_pm_set_platform_data(msm8625_pm_data, ARRAY_SIZE(msm8625_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata)); msm8x25_spm_device_init(); } else { msm_pm_set_platform_data(msm7x27a_pm_data, ARRAY_SIZE(msm7x27a_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); } msm_pm_register_irqs(); }
static void __init qsd8x50_init(void) { if (socinfo_init() < 0) printk(KERN_ERR "%s: socinfo_init() failed!\n", __func__); qsd8x50_cfg_smc91x(); msm_acpu_clock_init(&qsd8x50_clock_data); msm_device_hsusb_peripheral.dev.platform_data = &msm_hsusb_pdata; msm_device_hsusb_host.dev.platform_data = &msm_hsusb_pdata; platform_add_devices(devices, ARRAY_SIZE(devices)); msm_fb_add_devices(); msm_camera_add_device(); qsd8x50_init_mmc(); bt_power_init(); audio_gpio_init(); msm_device_i2c_init(); i2c_register_board_info(0, msm_i2c_board_info, ARRAY_SIZE(msm_i2c_board_info)); spi_register_board_info(msm_spi_board_info, ARRAY_SIZE(msm_spi_board_info)); msm_pm_set_platform_data(msm_pm_data); #ifdef CONFIG_SURF_FFA_GPIO_KEYPAD if (machine_is_qsd8x50_ffa()) platform_device_register(&keypad_device_8k_ffa); else platform_device_register(&keypad_device_surf); #endif }
static void __init msm9615_common_init(void) { msm9615_device_init(); msm9615_init_gpiomux(); msm9615_i2c_init(); regulator_suppress_info_printing(); platform_device_register(&msm9615_device_rpm_regulator); msm_clock_init(&msm9615_clock_init_data); msm9615_init_buses(); msm9615_device_qup_spi_gsbi3.dev.platform_data = &msm9615_qup_spi_gsbi3_pdata; msm9615_device_ssbi_pmic1.dev.platform_data = &msm9615_ssbi_pm8018_pdata; pm8018_platform_data.num_regulators = msm_pm8018_regulator_pdata_len; msm_device_otg.dev.platform_data = &msm_otg_pdata; msm_otg_pdata.phy_init_seq = shelby_phy_init_seq; msm_device_usb_bam.dev.platform_data = &msm_usb_bam_pdata; platform_add_devices(common_devices, ARRAY_SIZE(common_devices)); acpuclk_init(&acpuclk_9615_soc_data); /* Ensure ar6000pm device is registered before MMC/SDC */ msm9615_init_ar6000pm(); msm9615_init_mmc(); msm_pm_set_platform_data(msm_pm_data, ARRAY_SIZE(msm_pm_data)); msm_pm_set_rpm_wakeup_irq(RPM_APCC_CPU0_WAKE_UP_IRQ); msm_cpuidle_set_states(msm_cstates, ARRAY_SIZE(msm_cstates), msm_pm_data); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); }
void __init msm8960_pm_init(unsigned wakeup_irq) { msm_pm_set_platform_data(msm_pm_data, ARRAY_SIZE(msm_pm_data)); msm_pm_set_rpm_wakeup_irq(wakeup_irq); msm_cpuidle_set_states(msm_cstates, ARRAY_SIZE(msm_cstates), msm_pm_data); }
static void __init msm_pm_init(void) { #if 0 if (machine_is_msm8625_qrd7()) return; #endif if (!(machine_is_msm8625_evb() || machine_is_msm8625_qrd5() || machine_is_msm8625_skua() || machine_is_msm8625_qrd7() || machine_is_msm8625_skub())) { msm_pm_set_platform_data(msm7627a_pm_data, ARRAY_SIZE(msm7627a_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); } else { msm_pm_set_platform_data(msm8625_pm_data, ARRAY_SIZE(msm8625_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata)); msm8x25_spm_device_init(); } }
static void __init htcleo_init(void) { // Cotulla vibro test // *(uint32_t*)0xF800380C |= 0x20; printk("htcleo_init()\n"); msm_hw_reset_hook = htcleo_reset; do_grp_reset(); do_sdc1_reset(); msm_clock_init(&qds8x50_clock_init_data); acpuclk_init(&acpuclk_8x50_soc_data); init_dex_comm(); #ifdef CONFIG_SERIAL_MSM_HS msm_device_uart_dm1.dev.platform_data = &msm_uart_dm1_pdata; #if 0 msm_device_uart_dm1.name = "msm_serial_hs_brcm"; /* for bcm */ msm_device_uart_dm1.resource[3].end = 6; #endif #endif config_gpio_table(bt_gpio_table, ARRAY_SIZE(bt_gpio_table)); htcleo_audio_init(); msm_device_i2c_init(); platform_add_devices(devices, ARRAY_SIZE(devices)); platform_add_devices(msm_footswitch_devices, msm_num_footswitch_devices); htcleo_init_panel(); #ifdef CONFIG_USB_G_ANDROID htcleo_add_usb_devices(); #endif msm_pm_set_platform_data(msm_pm_data, ARRAY_SIZE(msm_pm_data)); i2c_register_board_info(0, base_i2c_devices, ARRAY_SIZE(base_i2c_devices)); htcleo_init_mmc(0); platform_device_register(&htcleo_timed_gpios); #ifdef CONFIG_HTCLEO_BLINK_ON_BOOT /* Blink the camera LED shortly to show that we're alive! */ htcleo_blink_camera_led(); #endif // CONFIG_HTCLEO_BLINK_ON_BOOT }
static void __init msm7x27a_pm_init(void) { #ifdef CONFIG_HUAWEI_KERNEL if (machine_is_msm8625_surf() || machine_is_msm8625_ffa() || cpu_is_msm8625()) #else if (machine_is_msm8625_surf() || machine_is_msm8625_ffa()) #endif { msm_pm_set_platform_data(msm8625_pm_data, ARRAY_SIZE(msm8625_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata)); msm8x25_spm_device_init(); msm_pm_register_cpr_ops(); } else { msm_pm_set_platform_data(msm7x27a_pm_data, ARRAY_SIZE(msm7x27a_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); } msm_pm_register_irqs(); }
static void __init msm8625_rumi3_init(void) { msm7x2x_misc_init(); msm_adsp_add_pdev(); msm8625_device_i2c_init(); platform_add_devices(msm8625_rumi3_devices, ARRAY_SIZE(msm8625_rumi3_devices)); msm_pm_set_platform_data(msm8625_pm_data, ARRAY_SIZE(msm8625_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_8625_boot_pdata)); msm8x25_spm_device_init(); }
static void __init halibut_init(void) { if (socinfo_init() < 0) BUG(); if (machine_is_msm7201a_ffa()) { smc91x_resources[0].start = 0x98000300; smc91x_resources[0].end = 0x98000400; smc91x_resources[1].start = MSM_GPIO_TO_INT(85); smc91x_resources[1].end = MSM_GPIO_TO_INT(85); } /* All 7x01 2.0 based boards are expected to have RAM chips capable * of 160 MHz. */ if (cpu_is_msm7x01() && SOCINFO_VERSION_MAJOR(socinfo_get_version()) == 2) halibut_clock_data.max_axi_khz = 160000; #if defined(CONFIG_MSM_SERIAL_DEBUGGER) msm_serial_debug_init(MSM_UART3_PHYS, INT_UART3, &msm_device_uart3.dev, 1); #endif msm_hsusb_pdata.soc_version = socinfo_get_version(); msm_acpu_clock_init(&halibut_clock_data); msm_device_hsusb_peripheral.dev.platform_data = &msm_hsusb_pdata, msm_device_hsusb_host.dev.platform_data = &msm_hsusb_pdata, platform_add_devices(devices, ARRAY_SIZE(devices)); msm_camera_add_device(); msm_device_i2c_init(); i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); #ifdef CONFIG_SURF_FFA_GPIO_KEYPAD if (machine_is_msm7201a_ffa()) platform_device_register(&keypad_device_7k_ffa); else platform_device_register(&keypad_device_surf); #endif halibut_init_mmc(); #ifdef CONFIG_USB_FUNCTION hsusb_gpio_init(); #endif msm_fb_add_devices(); bt_power_init(); #ifdef CONFIG_USB_ANDROID msm_hsusb_rpc_connect(); msm_hsusb_set_vbus_state(1) ; #endif msm_pm_set_platform_data(msm_pm_data); }
static void __init msm_qrd1_init(void) { msm7x2x_misc_init(); msm7627a_init_regulators(); msm_device_i2c_init(); #ifdef CONFIG_SERIAL_MSM_HS msm_uart_dm1_pdata.wakeup_irq = gpio_to_irq(UART1DM_RX_GPIO); msm_device_uart_dm1.dev.platform_data = &msm_uart_dm1_pdata; #endif #ifdef CONFIG_USB_MSM_OTG_72K msm_otg_pdata.swfi_latency = msm7627a_pm_data [MSM_PM_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT].latency; msm_device_otg.dev.platform_data = &msm_otg_pdata; #endif msm_device_gadget_peripheral.dev.platform_data = &msm_gadget_pdata; platform_add_devices(qrd1_devices, ARRAY_SIZE(qrd1_devices)); msm7627a_init_mmc(); #ifdef CONFIG_USB_EHCI_MSM_72K msm7627a_init_host(); #endif msm_pm_set_platform_data(msm7627a_pm_data, ARRAY_SIZE(msm7627a_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); msm_fb_add_devices(); #if defined(CONFIG_BT) && defined(CONFIG_MARIMBA_CORE) msm7627a_bt_power_init(); #endif msm7627a_camera_init(); #if defined(CONFIG_TOUCHSCREEN_SYNAPTICS_RMI4_I2C) || \ defined(CONFIG_TOUCHSCREEN_SYNAPTICS_RMI4_I2C_MODULE) i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID, synaptic_i2c_clearpad3k, ARRAY_SIZE(synaptic_i2c_clearpad3k)); #endif platform_device_register(&hs_pdev); #ifdef CONFIG_MSM_RPC_VIBRATOR msm_init_pmic_vibrator(); #endif }
void __init lge_add_usb_devices(void) { #ifdef CONFIG_USB_MSM_OTG_72K msm_otg_pdata.swfi_latency = msm7x27a_pm_data [MSM_PM_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT].latency; msm_device_otg.dev.platform_data = &msm_otg_pdata; #endif platform_add_devices(m3eu_usb_devices, ARRAY_SIZE(m3eu_usb_devices)); #ifdef CONFIG_USB_EHCI_MSM_72K msm7x2x_init_host(); #endif msm_pm_set_platform_data(msm7x27a_pm_data, ARRAY_SIZE(msm7x27a_pm_data)); }
static void __init msm9615_common_init(void) { msm9615_device_init(); gpiomux_init(); msm9615_i2c_init(); regulator_suppress_info_printing(); msm9615_device_qup_spi_gsbi3.dev.platform_data = &msm9615_qup_spi_gsbi3_pdata; msm9615_device_ssbi_pmic1.dev.platform_data = &msm9615_ssbi_pm8018_pdata; pm8018_platform_data.num_regulators = msm_pm8018_regulator_pdata_len; msm_device_otg.dev.platform_data = &msm_otg_pdata; msm_device_gadget_peripheral.dev.parent = &msm_device_otg.dev; platform_add_devices(common_devices, ARRAY_SIZE(common_devices)); msm9615_init_mmc(); msm_pm_set_platform_data(msm_pm_data, ARRAY_SIZE(msm_pm_data)); msm_pm_set_rpm_wakeup_irq(RPM_APCC_CPU0_WAKE_UP_IRQ); msm_cpuidle_set_states(msm_cstates, ARRAY_SIZE(msm_cstates), msm_pm_data); }
static void __init msm7x2x_init(void) { msm7x2x_misc_init(); /* Initialize regulators first so that other devices can use them */ msm7x27a_init_regulators(); /* Common functions for SURF/FFA/RUMI3 */ msm_device_i2c_init(); msm7x27a_init_ebi2(); msm7x27a_cfg_uart2dm_serial(); #ifdef CONFIG_SERIAL_MSM_HS msm_uart_dm1_pdata.wakeup_irq = gpio_to_irq(UART1DM_RX_GPIO); msm_device_uart_dm1.dev.platform_data = &msm_uart_dm1_pdata; #endif #ifdef CONFIG_USB_MSM_OTG_72K msm_otg_pdata.swfi_latency = msm7x27a_pm_data [MSM_PM_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT].latency; msm_device_otg.dev.platform_data = &msm_otg_pdata; #endif msm_device_gadget_peripheral.dev.platform_data = &msm_gadget_pdata; msm7x27a_cfg_smsc911x(); platform_add_devices(msm_footswitch_devices, msm_num_footswitch_devices); platform_add_devices(surf_ffa_devices, ARRAY_SIZE(surf_ffa_devices)); /* Ensure ar6000pm device is registered before MMC/SDC */ msm7x27a_init_ar6000pm(); #ifdef CONFIG_MMC_MSM msm7627a_init_mmc(); #endif msm_fb_add_devices(); #ifdef CONFIG_USB_EHCI_MSM_72K msm7x2x_init_host(); #endif msm_pm_set_platform_data(msm7x27a_pm_data, ARRAY_SIZE(msm7x27a_pm_data)); BUG_ON(msm_pm_boot_init(&msm_pm_boot_pdata)); #if defined(CONFIG_I2C) && defined(CONFIG_GPIO_SX150X) register_i2c_devices(); #endif #if defined(CONFIG_BT) && defined(CONFIG_MARIMBA_CORE) msm7627a_bt_power_init(); #endif if (machine_is_msm7625a_surf() || machine_is_msm7625a_ffa()) { atmel_ts_pdata.min_x = 0; atmel_ts_pdata.max_x = 480; atmel_ts_pdata.min_y = 0; atmel_ts_pdata.max_y = 320; } i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID, atmel_ts_i2c_info, ARRAY_SIZE(atmel_ts_i2c_info)); #if defined(CONFIG_MSM_CAMERA) msm7627a_camera_init(); #endif platform_device_register(&kp_pdev); platform_device_register(&hs_pdev); /* configure it as a pdm function*/ if (gpio_tlmm_config(GPIO_CFG(LED_GPIO_PDM, 3, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_8MA), GPIO_CFG_ENABLE)) pr_err("%s: gpio_tlmm_config for %d failed\n", __func__, LED_GPIO_PDM); else platform_device_register(&led_pdev); #ifdef CONFIG_MSM_RPC_VIBRATOR if (machine_is_msm7x27a_ffa() || machine_is_msm7625a_ffa()) msm_init_pmic_vibrator(); #endif /*7x25a kgsl initializations*/ msm7x25a_kgsl_3d0_init(); }
static void __init msm7x2x_init(void) { if (socinfo_init() < 0) BUG(); #ifdef CONFIG_HUAWEI_CAMERA sensor_vreg_disable(sensor_vreg_array,ARRAY_SIZE(sensor_vreg_array)); #endif #if defined(CONFIG_MSM_SERIAL_DEBUGGER) msm_serial_debug_init(MSM_UART3_PHYS, INT_UART3, &msm_device_uart3.dev, 1); #endif /*delete*/ msm_acpu_clock_init(&msm7x2x_clock_data); msm_hsusb_pdata.swfi_latency = msm7x25_pm_data [MSM_PM_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT].latency; if(machine_is_msm7x25_u8110()) { msm_device_hsusb_peripheral.dev.platform_data = &msm_hsusb_tmo_pdata; } else { msm_device_hsusb_peripheral.dev.platform_data = &msm_hsusb_pdata; } if(machine_is_msm7x25_u8110()) { mass_storage_device.dev.platform_data = &usb_mass_storage_tmo_pdata; } platform_add_devices(devices, ARRAY_SIZE(devices)); #ifdef CONFIG_MSM_CAMERA config_camera_off_gpios(); /* might not be necessary */ #endif msm_device_i2c_init(); i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); #ifdef CONFIG_SURF_FFA_GPIO_KEYPAD if (machine_is_msm7x25_ffa() || machine_is_msm7x27_ffa()) platform_device_register(&keypad_device_7k_ffa); else platform_device_register(&keypad_device_surf); #endif #ifdef CONFIG_HUAWEI_GPIO_KEYPAD if (machine_is_msm7x25_c8600()) platform_device_register(&keypad_device_c8600); else if (machine_is_msm7x25_u8110()) //machine_is_msm7x25_u8100() platform_device_register(&keypad_device_u8100); else if (machine_is_msm7x25_u7610()) platform_device_register(&keypad_device_u7610); else platform_device_register(&keypad_device_c8600); //default use c6800 keypad #endif lcdc_gpio_init(); #ifdef CONFIG_HUAWEI_JOGBALL //config_jogball_gpios(); //init_jogball(); if (machine_is_msm7x25_c8600()) platform_device_register(&jogball_device); #endif msm_fb_add_devices(); msm7x2x_init_mmc(); bt_power_init(); msm_pm_set_platform_data(msm7x25_pm_data); #ifdef CONFIG_HUAWEI_MSM_VIBRATOR msm_init_pmic_vibrator(); #endif }
static void __init msm7x27_init(void) { if (socinfo_init() < 0) BUG(); #if defined(CONFIG_MSM_SERIAL_DEBUGGER) msm_serial_debug_init(MSM_UART3_PHYS, INT_UART3, &msm_device_uart3.dev, 1); #endif if (machine_is_msm7x27_ffa()) { smc91x_resources[0].start = 0x98000300; smc91x_resources[0].end = 0x980003ff; smc91x_resources[1].start = MSM_GPIO_TO_INT(85); smc91x_resources[1].end = MSM_GPIO_TO_INT(85); if (gpio_tlmm_config(GPIO_CFG(85, 0, GPIO_INPUT, GPIO_PULL_DOWN, GPIO_2MA), GPIO_ENABLE)) { printk(KERN_ERR "%s: Err: Config GPIO-85 INT\n", __func__); } msm7x27_clock_data.max_axi_khz = 160000; } if (cpu_is_msm7x27()) msm7x27_clock_data.max_axi_khz = 200000; msm_acpu_clock_init(&msm7x27_clock_data); /* This value has been set to 160000 for power savings. */ /* OEMs may modify the value at their discretion for performance */ /* The appropriate maximum replacement for 160000 is: */ /* clk_get_max_axi_khz() */ kgsl_pdata.max_axi_freq = 160000; msm_hsusb_pdata.swfi_latency = msm7x27_pm_data [MSM_PM_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT].latency; msm_device_hsusb_peripheral.dev.platform_data = &msm_hsusb_pdata; msm_device_otg.dev.platform_data = &msm_otg_pdata; msm_device_gadget_peripheral.dev.platform_data = &msm_gadget_pdata; msm_device_hsusb_host.dev.platform_data = &msm_hsusb_pdata; platform_add_devices(devices, ARRAY_SIZE(devices)); #ifdef CONFIG_MSM_CAMERA config_camera_off_gpios(); /* might not be necessary */ #endif msm_device_i2c_init(); i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); #ifdef CONFIG_SURF_FFA_GPIO_KEYPAD if (machine_is_msm7x27_ffa()) platform_device_register(&keypad_device_7k_ffa); else platform_device_register(&keypad_device_surf); #endif lcdc_gordon_gpio_init(); msm_fb_add_devices(); msm7x27_init_mmc(); bt_power_init(); if (cpu_is_msm7x27()) msm_pm_set_platform_data(msm7x27_pm_data); else msm_pm_set_platform_data(msm7x27_pm_data); }
static void __init msm7x2x_init(void) { if (socinfo_init() < 0) BUG(); msm_clock_init(msm_clocks_7x27, msm_num_clocks_7x27); #if defined(CONFIG_MSM_SERIAL_DEBUGGER) msm_serial_debug_init(MSM_UART3_PHYS, INT_UART3, &msm_device_uart3.dev, 1); #endif if (cpu_is_msm7x27()) msm7x2x_clock_data.max_axi_khz = 200000; msm_acpu_clock_init(&msm7x2x_clock_data); msm_add_pmem_devices(); msm_add_fb_device(); #if !defined(CONFIG_MSM_SERIAL_DEBUGGER) if (lge_get_uart_mode()) platform_device_register(&msm_device_uart3); #endif platform_add_devices(devices, ARRAY_SIZE(devices)); #ifdef CONFIG_ARCH_MSM7X27 msm_add_kgsl_device(); #endif msm_add_usb_devices(); #ifdef CONFIG_MSM_CAMERA config_camera_off_gpios(); /* might not be necessary */ #endif msm_device_i2c_init(); i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); if (cpu_is_msm7x27()) msm_pm_set_platform_data(msm7x27_pm_data, ARRAY_SIZE(msm7x27_pm_data)); else msm_pm_set_platform_data(msm7x25_pm_data, ARRAY_SIZE(msm7x25_pm_data)); msm7x27_wlan_init(); swift_init_gpio_i2c_devices(); #ifdef CONFIG_ANDROID_RAM_CONSOLE lge_add_ramconsole_devices(); lge_add_ers_devices(); lge_add_panic_handler_devices(); #endif lge_add_camera_devices(); lge_add_lcd_devices(); lge_add_btpower_devices(); lge_add_mmc_devices(); lge_add_input_devices(); lge_add_misc_devices(); lge_add_pm_devices(); /* gpio i2c devices should be registered at latest point */ lge_add_gpio_i2c_devices(); /* initialize timed_output vibrator */ swift_init_timed_vibrator(); }