void __init exynos5_universal5420_sensor_init(void) { int ret = 0; pr_info("%s, is called\n", __func__); #ifdef CONFIG_SENSORS_SSP ret = initialize_ssp_gpio(); if (ret < 0) pr_err("%s, initialize_ssp_gpio fail(err=%d)\n", __func__, ret); #endif #if defined(CONFIG_V1A) || defined(CONFIG_N1A) s3c_i2c3_set_platdata(NULL); ret = i2c_register_board_info(3, i2c_devs3, ARRAY_SIZE(i2c_devs3)); if (ret < 0) { pr_err("%s, i2c3 adding i2c fail(err=%d)\n", __func__, ret); } ret = platform_device_register(&s3c_device_i2c3); if (ret < 0) pr_err("%s, sensor platform device register failed (err=%d)\n", __func__, ret); #endif #if defined(CONFIG_V1A_3G) || defined(CONFIG_N1A_3G) exynos5_hs_i2c0_set_platdata(&hs_i2c0_data); ret = i2c_register_board_info(4, i2c_devs4, ARRAY_SIZE(i2c_devs4)); if (ret < 0) { pr_err("%s, i2c4 adding i2c fail(err=%d)\n", __func__, ret); } ret = platform_device_register(&exynos5_device_hs_i2c0); if (ret < 0) pr_err("%s, grip platform device register failed (err=%d)\n", __func__, ret); #endif #ifdef CONFIG_SENSORS_SSP_STM pr_info("%s, SSP_SPI_SETUP\n", __func__); if (!exynos_spi_cfg_cs(spi0_csi[0].line, 0)) { pr_info("%s, spi0_set_platdata ...\n", __func__); ssp_spi0_set_platdata(&s3c64xx_spi0_pdata, EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi0_csi)); spi_register_board_info(spi0_board_info, ARRAY_SIZE(spi0_board_info)); } else { pr_err("%s, Error requesting gpio for SPI-CH%d CS", __func__, spi0_board_info->bus_num); } ret = platform_device_register(&s3c64xx_device_spi0); if (ret < 0) pr_err("%s, Failed to register spi0 plaform devices(err=%d)\n", __func__, ret); #endif #ifdef CONFIG_SENSORS_VFS61XX pr_info("%s: SENSORS_VFS61XX init\n", __func__); vfs61xx_setup_gpio(); s3c64xx_spi1_pdata.dma_mode = PIO_MODE; if (system_rev > 4) vfs61xx_pdata.ldocontrol = 1; if (!exynos_spi_cfg_cs(spi1_csi[0].line, 1)) { pr_info("%s: spi1_set_platdata ...\n", __func__); s3c64xx_spi1_set_platdata(&s3c64xx_spi1_pdata, EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi1_csi)); spi_register_board_info(spi1_board_info, ARRAY_SIZE(spi1_board_info)); } else { pr_err("%s : Error requesting gpio for SPI-CH%d CS", __func__, spi1_board_info->bus_num); } platform_device_register(&s3c64xx_device_spi1); #endif }
static int __init midas_sensor_init(void) { int ret = 0; /* Gyro & Accelerometer Sensor */ #if defined(CONFIG_SENSORS_LSM330DLC) ret = accel_gpio_init(); if (ret < 0) { pr_err("%s, accel_gpio_init fail(err=%d)\n", __func__, ret); return ret; } ret = gyro_gpio_init(); if (ret < 0) { pr_err("%s, gyro_gpio_init(err=%d)\n", __func__, ret); return ret; } #elif defined(CONFIG_SENSORS_K3DH) ret = accel_gpio_init(); if (ret < 0) { pr_err("%s, accel_gpio_init fail(err=%d)\n", __func__, ret); return ret; } #elif defined(CONFIG_SENSORS_SSP) initialize_ssp_gpio(); #endif ret = i2c_add_devices(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); if (ret < 0) { pr_err("%s, i2c1 adding i2c fail(err=%d)\n", __func__, ret); return ret; } /* Optical Sensor */ #if defined(CONFIG_SENSORS_GP2A) || defined(CONFIG_SENSORS_CM36651) || \ defined(CONFIG_SENSORS_CM3663) ret = optical_gpio_init(); if (ret) { pr_err("%s, optical_gpio_init(err=%d)\n", __func__, ret); return ret; } ret = i2c_add_devices(9, i2c_devs9_emul, ARRAY_SIZE(i2c_devs9_emul)); if (ret < 0) { pr_err("%s, i2c9 adding i2c fail(err=%d)\n", __func__, ret); return ret; } #elif defined(CONFIG_SENSORS_BH1721) || defined(CONFIG_SENSORS_AL3201) ret = i2c_add_devices(9, i2c_devs9_emul, ARRAY_SIZE(i2c_devs9_emul)); if (ret < 0) { pr_err("%s, i2c9 adding i2c fail(err=%d)\n", __func__, ret); return ret; } #endif #if defined(CONFIG_SENSORS_GP2A) ret = platform_device_register(&opt_gp2a); if (ret < 0) { pr_err("%s, failed to register opt_gp2a(err=%d)\n", __func__, ret); return ret; } #endif /* Magnetic Sensor */ #ifdef CONFIG_SENSORS_AK8975C ret = ak8975c_gpio_init(); if (ret < 0) { pr_err("%s, ak8975c_gpio_init fail(err=%d)\n", __func__, ret); return ret; } ret = i2c_add_devices(10, i2c_devs10_emul, ARRAY_SIZE(i2c_devs10_emul)); if (ret < 0) { pr_err("%s, i2c10 adding i2c fail(err=%d)\n", __func__, ret); return ret; } #endif /* Pressure Sensor */ #ifdef CONFIG_SENSORS_LPS331 ret = lps331_gpio_init(); if (ret < 0) { pr_err("%s, ak8975c_gpio_init fail(err=%d)\n", __func__, ret); return ret; } ret = i2c_add_devices(11, i2c_devs11_emul, ARRAY_SIZE(i2c_devs11_emul)); if (ret < 0) { pr_err("%s, i2c1 adding i2c fail(err=%d)\n", __func__, ret); return ret; } #endif return ret; }