Loading drivers/input/misc/vl53L0/stmvl53l0.h +1 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,7 @@ struct stmvl53l0_data { struct miscdevice miscdev; int irq; int irq_gpio; unsigned int reset; /* control flag from HAL */ Loading drivers/input/misc/vl53L0/stmvl53l0_module-cci.c +14 −0 Original line number Diff line number Diff line Loading @@ -248,6 +248,7 @@ static int stmvl53l0_cci_init(struct cci_data *data) cci_client->retries = 3; cci_client->id_map = 0; cci_client->cci_i2c_master = data->cci_master; cci_client->i2c_freq_mode = I2C_FAST_MODE; rc = data->client->i2c_func_tbl->i2c_util(data->client, MSM_CCI_INIT); if (rc < 0) { vl53l0_errmsg("%d: CCI Init failed\n", __LINE__); Loading Loading @@ -295,8 +296,20 @@ static int32_t stmvl53l0_platform_probe(struct platform_device *pdev) rc = stmvl53l0_get_dt_data(&pdev->dev, cci_object); if (rc < 0) { vl53l0_errmsg("%d, failed rc %d\n", __LINE__, rc); kfree(vl53l0_data->client_object); kfree(vl53l0_data); return rc; } vl53l0_data->irq_gpio = of_get_named_gpio_flags(pdev->dev.of_node, "stm,irq-gpio", 0, NULL); if (!gpio_is_valid(vl53l0_data->irq_gpio)) { vl53l0_errmsg("%d failed get irq gpio", __LINE__); kfree(vl53l0_data->client_object); kfree(vl53l0_data); return -EINVAL; } cci_object->subdev_id = pdev->id; /* Set device type as platform device */ Loading Loading @@ -418,6 +431,7 @@ int stmvl53l0_power_up_cci(void *cci_object, unsigned int *preset_flag) } } data->power_up = 1; usleep_range(3000, 3500); *preset_flag = 1; vl53l0_dbgmsg("End\n"); Loading drivers/input/misc/vl53L0/stmvl53l0_module.c +6 −6 Original line number Diff line number Diff line Loading @@ -38,8 +38,8 @@ #include "vl53l0_api.h" #include "vl53l010_api.h" /*#define USE_INT */ #define IRQ_NUM 59 #define USE_INT /* #define DEBUG_TIME_LOG */ #ifdef DEBUG_TIME_LOG struct timeval start_tv, stop_tv; Loading Loading @@ -2668,12 +2668,12 @@ int stmvl53l0_setup(struct stmvl53l0_data *data) #ifdef USE_INT /* init interrupt */ gpio_request(IRQ_NUM, "vl53l0_gpio_int"); gpio_direction_input(IRQ_NUM); irq = gpio_to_irq(IRQ_NUM); gpio_request(data->irq_gpio, "vl53l0_gpio_int"); gpio_direction_input(data->irq_gpio); irq = gpio_to_irq(data->irq_gpio); if (irq < 0) { vl53l0_errmsg("filed to map GPIO: %d to interrupt:%d\n", IRQ_NUM, irq); data->irq_gpio, irq); } else { vl53l0_dbgmsg("register_irq:%d\n", irq); /* IRQF_TRIGGER_FALLING- poliarity:0 IRQF_TRIGGER_RISNG - Loading Loading
drivers/input/misc/vl53L0/stmvl53l0.h +1 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,7 @@ struct stmvl53l0_data { struct miscdevice miscdev; int irq; int irq_gpio; unsigned int reset; /* control flag from HAL */ Loading
drivers/input/misc/vl53L0/stmvl53l0_module-cci.c +14 −0 Original line number Diff line number Diff line Loading @@ -248,6 +248,7 @@ static int stmvl53l0_cci_init(struct cci_data *data) cci_client->retries = 3; cci_client->id_map = 0; cci_client->cci_i2c_master = data->cci_master; cci_client->i2c_freq_mode = I2C_FAST_MODE; rc = data->client->i2c_func_tbl->i2c_util(data->client, MSM_CCI_INIT); if (rc < 0) { vl53l0_errmsg("%d: CCI Init failed\n", __LINE__); Loading Loading @@ -295,8 +296,20 @@ static int32_t stmvl53l0_platform_probe(struct platform_device *pdev) rc = stmvl53l0_get_dt_data(&pdev->dev, cci_object); if (rc < 0) { vl53l0_errmsg("%d, failed rc %d\n", __LINE__, rc); kfree(vl53l0_data->client_object); kfree(vl53l0_data); return rc; } vl53l0_data->irq_gpio = of_get_named_gpio_flags(pdev->dev.of_node, "stm,irq-gpio", 0, NULL); if (!gpio_is_valid(vl53l0_data->irq_gpio)) { vl53l0_errmsg("%d failed get irq gpio", __LINE__); kfree(vl53l0_data->client_object); kfree(vl53l0_data); return -EINVAL; } cci_object->subdev_id = pdev->id; /* Set device type as platform device */ Loading Loading @@ -418,6 +431,7 @@ int stmvl53l0_power_up_cci(void *cci_object, unsigned int *preset_flag) } } data->power_up = 1; usleep_range(3000, 3500); *preset_flag = 1; vl53l0_dbgmsg("End\n"); Loading
drivers/input/misc/vl53L0/stmvl53l0_module.c +6 −6 Original line number Diff line number Diff line Loading @@ -38,8 +38,8 @@ #include "vl53l0_api.h" #include "vl53l010_api.h" /*#define USE_INT */ #define IRQ_NUM 59 #define USE_INT /* #define DEBUG_TIME_LOG */ #ifdef DEBUG_TIME_LOG struct timeval start_tv, stop_tv; Loading Loading @@ -2668,12 +2668,12 @@ int stmvl53l0_setup(struct stmvl53l0_data *data) #ifdef USE_INT /* init interrupt */ gpio_request(IRQ_NUM, "vl53l0_gpio_int"); gpio_direction_input(IRQ_NUM); irq = gpio_to_irq(IRQ_NUM); gpio_request(data->irq_gpio, "vl53l0_gpio_int"); gpio_direction_input(data->irq_gpio); irq = gpio_to_irq(data->irq_gpio); if (irq < 0) { vl53l0_errmsg("filed to map GPIO: %d to interrupt:%d\n", IRQ_NUM, irq); data->irq_gpio, irq); } else { vl53l0_dbgmsg("register_irq:%d\n", irq); /* IRQF_TRIGGER_FALLING- poliarity:0 IRQF_TRIGGER_RISNG - Loading