drivers: adc: lmp90xxx: convert to new DT API

Use the new devicetree.h API instead of the legacy macros.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2020-03-26 21:46:49 +01:00 committed by Kumar Gala
commit 23957a8938

View file

@ -1057,37 +1057,57 @@ static const struct adc_driver_api lmp90xxx_adc_api = {
#define LMP90XXX_UAMPS_TO_RTD_CUR_SEL(x) (x / 100)
#define DT_INST_LMP90XXX(inst, t) DT_INST(inst, ti_lmp##t)
#define LMP90XXX_DEVICE(t, n, res, ch) \
ASSERT_LMP90XXX_CURRENT_VALID(DT_INST_##n##_TI_LMP##t##_RTD_CURRENT); \
ASSERT_LMP90XXX_CURRENT_VALID(UTIL_AND( \
DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), rtd_current), \
DT_PROP(DT_INST_LMP90XXX(n, t), rtd_current))); \
static struct lmp90xxx_data lmp##t##_data_##n = { \
ADC_CONTEXT_INIT_TIMER(lmp##t##_data_##n, ctx), \
ADC_CONTEXT_INIT_LOCK(lmp##t##_data_##n, ctx), \
ADC_CONTEXT_INIT_SYNC(lmp##t##_data_##n, ctx), \
}; \
static const struct lmp90xxx_config lmp##t##_config_##n = { \
.spi_dev_name = DT_INST_##n##_TI_LMP##t##_BUS_NAME, \
.spi_cs_dev_name = \
DT_INST_##n##_TI_LMP##t##_CS_GPIOS_CONTROLLER, \
.spi_cs_pin = DT_INST_##n##_TI_LMP##t##_CS_GPIOS_PIN, \
.spi_dev_name = DT_BUS_LABEL(DT_INST_LMP90XXX(n, t)), \
.spi_cs_dev_name = UTIL_AND( \
DT_SPI_DEV_HAS_CS_GPIOS(DT_INST_LMP90XXX(n, t)), \
DT_SPI_DEV_CS_GPIOS_LABEL(DT_INST_LMP90XXX(n, t)) \
), \
.spi_cs_pin = UTIL_AND( \
DT_SPI_DEV_HAS_CS_GPIOS(DT_INST_LMP90XXX(n, t)), \
DT_SPI_DEV_CS_GPIOS_PIN(DT_INST_LMP90XXX(n, t)) \
), \
.spi_cfg = { \
.operation = (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \
SPI_WORD_SET(8)), \
.frequency = \
DT_INST_##n##_TI_LMP##t##_SPI_MAX_FREQUENCY, \
.slave = DT_INST_##n##_TI_LMP##t##_BASE_ADDRESS, \
.frequency = DT_PROP(DT_INST_LMP90XXX(n, t), \
spi_max_frequency), \
.slave = DT_REG_ADDR(DT_INST_LMP90XXX(n, t)), \
.cs = &lmp##t##_data_##n.spi_cs, \
}, \
.drdyb_dev_name = \
DT_INST_##n##_TI_LMP##t##_DRDYB_GPIOS_CONTROLLER, \
.drdyb_pin = DT_INST_##n##_TI_LMP##t##_DRDYB_GPIOS_PIN, \
.drdyb_flags = DT_INST_##n##_TI_LMP##t##_DRDYB_GPIOS_FLAGS, \
.rtd_current = LMP90XXX_UAMPS_TO_RTD_CUR_SEL( \
DT_INST_##n##_TI_LMP##t##_RTD_CURRENT), \
.drdyb_dev_name = UTIL_AND( \
DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), drdyb_gpios), \
DT_GPIO_LABEL(DT_INST_LMP90XXX(n, t), drdyb_gpios) \
), \
.drdyb_pin = UTIL_AND( \
DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), drdyb_gpios), \
DT_GPIO_PIN(DT_INST_LMP90XXX(n, t), drdyb_gpios) \
), \
.drdyb_flags = UTIL_AND( \
DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), drdyb_gpios), \
DT_GPIO_FLAGS(DT_INST_LMP90XXX(n, t), drdyb_gpios) \
), \
.rtd_current = UTIL_AND( \
DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), rtd_current), \
LMP90XXX_UAMPS_TO_RTD_CUR_SEL( \
DT_PROP(DT_INST_LMP90XXX(n, t), rtd_current)) \
), \
.resolution = res, \
.channels = ch, \
}; \
DEVICE_AND_API_INIT(lmp##t##_##n, \
DT_INST_##n##_TI_LMP##t##_LABEL, \
DT_LABEL(DT_INST_LMP90XXX(n, t)), \
&lmp90xxx_init, &lmp##t##_data_##n, \
&lmp##t##_config_##n, POST_KERNEL, \
CONFIG_ADC_LMP90XXX_INIT_PRIORITY, \
@ -1096,143 +1116,55 @@ static const struct adc_driver_api lmp90xxx_adc_api = {
/*
* LMP90077: 16 bit, 2 diff/4 se (4 channels), 0 currents
*/
#if DT_INST_0_TI_LMP90077
#ifndef DT_INST_0_TI_LMP90077_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90077_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90077_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90077_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90077_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90077_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90077_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90077_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90077_DRDYB_GPIOS_CONTROLLER */
#define DT_INST_0_TI_LMP90077_RTD_CURRENT 0
#if DT_HAS_COMPAT(ti_lmp90077)
LMP90XXX_DEVICE(90077, 0, 16, 4);
#endif /* DT_INST_0_TI_LMP90077 */
/*
* LMP90078: 16 bit, 2 diff/4 se (4 channels), 2 currents
*/
#if DT_INST_0_TI_LMP90078
#ifndef DT_INST_0_TI_LMP90078_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90078_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90078_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90078_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90078_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90078_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90078_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90078_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90078_DRDYB_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90078_RTD_CURRENT
#define DT_INST_0_TI_LMP90078_RTD_CURRENT 0
#endif /* DT_INST_0_TI_LMP90078_RTD_CURRENT */
#if DT_HAS_COMPAT(ti_lmp90078)
LMP90XXX_DEVICE(90078, 0, 16, 4);
#endif /* DT_INST_0_TI_LMP90078 */
/*
* LMP90079: 16 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5
*/
#if DT_INST_0_TI_LMP90079
#ifndef DT_INST_0_TI_LMP90079_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90079_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90079_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90079_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90079_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90079_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90079_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90079_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90079_DRDYB_GPIOS_CONTROLLER */
#define DT_INST_0_TI_LMP90079_RTD_CURRENT 0
#if DT_HAS_COMPAT(ti_lmp90079)
LMP90XXX_DEVICE(90079, 0, 16, 7);
#endif /* DT_INST_0_TI_LMP90079 */
/*
* LMP90080: 16 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5
*/
#if DT_INST_0_TI_LMP90080
#ifndef DT_INST_0_TI_LMP90080_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90080_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90080_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90080_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90080_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90080_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90080_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90080_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90080_DRDYB_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90080_RTD_CURRENT
#define DT_INST_0_TI_LMP90080_RTD_CURRENT 0
#endif /* DT_INST_0_TI_LMP90080_RTD_CURRENT */
#if DT_HAS_COMPAT(ti_lmp90080)
LMP90XXX_DEVICE(90080, 0, 16, 7);
#endif /* DT_INST_0_TI_LMP90080 */
/*
* LMP90097: 24 bit, 2 diff/4 se (4 channels), 0 currents
*/
#if DT_INST_0_TI_LMP90097
#ifndef DT_INST_0_TI_LMP90097_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90097_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90097_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90097_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90097_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90097_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90097_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90097_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90097_DRDYB_GPIOS_CONTROLLER */
#define DT_INST_0_TI_LMP90097_RTD_CURRENT 0
#if DT_HAS_COMPAT(ti_lmp90097)
LMP90XXX_DEVICE(90097, 0, 24, 4);
#endif /* DT_INST_0_TI_LMP90097 */
/*
* LMP90098: 24 bit, 2 diff/4 se (4 channels), 2 currents
*/
#if DT_INST_0_TI_LMP90098
#ifndef DT_INST_0_TI_LMP90098_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90098_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90098_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90098_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90098_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90098_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90098_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90098_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90098_DRDYB_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90098_RTD_CURRENT
#define DT_INST_0_TI_LMP90098_RTD_CURRENT 0
#endif /* DT_INST_0_TI_LMP90098_RTD_CURRENT */
#if DT_HAS_COMPAT(ti_lmp90098)
LMP90XXX_DEVICE(90098, 0, 24, 4);
#endif /* DT_INST_0_TI_LMP90098 */
/*
* LMP90099: 24 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5
*/
#if DT_INST_0_TI_LMP90099
#ifndef DT_INST_0_TI_LMP90099_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90099_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90099_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90099_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90099_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90099_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90099_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90099_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90099_DRDYB_GPIOS_CONTROLLER */
#define DT_INST_0_TI_LMP90099_RTD_CURRENT 0
#if DT_HAS_COMPAT(ti_lmp90099)
LMP90XXX_DEVICE(90099, 0, 24, 7);
#endif /* DT_INST_0_TI_LMP90099 */
/*
* LMP90100: 24 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5
*/
#if DT_INST_0_TI_LMP90100
#ifndef DT_INST_0_TI_LMP90100_CS_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90100_CS_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90100_CS_GPIOS_PIN 0
#endif /* DT_INST_0_TI_LMP90100_CS_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90100_DRDYB_GPIOS_CONTROLLER
#define DT_INST_0_TI_LMP90100_DRDYB_GPIOS_CONTROLLER NULL
#define DT_INST_0_TI_LMP90100_DRDYB_GPIOS_PIN 0
#define DT_INST_0_TI_LMP90100_DRDYB_GPIOS_FLAGS 0
#endif /* !DT_INST_0_TI_LMP90100_DRDYB_GPIOS_CONTROLLER */
#ifndef DT_INST_0_TI_LMP90100_RTD_CURRENT
#define DT_INST_0_TI_LMP90100_RTD_CURRENT 0
#endif /* DT_INST_0_TI_LMP90100_RTD_CURRENT */
#if DT_HAS_COMPAT(ti_lmp90100)
LMP90XXX_DEVICE(90100, 0, 24, 7);
#endif /* DT_INST_0_TI_LMP90100 */