Skip to content

Commit 7c4deb9

Browse files
[nrf fromlist] drivers: i2c: i2c_nrfx_twi: Use iterable device definition
Using explicit instance number in driver no longer needed. Upstream PR #: 93083 Signed-off-by: Michał Stasiak <[email protected]>
1 parent 797a60e commit 7c4deb9

File tree

3 files changed

+9
-214
lines changed

3 files changed

+9
-214
lines changed

drivers/i2c/i2c_nrfx_twim.c

Lines changed: 3 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -302,78 +302,7 @@ static DEVICE_API(i2c, i2c_nrfx_twim_driver_api) = {
302302
DT_PHANDLE(I2C(idx), memory_regions)))))), \
303303
())
304304

305-
#ifdef CONFIG_HAS_HW_NRF_TWIM0
306-
I2C_NRFX_TWIM_DEVICE(0);
307-
#endif
308-
309-
#ifdef CONFIG_HAS_HW_NRF_TWIM1
310-
I2C_NRFX_TWIM_DEVICE(1);
311-
#endif
312-
313-
#ifdef CONFIG_HAS_HW_NRF_TWIM2
314-
I2C_NRFX_TWIM_DEVICE(2);
315-
#endif
316-
317-
#ifdef CONFIG_HAS_HW_NRF_TWIM3
318-
I2C_NRFX_TWIM_DEVICE(3);
319-
#endif
320-
321-
#ifdef CONFIG_HAS_HW_NRF_TWIM20
322-
I2C_NRFX_TWIM_DEVICE(20);
323-
#endif
324-
325-
#ifdef CONFIG_HAS_HW_NRF_TWIM21
326-
I2C_NRFX_TWIM_DEVICE(21);
327-
#endif
328-
329-
#ifdef CONFIG_HAS_HW_NRF_TWIM22
330-
I2C_NRFX_TWIM_DEVICE(22);
331-
#endif
332-
333-
#ifdef CONFIG_HAS_HW_NRF_TWIM23
334-
I2C_NRFX_TWIM_DEVICE(23);
335-
#endif
336-
337-
#ifdef CONFIG_HAS_HW_NRF_TWIM24
338-
I2C_NRFX_TWIM_DEVICE(24);
339-
#endif
340-
341-
#ifdef CONFIG_HAS_HW_NRF_TWIM30
342-
I2C_NRFX_TWIM_DEVICE(30);
343-
#endif
344-
345-
#ifdef CONFIG_HAS_HW_NRF_TWIM120
346-
I2C_NRFX_TWIM_DEVICE(120);
347-
#endif
348-
349-
#ifdef CONFIG_HAS_HW_NRF_TWIM130
350-
I2C_NRFX_TWIM_DEVICE(130);
351-
#endif
352-
353-
#ifdef CONFIG_HAS_HW_NRF_TWIM131
354-
I2C_NRFX_TWIM_DEVICE(131);
355-
#endif
356-
357-
#ifdef CONFIG_HAS_HW_NRF_TWIM132
358-
I2C_NRFX_TWIM_DEVICE(132);
359-
#endif
305+
#define COND_I2C_NRF_TWIM_DEVICE(unused, prefix, i, _) \
306+
IF_ENABLED(CONFIG_HAS_HW_NRF_TWIM##prefix##i, (I2C_NRFX_TWIM_DEVICE(prefix##i);))
360307

361-
#ifdef CONFIG_HAS_HW_NRF_TWIM133
362-
I2C_NRFX_TWIM_DEVICE(133);
363-
#endif
364-
365-
#ifdef CONFIG_HAS_HW_NRF_TWIM134
366-
I2C_NRFX_TWIM_DEVICE(134);
367-
#endif
368-
369-
#ifdef CONFIG_HAS_HW_NRF_TWIM135
370-
I2C_NRFX_TWIM_DEVICE(135);
371-
#endif
372-
373-
#ifdef CONFIG_HAS_HW_NRF_TWIM136
374-
I2C_NRFX_TWIM_DEVICE(136);
375-
#endif
376-
377-
#ifdef CONFIG_HAS_HW_NRF_TWIM137
378-
I2C_NRFX_TWIM_DEVICE(137);
379-
#endif
308+
NRFX_FOREACH_PRESENT(TWIM, COND_I2C_NRF_TWIM_DEVICE, (), ())

drivers/i2c/i2c_nrfx_twim_rtio.c

Lines changed: 3 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -293,78 +293,7 @@ static int i2c_nrfx_twim_rtio_deinit(const struct device *dev)
293293
&twim_##idx##z_config, POST_KERNEL, CONFIG_I2C_INIT_PRIORITY, \
294294
&i2c_nrfx_twim_driver_api);
295295

