2017-12-27 12:55:14 -06:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-12-19 13:18:11 +01:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2022-03-31 15:54:47 +03:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2021-01-21 14:57:12 -08:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-09 13:42:06 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-01 10:42:31 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2020-07-01 10:42:31 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2020-07-01 10:42:31 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
2026-02-25 17:38:14 +08:00
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-10 11:27:17 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-01 15:50:55 -05:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-10 11:27:17 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-09-12 09:32:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-19 15:20:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-13 08:43:38 +02:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-13 08:43:38 +02:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-13 08:43:38 +02:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-13 08:43:38 +02:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2022-04-15 17:30:28 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-19 11:23:17 +05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2022-04-15 17:30:28 -07:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-11 22:49:38 +02:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2024-09-11 22:49:38 +02:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2024-09-11 22:49:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-10 11:27:17 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-10 11:27:17 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2026-05-07 16:18:10 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2026-05-07 16:18:10 +08:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2026-05-07 16:18:10 +08:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2026-05-07 16:18:10 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-28 17:22:27 +05:30
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2017-06-01 15:50:55 -05:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2018-08-27 08:37:06 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
of: property: add of_graph_get_next_port()
We have endpoint base functions
- of_graph_get_next_endpoint()
- of_graph_get_endpoint_count()
- for_each_endpoint_of_node()
Here, for_each_endpoint_of_node() loop finds each endpoints
ports {
port@0 {
(1) endpoint {...};
};
port@1 {
(2) endpoint {...};
};
...
};
In above case, it finds endpoint as (1) -> (2) -> ...
Basically, user/driver knows which port is used for what, but not in
all cases. For example on flexible/generic driver case, how many ports
are used is not fixed.
For example Sound Generic Card driver which is very flexible/generic and
used from many venders can't know how many ports are used, and used for
what, because it depends on each vender SoC and/or its used board.
And more, the port can have multi endpoints. For example Generic Sound
Card case, it supports many type of connection between CPU / Codec, and
some of them uses multi endpoint in one port. see below.
ports {
(A) port@0 {
(1) endpoint@0 {...};
(2) endpoint@1 {...};
};
(B) port@1 {
(3) endpoint {...};
};
...
};
Generic Sound Card want to handle each connection via "port" base instead
of "endpoint" base. But, it is very difficult to handle each "port" via
existing for_each_endpoint_of_node(). Because getting each "port" via
of_get_parent() from each "endpoint" doesn't work. For example in above
case, both (1) (2) endpoint has same "port" (= A).
Add "port" base functions.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87ldyeb5t9.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-10-24 02:20:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
of: property: add of_graph_get_next_port_endpoint()
We already have of_graph_get_next_endpoint(), but it is not
intuitive to use in some case.
(X) node {
(Y) ports {
(P0) port@0 { endpoint { remote-endpoint = ...; };};
(P10) port@1 { endpoint { remote-endpoint = ...; };
(P11) endpoint { remote-endpoint = ...; };};
(P2) port@2 { endpoint { remote-endpoint = ...; };};
};
};
For example, if I want to handle port@1's 2 endpoints (= P10, P11),
I want to use like below
P10 = of_graph_get_next_endpoint(port1, NULL);
P11 = of_graph_get_next_endpoint(port1, P10);
But 1st one will be error, because of_graph_get_next_endpoint()
requested 1st parameter is "node" (X) or "ports" (Y), not but "port".
Below works well, but it will get P0
P0 = of_graph_get_next_endpoint(node, NULL);
P0 = of_graph_get_next_endpoint(ports, NULL);
In other words, we can't handle P10/P11 directly via
of_graph_get_next_endpoint().
There is another non intuitive behavior on of_graph_get_next_endpoint().
In case of if I could get P10 pointer for some way, and if I want to
handle port@1 things by loop, I would like use it like below
/*
* "ep" is now P10, and handle port1 things here,
* but we don't know how many endpoints port1 have.
*
* Because "ep" is non NULL now, we can use port1
* as of_graph_get_next_endpoint(port1, xxx)
*/
do {
/* do something for port1 specific things here */
} while (ep = of_graph_get_next_endpoint(port1, ep))
But it also not worked as I expected.
I expect it will be P10 -> P11 -> NULL,
but it will be P10 -> P11 -> P2, because
of_graph_get_next_endpoint() will fetch "endpoint" beyond the "port".
It is not useful for generic driver.
To handle endpoint more intuitive, create of_graph_get_next_port_endpoint()
of_graph_get_next_port_endpoint(port1, NULL); // P10
of_graph_get_next_port_endpoint(port1, P10); // P11
of_graph_get_next_port_endpoint(port1, P11); // NULL
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87jzdyb5t5.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-10-24 02:20:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-24 02:20:11 +00:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2024-01-17 09:32:06 +01:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-01 15:50:55 -05:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-24 02:20:11 +00:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-24 02:20:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-15 10:22:47 +01:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-05 08:24:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-28 01:23:15 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-05 08:24:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-06 17:18:02 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-05 08:24:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-08-30 10:06:26 +08:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
2024-08-30 10:06:26 +08:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-05 08:24:05 -05:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-05 05:37:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-05 05:37:28 +00:00
|
|
|
|
2017-07-05 08:24:05 -05:00
|
|
|
|
|
|
|
|
|
2024-02-05 05:37:28 +00:00
|
|
|
|
2017-07-05 08:24:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
of: property: add of_graph_get_next_port()
We have endpoint base functions
- of_graph_get_next_endpoint()
- of_graph_get_endpoint_count()
- for_each_endpoint_of_node()
Here, for_each_endpoint_of_node() loop finds each endpoints
ports {
port@0 {
(1) endpoint {...};
};
port@1 {
(2) endpoint {...};
};
...
};
In above case, it finds endpoint as (1) -> (2) -> ...
Basically, user/driver knows which port is used for what, but not in
all cases. For example on flexible/generic driver case, how many ports
are used is not fixed.
For example Sound Generic Card driver which is very flexible/generic and
used from many venders can't know how many ports are used, and used for
what, because it depends on each vender SoC and/or its used board.
And more, the port can have multi endpoints. For example Generic Sound
Card case, it supports many type of connection between CPU / Codec, and
some of them uses multi endpoint in one port. see below.
ports {
(A) port@0 {
(1) endpoint@0 {...};
(2) endpoint@1 {...};
};
(B) port@1 {
(3) endpoint {...};
};
...
};
Generic Sound Card want to handle each connection via "port" base instead
of "endpoint" base. But, it is very difficult to handle each "port" via
existing for_each_endpoint_of_node(). Because getting each "port" via
of_get_parent() from each "endpoint" doesn't work. For example in above
case, both (1) (2) endpoint has same "port" (= A).
Add "port" base functions.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87ldyeb5t9.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-10-24 02:20:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 10:47:12 -06:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-01 15:50:55 -05:00
|
|
|
|
|
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-13 10:44:50 +01:00
|
|
|
|
2017-05-24 17:53:53 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
2017-09-19 12:39:11 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
2017-09-19 12:39:11 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:39 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-31 15:54:47 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
2025-01-09 13:42:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-03 15:32:12 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-03 15:32:13 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-27 08:37:06 -05:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 15:11:49 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-18 17:20:34 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 15:11:49 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-21 10:32:09 +08:00
|
|
|
|
|
|
|
|
|
2017-07-21 15:11:49 +03:00
|
|
|
|
2022-11-21 10:32:09 +08:00
|
|
|
|
2017-07-21 15:11:49 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
2017-08-10 04:38:16 +00:00
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-22 02:19:12 +02:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-27 08:37:06 -05:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
2017-07-21 14:39:36 +03:00
|
|
|
|
2024-04-09 13:59:41 -05:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-09 17:38:36 +02:00
|
|
|
|
2017-12-13 02:20:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-09 17:38:36 +02:00
|
|
|
|
2017-12-13 02:20:50 -05:00
|
|
|
|
|
|
|
|
|
2023-02-06 17:42:01 -08:00
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2024-08-30 10:06:26 +08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2023-02-06 17:42:01 -08:00
|
|
|
|
|
|
|
|
|
2024-08-30 10:06:26 +08:00
|
|
|
|
2023-02-06 17:42:01 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2024-08-30 10:06:26 +08:00
|
|
|
|
2023-02-06 17:42:01 -08:00
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
2023-02-06 17:42:01 -08:00
|
|
|
|
2019-11-04 22:49:58 -08:00
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-06 13:43:44 +00:00
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
|
|
|
|
|
2025-12-17 14:43:08 +01:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-19 11:23:17 +05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2024-02-06 17:18:00 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-18 10:40:31 +00:00
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-06 17:18:00 -08:00
|
|
|
|
2021-02-05 14:26:40 -08:00
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
|
|
|
|
|
2019-11-04 22:50:00 -08:00
|
|
|
|
|
|
|
|
|
2024-01-23 16:14:22 +01:00
|
|
|
|
2024-02-10 21:57:15 +01:00
|
|
|
|
2019-11-19 23:13:01 -08:00
|
|
|
|
2020-02-19 21:52:50 -08:00
|
|
|
|
|
|
|
|
|
2020-04-01 15:52:03 -07:00
|
|
|
|
2023-02-06 13:43:45 +00:00
|
|
|
|
2020-07-24 16:44:14 -07:00
|
|
|
|
|
|
|
|
|
2021-08-05 15:37:29 -07:00
|
|
|
|
|
|
|
|
|
2021-08-13 19:31:30 -07:00
|
|
|
|
|
|
|
|
|
2023-07-27 10:16:31 -07:00
|
|
|
|
2023-10-27 21:12:54 +05:30
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
2024-01-05 14:03:57 +01:00
|
|
|
|
2024-04-14 16:21:51 +02:00
|
|
|
|
2024-04-17 13:07:37 -07:00
|
|
|
|
2026-01-10 16:27:59 +01:00
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
2019-11-19 23:13:01 -08:00
|
|
|
|
2021-04-05 15:25:40 -07:00
|
|
|
|
2025-12-19 13:18:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-05 15:25:40 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-12-17 14:43:08 +01:00
|
|
|
|
2021-04-05 15:25:40 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-04 22:49:59 -08:00
|
|
|
|
2019-11-20 19:00:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-21 14:57:11 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-08 17:13:23 -06:00
|
|
|
|
2021-01-21 14:57:11 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-21 14:57:12 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-08 17:04:38 -08:00
|
|
|
|
|
|
|
|
|
2021-02-15 14:42:58 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-08 17:04:38 -08:00
|
|
|
|
|
|
|
|
|
2021-01-21 14:57:12 -08:00
|
|
|
|
|
|
|
|
|
2021-02-08 17:04:38 -08:00
|
|
|
|
2021-01-21 14:57:12 -08:00
|
|
|
|
|
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
|
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
2025-01-09 21:26:57 +08:00
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
|
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
|
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
|
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
|
|
|
|
|
2024-05-29 14:59:21 -05:00
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-06 17:18:01 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-23 21:24:35 -08:00
|
|
|
|
2024-02-06 17:18:01 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-11 12:15:19 -07:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2021-02-05 14:26:40 -08:00
|
|
|
|
|
|
|
|
|
2019-11-04 22:50:00 -08:00
|
|
|
|
|
|
|
|
|
2024-02-10 21:57:15 +01:00
|
|
|
|
2021-02-05 14:26:40 -08:00
|
|
|
|
2020-02-19 21:52:50 -08:00
|
|
|
|
|
|
|
|
|
2020-04-01 15:52:03 -07:00
|
|
|
|
2020-07-24 16:44:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-12-19 13:18:11 +01:00
|
|
|
|
2024-02-06 17:18:00 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-05 15:37:29 -07:00
|
|
|
|
|
|
|
|
|
2021-08-13 19:31:30 -07:00
|
|
|
|
|
|
|
|
|
2023-07-27 10:16:31 -07:00
|
|
|
|
2023-10-27 21:12:54 +05:30
|
|
|
|
2024-04-14 16:21:51 +02:00
|
|
|
|
2024-04-17 13:07:37 -07:00
|
|
|
|
2026-01-10 16:27:59 +01:00
|
|
|
|
2021-01-21 14:57:11 -08:00
|
|
|
|
2021-01-21 14:57:12 -08:00
|
|
|
|
2024-05-09 17:38:20 +05:30
|
|
|
|
2024-01-05 14:03:57 +01:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2019-11-19 23:13:01 -08:00
|
|
|
|
|
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-11 12:15:19 -07:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2019-10-11 12:15:19 -07:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-05 14:26:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2024-08-30 10:06:26 +08:00
|
|
|
|
|
|
|
|
|
2021-03-30 11:50:55 -07:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2024-03-04 21:04:56 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-02 17:16:38 +08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2022-03-31 15:54:49 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-31 15:54:50 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-25 15:35:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-20 18:02:32 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2024-10-10 11:27:17 -05:00
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2026-03-25 15:35:44 +01:00
|
|
|
|
2021-09-09 18:14:45 -07:00
|
|
|
|
|
|
|
|
|
2020-11-20 18:02:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:39 +03:00
|
|
|
|
2017-12-13 02:20:50 -05:00
|
|
|
|
2022-03-31 15:54:47 +03:00
|
|
|
|
|
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
2025-01-09 13:42:05 -06:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
2019-10-03 15:32:12 +03:00
|
|
|
|
2019-10-03 15:32:13 +03:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 15:11:49 +03:00
|
|
|
|
2017-06-06 12:37:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-31 15:54:49 +03:00
|
|
|
|
2022-03-31 15:54:50 +03:00
|
|
|
|
2019-09-04 14:11:22 -07:00
|
|
|
|
2017-06-06 12:37:37 +03:00
|
|
|
|
2017-07-21 14:39:31 +03:00
|
|
|
|