@@ -1078,7 +1078,7 @@ static const struct adc_driver_api lmp90xxx_adc_api = {
10781078
10791079#define DT_INST_LMP90XXX (inst , t ) DT_INST(inst, ti_lmp##t)
10801080
1081- #define LMP90XXX_DEVICE (t , n , res , ch ) \
1081+ #define LMP90XXX_INIT (t , n , res , ch ) \
10821082 ASSERT_LMP90XXX_CURRENT_VALID(UTIL_AND( \
10831083 DT_NODE_HAS_PROP(DT_INST_LMP90XXX(n, t), rtd_current), \
10841084 DT_PROP(DT_INST_LMP90XXX(n, t), rtd_current))); \
@@ -1134,60 +1134,58 @@ static const struct adc_driver_api lmp90xxx_adc_api = {
11341134 &lmp##t##_data_##n, \
11351135 &lmp##t##_config_##n, POST_KERNEL, \
11361136 CONFIG_ADC_LMP90XXX_INIT_PRIORITY, \
1137- &lmp90xxx_adc_api)
1137+ &lmp90xxx_adc_api);
1138+
1139+ #define LMP90XXX_FOREACH_STATUS_OKAY (compat , fn ) \
1140+ COND_CODE_1(DT_HAS_COMPAT_STATUS_OKAY(compat), \
1141+ (UTIL_CAT(DT_FOREACH_OKAY_INST_, \
1142+ compat)(fn)), \
1143+ ())
11381144
11391145/*
11401146 * LMP90077: 16 bit, 2 diff/4 se (4 channels), 0 currents
11411147 */
1142- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90077 )
1143- LMP90XXX_DEVICE (90077 , 0 , 16 , 4 );
1144- #endif
1148+ #define LMP90077_INIT (n ) LMP90XXX_INIT(90077, n, 16, 4)
1149+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90077 , LMP90077_INIT )
11451150
11461151/*
11471152 * LMP90078: 16 bit, 2 diff/4 se (4 channels), 2 currents
11481153 */
1149- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90078 )
1150- LMP90XXX_DEVICE (90078 , 0 , 16 , 4 );
1151- #endif
1154+ #define LMP90078_INIT (n ) LMP90XXX_INIT(90078, n, 16, 4)
1155+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90078 , LMP90078_INIT )
11521156
11531157/*
11541158 * LMP90079: 16 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5
11551159 */
1156- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90079 )
1157- LMP90XXX_DEVICE (90079 , 0 , 16 , 7 );
1158- #endif
1160+ #define LMP90079_INIT (n ) LMP90XXX_INIT(90079, n, 16, 7)
1161+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90079 , LMP90079_INIT )
11591162
11601163/*
11611164 * LMP90080: 16 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5
11621165 */
1163- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90080 )
1164- LMP90XXX_DEVICE (90080 , 0 , 16 , 7 );
1165- #endif
1166+ #define LMP90080_INIT (n ) LMP90XXX_INIT(90080, n, 16, 7)
1167+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90080 , LMP90080_INIT )
11661168
11671169/*
11681170 * LMP90097: 24 bit, 2 diff/4 se (4 channels), 0 currents
11691171 */
1170- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90097 )
1171- LMP90XXX_DEVICE (90097 , 0 , 24 , 4 );
1172- #endif
1172+ #define LMP90097_INIT (n ) LMP90XXX_INIT(90097, n, 24, 4)
1173+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90097 , LMP90097_INIT )
11731174
11741175/*
11751176 * LMP90098: 24 bit, 2 diff/4 se (4 channels), 2 currents
11761177 */
1177- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90098 )
1178- LMP90XXX_DEVICE (90098 , 0 , 24 , 4 );
1179- #endif
1178+ #define LMP90098_INIT (n ) LMP90XXX_INIT(90098, n, 24, 4)
1179+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90098 , LMP90098_INIT )
11801180
11811181/*
11821182 * LMP90099: 24 bit, 4 diff/7 se (7 channels), 0 currents, has VIN3-5
11831183 */
1184- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90099 )
1185- LMP90XXX_DEVICE (90099 , 0 , 24 , 7 );
1186- #endif
1184+ #define LMP90099_INIT (n ) LMP90XXX_INIT(90099, n, 24, 7)
1185+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90099 , LMP90099_INIT )
11871186
11881187/*
11891188 * LMP90100: 24 bit, 4 diff/7 se (7 channels), 2 currents, has VIN3-5
11901189 */
1191- #if DT_HAS_COMPAT_STATUS_OKAY (ti_lmp90100 )
1192- LMP90XXX_DEVICE (90100 , 0 , 24 , 7 );
1193- #endif
1190+ #define LMP90100_INIT (n ) LMP90XXX_INIT(90100, n, 24, 7)
1191+ LMP90XXX_FOREACH_STATUS_OKAY (ti_lmp90100 , LMP90100_INIT )
0 commit comments