296-
#ifdef CONFIG_HAS_HW_NRF_TWIM0
297-
I2C_NRFX_TWIM_RTIO_DEVICE(0);
298-
#endif
296+
#define COND_I2C_NRF_TWIM_RTIO_DEVICE(unused, prefix, i, _) \
297+
IF_ENABLED(CONFIG_HAS_HW_NRF_TWIM##prefix##i, (I2C_NRFX_TWIM_RTIO_DEVICE(prefix##i);))
299298

300-
#ifdef CONFIG_HAS_HW_NRF_TWIM1
301-
I2C_NRFX_TWIM_RTIO_DEVICE(1);
302-
#endif
303-
304-
#ifdef CONFIG_HAS_HW_NRF_TWIM2
305-
I2C_NRFX_TWIM_RTIO_DEVICE(2);
306-
#endif
307-
308-
#ifdef CONFIG_HAS_HW_NRF_TWIM3
309-
I2C_NRFX_TWIM_RTIO_DEVICE(3);
310-
#endif
311-
312-
#ifdef CONFIG_HAS_HW_NRF_TWIM20
313-
I2C_NRFX_TWIM_RTIO_DEVICE(20);
314-
#endif
315-
316-
#ifdef CONFIG_HAS_HW_NRF_TWIM21
317-
I2C_NRFX_TWIM_RTIO_DEVICE(21);
318-
#endif
319-
320-
#ifdef CONFIG_HAS_HW_NRF_TWIM22
321-
I2C_NRFX_TWIM_RTIO_DEVICE(22);
322-
#endif
323-
324-
#ifdef CONFIG_HAS_HW_NRF_TWIM23
325-
I2C_NRFX_TWIM_RTIO_DEVICE(23);
326-
#endif
327-
328-
#ifdef CONFIG_HAS_HW_NRF_TWIM24
329-
I2C_NRFX_TWIM_RTIO_DEVICE(24);
330-
#endif
331-
332-
#ifdef CONFIG_HAS_HW_NRF_TWIM30
333-
I2C_NRFX_TWIM_RTIO_DEVICE(30);
334-
#endif
335-
336-
#ifdef CONFIG_HAS_HW_NRF_TWIM120
337-
I2C_NRFX_TWIM_RTIO_DEVICE(120);
338-
#endif
339-
340-
#ifdef CONFIG_HAS_HW_NRF_TWIM130
341-
I2C_NRFX_TWIM_RTIO_DEVICE(130);
342-
#endif
343-
344-
#ifdef CONFIG_HAS_HW_NRF_TWIM131
345-
I2C_NRFX_TWIM_RTIO_DEVICE(131);
346-
#endif
347-
348-
#ifdef CONFIG_HAS_HW_NRF_TWIM132
349-
I2C_NRFX_TWIM_RTIO_DEVICE(132);
350-
#endif
351-
352-
#ifdef CONFIG_HAS_HW_NRF_TWIM133
353-
I2C_NRFX_TWIM_RTIO_DEVICE(133);
354-
#endif
355-
356-
#ifdef CONFIG_HAS_HW_NRF_TWIM134
357-
I2C_NRFX_TWIM_RTIO_DEVICE(134);
358-
#endif
359-
360-
#ifdef CONFIG_HAS_HW_NRF_TWIM135
361-
I2C_NRFX_TWIM_RTIO_DEVICE(135);
362-
#endif
363-
364-
#ifdef CONFIG_HAS_HW_NRF_TWIM136
365-
I2C_NRFX_TWIM_RTIO_DEVICE(136);
366-
#endif
367-
368-
#ifdef CONFIG_HAS_HW_NRF_TWIM137
369-
I2C_NRFX_TWIM_RTIO_DEVICE(137);
370-
#endif
299+
NRFX_FOREACH_PRESENT(TWIM, COND_I2C_NRF_TWIM_RTIO_DEVICE, (), ())

drivers/i2c/i2c_nrfx_twis.c

Lines changed: 3 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -374,70 +374,7 @@ static int shim_nrf_twis_deinit(const struct device *dev)
374374
&shim_nrf_twis_api \
375375
);
376376

