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 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) \ #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 = { \ static struct lmp90xxx_data lmp##t##_data_##n = { \
ADC_CONTEXT_INIT_TIMER(lmp##t##_data_##n, ctx), \ ADC_CONTEXT_INIT_TIMER(lmp##t##_data_##n, ctx), \
ADC_CONTEXT_INIT_LOCK(lmp##t##_data_##n, ctx), \ ADC_CONTEXT_INIT_LOCK(lmp##t##_data_##n, ctx), \
ADC_CONTEXT_INIT_SYNC(lmp##t##_data_##n, ctx), \ ADC_CONTEXT_INIT_SYNC(lmp##t##_data_##n, ctx), \
}; \ }; \
static const struct lmp90xxx_config lmp##t##_config_##n = { \ static const struct lmp90xxx_config lmp##t##_config_##n = { \
.spi_dev_name = DT_INST_##n##_TI_LMP##t##_BUS_NAME, \ .spi_dev_name = DT_BUS_LABEL(DT_INST_LMP90XXX(n, t)), \
.spi_cs_dev_name = \ .spi_cs_dev_name = UTIL_AND( \
DT_INST_##n##_TI_LMP##t##_CS_GPIOS_CONTROLLER, \ DT_SPI_DEV_HAS_CS_GPIOS(DT_INST_LMP90XXX(n, t)), \
.spi_cs_pin = DT_INST_##n##_TI_LMP##t##_CS_GPIOS_PIN, \ 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 = { \ .spi_cfg = { \
.operation = (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \ .operation = (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \
SPI_WORD_SET(8)), \ SPI_WORD_SET(8)), \
.frequency = \ .frequency = DT_PROP(DT_INST_LMP90XXX(n, t), \
DT_INST_##n##_TI_LMP##t##_SPI_MAX_FREQUENCY, \ spi_max_frequency), \
.slave = DT_INST_##n##_TI_LMP##t##_BASE_ADDRESS, \ .slave = DT_REG_ADDR(DT_INST_LMP90XXX(n, t)), \
.cs = &lmp##t##_data_##n.spi_cs, \ .cs = &lmp##t##_data_##n.spi_cs, \
}, \ }, \
.drdyb_dev_name = \ .drdyb_dev_name = UTIL_AND( \
DT_INST_##n##_TI_LMP##t##_DRDYB_GPIOS_CONTROLLER, \ DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), drdyb_gpios), \
.drdyb_pin = DT_INST_##n##_TI_LMP##t##_DRDYB_GPIOS_PIN, \ DT_GPIO_LABEL(DT_INST_LMP90XXX(n, t), drdyb_gpios) \
.drdyb_flags = DT_INST_##n##_TI_LMP##t##_DRDYB_GPIOS_FLAGS, \ ), \
.rtd_current = LMP90XXX_UAMPS_TO_RTD_CUR_SEL( \ .drdyb_pin = UTIL_AND( \
DT_INST_##n##_TI_LMP##t##_RTD_CURRENT), \ 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, \ .resolution = res, \
.channels = ch, \ .channels = ch, \
}; \ }; \
DEVICE_AND_API_INIT(lmp##t##_##n, \ 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, \ &lmp90xxx_init, &lmp##t##_data_##n, \
&lmp##t##_config_##n, POST_KERNEL, \ &lmp##t##_config_##n, POST_KERNEL, \
CONFIG_ADC_LMP90XXX_INIT_PRIORITY, \ 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 * LMP90077: 16 bit, 2 diff/4 se (4 channels), 0 currents
*/ */
#if DT_INST_0_TI_LMP90077 #if DT_HAS_COMPAT(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
LMP90XXX_DEVICE(90077, 0, 16, 4); LMP90XXX_DEVICE(90077, 0, 16, 4);
#endif /* DT_INST_0_TI_LMP90077 */ #endif /* DT_INST_0_TI_LMP90077 */
/* /*
* LMP90078: 16 bit, 2 diff/4 se (4 channels), 2 currents * LMP90078: 16 bit, 2 diff/4 se (4 channels), 2 currents
*/ */
#if DT_INST_0_TI_LMP90078 #if DT_HAS_COMPAT(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 */
LMP90XXX_DEVICE(90078, 0, 16, 4); LMP90XXX_DEVICE(90078, 0, 16, 4);
#endif /* DT_INST_0_TI_LMP90078 */ #endif /* DT_INST_0_TI_LMP90078 */
/* /*
* LMP90079: 16 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5 * LMP90079: 16 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5
*/ */
#if DT_INST_0_TI_LMP90079 #if DT_HAS_COMPAT(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
LMP90XXX_DEVICE(90079, 0, 16, 7); LMP90XXX_DEVICE(90079, 0, 16, 7);
#endif /* DT_INST_0_TI_LMP90079 */ #endif /* DT_INST_0_TI_LMP90079 */
/* /*
* LMP90080: 16 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5 * LMP90080: 16 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5
*/ */
#if DT_INST_0_TI_LMP90080 #if DT_HAS_COMPAT(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 */
LMP90XXX_DEVICE(90080, 0, 16, 7); LMP90XXX_DEVICE(90080, 0, 16, 7);
#endif /* DT_INST_0_TI_LMP90080 */ #endif /* DT_INST_0_TI_LMP90080 */
/* /*
* LMP90097: 24 bit, 2 diff/4 se (4 channels), 0 currents * LMP90097: 24 bit, 2 diff/4 se (4 channels), 0 currents
*/ */
#if DT_INST_0_TI_LMP90097 #if DT_HAS_COMPAT(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
LMP90XXX_DEVICE(90097, 0, 24, 4); LMP90XXX_DEVICE(90097, 0, 24, 4);
#endif /* DT_INST_0_TI_LMP90097 */ #endif /* DT_INST_0_TI_LMP90097 */
/* /*
* LMP90098: 24 bit, 2 diff/4 se (4 channels), 2 currents * LMP90098: 24 bit, 2 diff/4 se (4 channels), 2 currents
*/ */
#if DT_INST_0_TI_LMP90098 #if DT_HAS_COMPAT(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 */
LMP90XXX_DEVICE(90098, 0, 24, 4); LMP90XXX_DEVICE(90098, 0, 24, 4);
#endif /* DT_INST_0_TI_LMP90098 */ #endif /* DT_INST_0_TI_LMP90098 */
/* /*
* LMP90099: 24 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5 * LMP90099: 24 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5
*/ */
#if DT_INST_0_TI_LMP90099 #if DT_HAS_COMPAT(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
LMP90XXX_DEVICE(90099, 0, 24, 7); LMP90XXX_DEVICE(90099, 0, 24, 7);
#endif /* DT_INST_0_TI_LMP90099 */ #endif /* DT_INST_0_TI_LMP90099 */
/* /*
* LMP90100: 24 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5 * LMP90100: 24 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5
*/ */
#if DT_INST_0_TI_LMP90100 #if DT_HAS_COMPAT(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 */
LMP90XXX_DEVICE(90100, 0, 24, 7); LMP90XXX_DEVICE(90100, 0, 24, 7);
#endif /* DT_INST_0_TI_LMP90100 */ #endif /* DT_INST_0_TI_LMP90100 */