fix dep, multi insts

This commit is contained in:
crides 2022-11-25 23:37:29 -06:00
parent 56a1d796af
commit e72d668648
2 changed files with 13 additions and 17 deletions

View file

@ -4,7 +4,7 @@
menuconfig PINNACLE menuconfig PINNACLE
bool "PINNACLE Incremental Encoder Sensor" bool "PINNACLE Incremental Encoder Sensor"
depends on GPIO depends on GPIO
depends on SPI depends on SPI || I2C
help help
Enable driver for Cirque Pinnacle trackpads Enable driver for Cirque Pinnacle trackpads

View file

@ -237,20 +237,16 @@ static const struct sensor_driver_api pinnacle_driver_api = {
.attr_set = pinnacle_attr_set, .attr_set = pinnacle_attr_set,
}; };
static struct pinnacle_data pinnacle_data; #define CIRQUE_INST(n) \
static const struct pinnacle_config pinnacle_config = { static struct pinnacle_data pinnacle_data_##n; \
#if DT_INST_ON_BUS(0, i2c) static const struct pinnacle_config pinnacle_config_##n = { \
.bus = I2C_DT_SPEC_INST_GET(0), .bus = COND_CODE_1(DT_INST_ON_BUS(0, i2c), I2C_DT_SPEC_INST_GET(0), (SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_LINES_SINGLE | SPI_TRANSFER_MSB, 0))), \
#elif DT_INST_ON_BUS(0, spi) .invert_x = DT_INST_PROP(0, invert_x), \
.bus = SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_LINES_SINGLE | SPI_TRANSFER_MSB, 0), .invert_y = DT_INST_PROP(0, invert_y), \
#endif .sleep_en = DT_INST_PROP(0, sleep), \
.invert_x = DT_INST_PROP(0, invert_x), .no_taps = DT_INST_PROP(0, no_taps), \
.invert_y = DT_INST_PROP(0, invert_y), COND_CODE_1(CONFIG_PINNACLE_TRIGGER, (.dr = GPIO_DT_SPEC_GET(DT_DRV_INST(0), dr_gpios),), ) \
.sleep_en = DT_INST_PROP(0, sleep), }; \
.no_taps = DT_INST_PROP(0, no_taps), DEVICE_DT_INST_DEFINE(n, pinnacle_init, device_pm_control_nop, &pinnacle_data_##n, &pinnacle_config_##n, POST_KERNEL, CONFIG_SENSOR_INIT_PRIORITY, &pinnacle_driver_api);
#ifdef CONFIG_PINNACLE_TRIGGER
.dr = GPIO_DT_SPEC_GET(DT_DRV_INST(0), dr_gpios),
#endif
};
DEVICE_DT_INST_DEFINE(0, pinnacle_init, device_pm_control_nop, &pinnacle_data, &pinnacle_config, POST_KERNEL, CONFIG_SENSOR_INIT_PRIORITY, &pinnacle_driver_api); DT_INST_FOREACH_STATUS_OKAY(CIRQUE_INST)