377-
#ifdef CONFIG_HAS_HW_NRF_TWIS0
378-
SHIM_NRF_TWIS_DEVICE_DEFINE(0);
379-
#endif
380-
381-
#ifdef CONFIG_HAS_HW_NRF_TWIS1
382-
SHIM_NRF_TWIS_DEVICE_DEFINE(1);
383-
#endif
384-
385-
#ifdef CONFIG_HAS_HW_NRF_TWIS2
386-
SHIM_NRF_TWIS_DEVICE_DEFINE(2);
387-
#endif
388-
389-
#ifdef CONFIG_HAS_HW_NRF_TWIS3
390-
SHIM_NRF_TWIS_DEVICE_DEFINE(3);
391-
#endif
392-
393-
#ifdef CONFIG_HAS_HW_NRF_TWIS20
394-
SHIM_NRF_TWIS_DEVICE_DEFINE(20);
395-
#endif
396-
397-
#ifdef CONFIG_HAS_HW_NRF_TWIS21
398-
SHIM_NRF_TWIS_DEVICE_DEFINE(21);
399-
#endif
400-
401-
#ifdef CONFIG_HAS_HW_NRF_TWIS22
402-
SHIM_NRF_TWIS_DEVICE_DEFINE(22);
403-
#endif
404-
405-
#ifdef CONFIG_HAS_HW_NRF_TWIS23
406-
SHIM_NRF_TWIS_DEVICE_DEFINE(23);
407-
#endif
408-
409-
#ifdef CONFIG_HAS_HW_NRF_TWIS24
410-
SHIM_NRF_TWIS_DEVICE_DEFINE(24);
411-
#endif
412-
413-
#ifdef CONFIG_HAS_HW_NRF_TWIS30
414-
SHIM_NRF_TWIS_DEVICE_DEFINE(30);
415-
#endif
416-
417-
#ifdef CONFIG_HAS_HW_NRF_TWIS130
418-
SHIM_NRF_TWIS_DEVICE_DEFINE(130);
419-
#endif
420-
421-
#ifdef CONFIG_HAS_HW_NRF_TWIS131
422-
SHIM_NRF_TWIS_DEVICE_DEFINE(131);
423-
#endif
424-
425-
#ifdef CONFIG_HAS_HW_NRF_TWIS133
426-
SHIM_NRF_TWIS_DEVICE_DEFINE(133);
427-
#endif
428-
429-
#ifdef CONFIG_HAS_HW_NRF_TWIS134
430-
SHIM_NRF_TWIS_DEVICE_DEFINE(134);
431-
#endif
432-
433-
#ifdef CONFIG_HAS_HW_NRF_TWIS135
434-
SHIM_NRF_TWIS_DEVICE_DEFINE(135);
435-
#endif
436-
437-
#ifdef CONFIG_HAS_HW_NRF_TWIS136
438-
SHIM_NRF_TWIS_DEVICE_DEFINE(136);
439-
#endif
377+
#define COND_SHIM_NRF_TWIS_DEVICE(unused, prefix, i, _) \
378+
IF_ENABLED(CONFIG_HAS_HW_NRF_TWIS##prefix##i, (SHIM_NRF_TWIS_DEVICE_DEFINE(prefix##i);))
440379

441-
#ifdef CONFIG_HAS_HW_NRF_TWIS137
442-
SHIM_NRF_TWIS_DEVICE_DEFINE(137);
443-
#endif
380+
NRFX_FOREACH_PRESENT(TWIS, COND_SHIM_NRF_TWIS_DEVICE, (), ())

0 commit comments

Comments
 (0)