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; } #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) 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; }
static int __init midas_sensor_init(void) { int ret = 0; /* Gyro & Accelerometer Sensor GPIO init */ #if defined(CONFIG_SENSORS_LSM330DLC) || defined(CONFIG_SENSORS_K330) 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; } #endif /* Magnetic Sensor GPIO init */ #ifdef CONFIG_SENSORS_AK8963C ret = ak8963c_gpio_init(); if (ret < 0) { pr_err("%s, ak8963c_gpio_init fail(err=%d)\n", __func__, ret); return ret; } #endif /* Optical Sensor */ #if defined(CONFIG_SENSORS_CM36651) || defined(CONFIG_SENSORS_CM36653) ret = optical_gpio_init(); if (ret) { pr_err("%s, optical_gpio_init(err=%d)\n", __func__, ret); return ret; } #endif /* Add i2c Devices */ if (system_rev >= 8) { ret = i2c_add_devices(0, i2c_devs0_04_bd, ARRAY_SIZE(i2c_devs0_04_bd)); if (ret < 0) { pr_err("%s, i2c0 adding i2c fail(err=%d)\n", __func__, ret); return ret; } ret = i2c_add_devices(1, i2c_devs1_04_bd, ARRAY_SIZE(i2c_devs1_04_bd)); if (ret < 0) { pr_err("%s, i2c1 adding i2c fail(err=%d)\n", __func__, ret); return ret; } } else if (system_rev >= 4) { /* I2C channels have been changed since Rev0.3 */ ret = i2c_add_devices(1, i2c_devs1_03_bd, ARRAY_SIZE(i2c_devs1_03_bd)); if (ret < 0) { pr_err("%s, i2c1 adding i2c fail(err=%d)\n", __func__, ret); return ret; } } else { ret = i2c_add_devices(0, i2c_devs0_01_bd, ARRAY_SIZE(i2c_devs0_01_bd)); if (ret < 0) { pr_err("%s, i2c0 adding i2c fail(err=%d)\n", __func__, ret); return ret; } 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; } } return ret; }
static int __init midas_sensor_init(void) { int ret; pr_info("%s\n", __func__); /* Gyro & Accelerometer Sensor */ #if defined(CONFIG_SENSORS_K330) 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; } 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; } #endif /* Optical Sensor */ #if defined(CONFIG_SENSORS_GP2A) 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; } ret = platform_device_register(&opt_gp2a); if (ret < 0) { pr_err("%s, failed to register opt_gp2a(err=%d)\n", __func__, ret); return ret; } ret = platform_device_register(&light_gp2a); if (ret < 0) { pr_err("%s, failed to register light_gp2a(err=%d)\n", __func__, ret); return ret; } #endif /* Magnetic Sensor */ #ifdef CONFIG_SENSORS_AK8963C ret = ak8963c_gpio_init(); if (ret < 0) { pr_err("%s, ak8963c_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 return ret; }