static int __devinit qpnp_led_initialize(struct qpnp_led_data *led) { int rc; switch (led->id) { case QPNP_ID_WLED: rc = qpnp_wled_init(led); if (rc) dev_err(&led->spmi_dev->dev, "WLED initialize failed(%d)\n", rc); break; case QPNP_ID_FLASH1_LED0: case QPNP_ID_FLASH1_LED1: rc = qpnp_flash_init(led); if (rc) dev_err(&led->spmi_dev->dev, "FLASH initialize failed(%d)\n", rc); break; case QPNP_ID_RGB_RED: case QPNP_ID_RGB_GREEN: case QPNP_ID_RGB_BLUE: rc = qpnp_rgb_init(led); if (rc) dev_err(&led->spmi_dev->dev, "RGB initialize failed(%d)\n", rc); break; default: dev_err(&led->spmi_dev->dev, "Invalid LED(%d)\n", led->id); return -EINVAL; } return 0; }
void target_init(void) { dprintf(INFO, "target_init()\n"); spmi_init(PMIC_ARB_CHANNEL_NUM, PMIC_ARB_OWNER_ID); target_keystatus(); if (target_use_signed_kernel()) target_crypto_init_params(); platform_read_boot_config(); if (platform_boot_dev_isemmc()) { target_sdc_init(); } else { ufs_device.base = UFS_BASE; ufs_init(&ufs_device); } /* Storage initialization is complete, read the partition table info */ if (partition_read_table()) { dprintf(CRITICAL, "Error reading the partition table info\n"); ASSERT(0); } rpm_smd_init(); /* QPNP WLED init for display backlight */ pm8x41_wled_config_slave_id(PMIC_WLED_SLAVE_ID); qpnp_wled_init(); }