2019-06-04 10:11:33 +02:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
2018-04-23 14:42:44 +08:00
|
|
|
|
2016-10-13 19:07:54 +09:00
|
|
|
|
2013-08-06 18:34:40 +02:00
|
|
|
|
2013-08-14 16:05:02 -07:00
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
2020-04-20 21:46:46 +08:00
|
|
|
|
2020-07-06 19:53:41 +02:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2011-05-26 13:46:22 -04:00
|
|
|
|
2018-02-21 10:20:25 +01:00
|
|
|
|
2012-01-30 11:46:54 -05:00
|
|
|
|
2020-04-02 22:36:44 +02:00
|
|
|
|
2022-11-02 15:51:44 -05:00
|
|
|
|
2011-06-20 19:02:29 +01:00
|
|
|
|
2019-06-06 17:12:02 +02:00
|
|
|
|
2012-08-20 21:45:05 +01:00
|
|
|
|
2021-05-17 21:28:03 +02:00
|
|
|
|
2017-12-11 23:43:02 +00:00
|
|
|
|
2011-05-12 11:42:10 +02:00
|
|
|
|
2013-10-28 13:12:35 -05:00
|
|
|
|
2012-03-11 11:49:17 +00:00
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
2014-11-18 19:45:51 +01:00
|
|
|
|
2018-01-08 15:50:59 +05:30
|
|
|
|
2011-06-20 19:02:29 +01:00
|
|
|
|
2023-01-16 12:15:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-07 17:26:04 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-24 12:08:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-19 14:34:00 +01:00
|
|
|
|
|
|
|
|
|
2011-09-19 14:34:02 +01:00
|
|
|
|
2012-12-19 14:51:55 +00:00
|
|
|
|
2023-03-30 01:10:24 +01:00
|
|
|
|
2011-09-19 14:34:00 +01:00
|
|
|
|
|
|
|
|
|
2011-08-19 18:09:38 +09:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2011-08-19 18:09:38 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-19 18:09:38 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-16 16:36:22 +01:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-16 16:36:22 +01:00
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
|
|
|
|
|
2020-04-02 10:41:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-06 16:19:41 +02:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2016-07-06 16:19:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-14 10:22:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-06 16:19:41 +02:00
|
|
|
|
|
|
|
|
|
2024-10-14 10:22:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-06 16:19:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-20 21:46:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-06 16:19:41 +02:00
|
|
|
|
|
|
|
|
|
2020-01-09 10:39:50 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-14 10:22:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-09 10:39:50 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-14 10:22:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-09 10:39:50 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-29 16:23:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-14 10:22:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-29 16:23:01 +08:00
|
|
|
|
|
|
|
|
|
2024-10-14 10:22:29 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-29 16:23:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-20 21:46:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-29 16:23:01 +08:00
|
|
|
|
|
|
|
|
|
2012-03-11 11:49:17 +00:00
|
|
|
|
|
|
|
|
|
2012-05-24 10:47:26 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-20 18:00:10 +05:30
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-16 15:56:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-07-20 22:28:58 +01:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2011-07-20 22:28:58 +01:00
|
|
|
|
2012-04-04 15:48:29 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-07-20 22:28:58 +01:00
|
|
|
|
2012-04-09 13:40:24 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-07 17:26:04 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-13 15:45:24 -07:00
|
|
|
|
|
|
|
|
|
2012-01-18 10:52:25 +00:00
|
|
|
|
2011-07-20 22:28:58 +01:00
|
|
|
|
2011-07-20 22:33:39 +01:00
|
|
|
|
2011-08-09 10:23:22 +09:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-09 10:23:22 +09:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-09 10:23:22 +09:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-01-09 14:13:41 +00:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
2014-01-09 14:13:41 +00:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-19 10:33:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-07 17:52:17 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
|
|
|
|
|
2014-01-09 14:13:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
2021-11-04 16:00:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-30 04:51:44 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
regmap: Reorder fields in 'struct regmap_config' to save some memory
On x86_64 and allmodconfig, this shrinks the size of 'struct regmap_config'
from 328 to 312 bytes.
This is usually a win, because this structure is used as a static global
variable.
When moving the kerneldoc fields, I've tried to keep the layout as
consistent as possible, which is not really easy!
Before:
/* size: 328, cachelines: 6, members: 55 */
/* sum members: 296, holes: 6, sum holes: 25 */
/* padding: 7 */
/* last cacheline: 8 bytes */
After:
/* size: 312, cachelines: 5, members: 55 */
/* sum members: 296, holes: 5, sum holes: 16 */
/* last cacheline: 56 bytes */
For the records, this is also widely used:
$git grep static.*regmap_config | wc -l
1327
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/5e039cd8fe415dd7ab3169948c08a5311db9fb9a.1715024007.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-06 21:33:33 +02:00
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-08 23:33:59 +03:00
|
|
|
|
|
|
|
|
|
regmap: Reorder fields in 'struct regmap_config' to save some memory
On x86_64 and allmodconfig, this shrinks the size of 'struct regmap_config'
from 328 to 312 bytes.
This is usually a win, because this structure is used as a static global
variable.
When moving the kerneldoc fields, I've tried to keep the layout as
consistent as possible, which is not really easy!
Before:
/* size: 328, cachelines: 6, members: 55 */
/* sum members: 296, holes: 6, sum holes: 25 */
/* padding: 7 */
/* last cacheline: 8 bytes */
After:
/* size: 312, cachelines: 5, members: 55 */
/* sum members: 296, holes: 5, sum holes: 16 */
/* last cacheline: 56 bytes */
For the records, this is also widely used:
$git grep static.*regmap_config | wc -l
1327
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/5e039cd8fe415dd7ab3169948c08a5311db9fb9a.1715024007.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-06 21:33:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-19 17:14:39 -08:00
|
|
|
|
2024-01-26 23:08:36 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-19 10:33:50 +01:00
|
|
|
|
2018-08-07 17:52:17 +03:00
|
|
|
|
2011-08-19 18:09:38 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-05 20:46:32 +02:00
|
|
|
|
2016-09-15 13:56:10 -07:00
|
|
|
|
2011-09-05 20:46:32 +02:00
|
|
|
|
2016-09-15 13:56:10 -07:00
|
|
|
|
2011-09-05 20:46:32 +02:00
|
|
|
|
2018-01-07 17:19:09 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-14 23:30:24 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-01 09:50:41 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-04 13:54:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-19 14:34:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-25 14:37:09 +08:00
|
|
|
|
2021-08-25 23:50:40 +03:00
|
|
|
|
2017-11-01 10:11:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
regmap: Reorder fields in 'struct regmap_config' to save some memory
On x86_64 and allmodconfig, this shrinks the size of 'struct regmap_config'
from 328 to 312 bytes.
This is usually a win, because this structure is used as a static global
variable.
When moving the kerneldoc fields, I've tried to keep the layout as
consistent as possible, which is not really easy!
Before:
/* size: 328, cachelines: 6, members: 55 */
/* sum members: 296, holes: 6, sum holes: 25 */
/* padding: 7 */
/* last cacheline: 8 bytes */
After:
/* size: 312, cachelines: 5, members: 55 */
/* sum members: 296, holes: 5, sum holes: 16 */
/* last cacheline: 56 bytes */
For the records, this is also widely used:
$git grep static.*regmap_config | wc -l
1327
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/5e039cd8fe415dd7ab3169948c08a5311db9fb9a.1715024007.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-06 21:33:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-07-20 22:28:58 +01:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2012-04-04 15:48:29 -06:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2012-04-09 13:40:24 -06:00
|
|
|
|
2023-04-07 17:26:04 +02:00
|
|
|
|
2022-03-13 15:45:24 -07:00
|
|
|
|
2012-01-18 10:52:25 +00:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2011-07-20 22:33:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-08 15:40:22 +09:00
|
|
|
|
2018-10-19 10:33:50 +01:00
|
|
|
|
2018-08-07 17:52:17 +03:00
|
|
|
|
2017-12-06 15:26:21 +01:00
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
|
|
|
|
|
2021-11-04 16:00:40 +01:00
|
|
|
|
|
|
|
|
|
2022-04-30 04:51:44 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
regmap: Reorder fields in 'struct regmap_config' to save some memory
On x86_64 and allmodconfig, this shrinks the size of 'struct regmap_config'
from 328 to 312 bytes.
This is usually a win, because this structure is used as a static global
variable.
When moving the kerneldoc fields, I've tried to keep the layout as
consistent as possible, which is not really easy!
Before:
/* size: 328, cachelines: 6, members: 55 */
/* sum members: 296, holes: 6, sum holes: 25 */
/* padding: 7 */
/* last cacheline: 8 bytes */
After:
/* size: 312, cachelines: 5, members: 55 */
/* sum members: 296, holes: 5, sum holes: 16 */
/* last cacheline: 56 bytes */
For the records, this is also widely used:
$git grep static.*regmap_config | wc -l
1327
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/5e039cd8fe415dd7ab3169948c08a5311db9fb9a.1715024007.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-06 21:33:33 +02:00
|
|
|
|
|
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
2022-08-08 23:33:59 +03:00
|
|
|
|
2013-01-27 10:49:05 -08:00
|
|
|
|
regmap: Reorder fields in 'struct regmap_config' to save some memory
On x86_64 and allmodconfig, this shrinks the size of 'struct regmap_config'
from 328 to 312 bytes.
This is usually a win, because this structure is used as a static global
variable.
When moving the kerneldoc fields, I've tried to keep the layout as
consistent as possible, which is not really easy!
Before:
/* size: 328, cachelines: 6, members: 55 */
/* sum members: 296, holes: 6, sum holes: 25 */
/* padding: 7 */
/* last cacheline: 8 bytes */
After:
/* size: 312, cachelines: 5, members: 55 */
/* sum members: 296, holes: 5, sum holes: 16 */
/* last cacheline: 56 bytes */
For the records, this is also widely used:
$git grep static.*regmap_config | wc -l
1327
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/5e039cd8fe415dd7ab3169948c08a5311db9fb9a.1715024007.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-06 21:33:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-19 18:09:38 +09:00
|
|
|
|
2024-01-26 23:08:36 +03:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-19 10:33:50 +01:00
|
|
|
|
2018-08-07 17:52:17 +03:00
|
|
|
|
2011-11-16 16:28:17 +01:00
|
|
|
|
2011-09-19 14:34:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-05 20:46:32 +02:00
|
|
|
|
2016-09-15 13:56:10 -07:00
|
|
|
|
|
|
|
|
|
2018-01-07 17:19:09 -06:00
|
|
|
|
2012-04-30 23:23:40 +01:00
|
|
|
|
2018-09-01 09:50:41 -07:00
|
|
|
|
|
|
|
|
|
2020-10-14 23:30:24 +03:00
|
|
|
|
2014-03-04 13:54:02 +00:00
|
|
|
|
2012-05-24 10:47:26 -06:00
|
|
|
|
2017-12-25 14:37:09 +08:00
|
|
|
|
2021-08-25 23:50:40 +03:00
|
|
|
|
2017-11-01 10:11:55 +08:00
|
|
|
|
|
|
|
|
|
2020-09-02 17:18:43 +03:00
|
|
|
|
regmap: Reorder fields in 'struct regmap_config' to save some memory
On x86_64 and allmodconfig, this shrinks the size of 'struct regmap_config'
from 328 to 312 bytes.
This is usually a win, because this structure is used as a static global
variable.
When moving the kerneldoc fields, I've tried to keep the layout as
consistent as possible, which is not really easy!
Before:
/* size: 328, cachelines: 6, members: 55 */
/* sum members: 296, holes: 6, sum holes: 25 */
/* padding: 7 */
/* last cacheline: 8 bytes */
After:
/* size: 312, cachelines: 5, members: 55 */
/* sum members: 296, holes: 5, sum holes: 16 */
/* last cacheline: 56 bytes */
For the records, this is also widely used:
$git grep static.*regmap_config | wc -l
1327
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/5e039cd8fe415dd7ab3169948c08a5311db9fb9a.1715024007.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-06 21:33:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
2012-10-03 12:40:47 +01:00
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2020-02-19 15:09:06 +01:00
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
|
|
|
|
|
2012-10-03 12:40:47 +01:00
|
|
|
|
|
|
|
|
|
2012-06-15 11:23:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
|
|
|
|
|
2012-04-04 15:48:30 -06:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2012-04-04 15:48:30 -06:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-04 15:48:30 -06:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2014-04-17 11:40:11 +02:00
|
|
|
|
|
|
|
|
|
2022-08-16 22:48:31 +02:00
|
|
|
|
|
|
|
|
|
2014-04-17 11:40:11 +02:00
|
|
|
|
|
|
|
|
|
2022-08-16 22:48:31 +02:00
|
|
|
|
|
|
|
|
|
2015-10-01 12:38:07 -04:00
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
2012-04-04 15:48:30 -06:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2012-04-04 15:48:28 -06:00
|
|
|
|
2012-10-16 15:56:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-14 09:40:14 +01:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
|
|
|
|
|
2015-08-21 10:26:40 +02:00
|
|
|
|
|
|
|
|
|
2022-08-16 22:48:31 +02:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2015-08-21 10:26:40 +02:00
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2012-05-24 10:47:26 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-30 09:33:53 +02:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2012-04-04 15:48:28 -06:00
|
|
|
|
2023-02-14 09:40:14 +01:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
2014-04-17 11:40:11 +02:00
|
|
|
|
2022-08-16 22:48:31 +02:00
|
|
|
|
2015-10-01 12:38:07 -04:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2014-04-17 11:40:11 +02:00
|
|
|
|
2022-08-16 22:48:31 +02:00
|
|
|
|
2012-04-04 15:48:30 -06:00
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2012-05-24 10:47:26 -06:00
|
|
|
|
|
|
|
|
|
2015-08-30 09:33:53 +02:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-17 21:28:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-17 00:47:48 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-11 23:43:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-02 10:06:27 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-08 15:50:59 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
|
|
|
|
|
2020-08-19 15:34:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-02 15:51:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-17 21:28:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-17 00:47:48 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-02 10:06:27 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-08 15:50:59 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
|
|
|
|
|
2018-05-25 14:50:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-06-06 17:12:02 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-08-19 15:34:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-02 15:51:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-10 16:22:33 +01:00
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
2011-05-12 11:42:10 +02:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 19:45:51 +01:00
|
|
|
|
2021-05-17 21:28:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-17 00:47:48 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-11 23:43:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-06-02 10:06:27 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-25 13:03:27 +02:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-25 13:03:27 +02:00
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-08 15:50:59 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
2020-08-19 15:34:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-08 15:50:59 +05:30
|
|
|
|
2022-11-02 15:51:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-17 21:28:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-17 00:47:48 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-02 10:06:27 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-25 13:03:27 +02:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-25 13:03:27 +02:00
|
|
|
|
2013-02-14 17:39:08 +01:00
|
|
|
|
2015-07-08 14:30:18 +08:00
|
|
|
|
|
|
|
|
|
2012-01-30 19:56:52 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2015-08-11 18:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-30 19:56:52 +00:00
|
|
|
|
2018-01-08 15:50:59 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:44:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 01:22:23 +08:00
|
|
|
|
2018-05-25 14:50:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-06-06 17:12:02 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-08-19 15:34:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-02 15:51:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-21 10:20:25 +01:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2011-12-03 17:06:20 +00:00
|
|
|
|
|
|
|
|
|
2012-05-08 17:44:40 +01:00
|
|
|
|
2014-07-21 18:38:47 +03:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2013-10-09 13:30:10 +01:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2018-10-19 10:33:50 +01:00
|
|
|
|
|
|
|
|
|
2012-02-12 19:49:43 +05:30
|
|
|
|
|
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
2013-10-11 15:31:11 +01:00
|
|
|
|
2014-02-25 13:45:50 +00:00
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
2014-02-25 13:45:50 +00:00
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2024-04-08 11:18:00 +01:00
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2018-08-07 17:52:17 +03:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
|
|
|
|
|
2024-12-11 13:35:58 +00:00
|
|
|
|
2024-07-09 18:56:20 -07:00
|
|
|
|
2016-02-15 05:22:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-15 09:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:20:14 -08:00
|
|
|
|
2015-05-21 17:42:43 +01:00
|
|
|
|
2015-05-21 17:42:54 +01:00
|
|
|
|
2022-11-21 16:08:42 +01:00
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
2013-03-26 21:24:20 +00:00
|
|
|
|
2015-08-30 09:33:54 +02:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|
2025-02-17 14:01:56 +00:00
|
|
|
|
2011-09-19 18:21:49 +01:00
|
|
|
|
2012-02-23 20:53:37 +00:00
|
|
|
|
|
|
|
|
|
2013-05-08 13:55:22 +01:00
|
|
|
|
|
|
|
|
|
2011-09-19 18:22:14 +01:00
|
|
|
|
2011-09-29 14:36:27 +01:00
|
|
|
|
2011-10-26 10:34:22 +02:00
|
|
|
|
2023-07-17 21:33:03 +01:00
|
|
|
|
2011-09-19 18:22:14 +01:00
|
|
|
|
2013-05-08 13:55:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-16 16:36:21 +01:00
|
|
|
|
2012-01-21 12:01:14 +00:00
|
|
|
|
2014-02-19 18:44:13 +08:00
|
|
|
|
|
|
|
|
|
2012-01-21 12:01:14 +00:00
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-28 17:45:02 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-08 16:07:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-28 17:45:02 +02:00
|
|
|
|
|
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-27 20:50:29 +08:00
|
|
|
|
2013-09-01 20:30:50 -07:00
|
|
|
|
|
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-01 20:30:50 -07:00
|
|
|
|
|
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-28 02:41:03 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-09-25 17:48:55 +01:00
|
|
|
|
|
|
|
|
|
2021-08-02 14:37:41 +08:00
|
|
|
|
2020-09-25 17:48:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-02 14:37:41 +08:00
|
|
|
|
|
|
|
|
|
2020-09-25 17:48:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-11 13:18:15 +01:00
|
|
|
|
2016-02-15 05:23:55 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-01 20:30:50 -07:00
|
|
|
|
|
|
|
|
|
2016-02-15 05:24:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-15 09:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-05-22 20:26:58 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-15 09:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-18 13:59:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-20 15:20:30 +01:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-18 13:59:31 +02:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-18 13:59:31 +02:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
2015-09-15 00:39:17 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-30 18:07:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-22 11:42:24 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-06-23 22:14:19 +01:00
|
|
|
|
|
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
2024-08-08 15:36:28 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2019-01-22 11:42:24 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2022-06-23 22:14:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-15 13:36:51 +04:00
|
|
|
|
|
|
|
|
|
2012-06-05 14:34:03 +01:00
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
2012-05-14 22:40:43 +09:00
|
|
|
|
2013-07-22 17:15:52 +02:00
|
|
|
|
2022-06-23 22:14:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-15 13:36:51 +04:00
|
|
|
|
2015-09-17 05:23:21 +00:00
|
|
|
|
2020-10-05 19:47:19 +05:30
|
|
|
|
2023-02-20 17:33:34 +02:00
|
|
|
|
2025-05-22 14:06:20 +02:00
|
|
|
|
|
|
|
|
|
2025-10-24 16:23:44 +08:00
|
|
|
|
2022-06-23 22:14:12 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-19 12:18:05 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-20 17:33:34 +02:00
|
|
|
|
2023-02-27 11:45:22 -05:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
2023-02-20 17:33:34 +02:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
|
|
|
|
|
2023-02-20 17:33:34 +02:00
|
|
|
|
2016-05-20 20:40:26 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-22 02:10:59 -05:00
|
|
|
|
|
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
2022-06-23 22:14:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-09 12:00:55 +01:00
|
|
|
|
2022-06-23 22:14:19 +01:00
|
|
|
|
|
|
|
|
|
2016-05-20 20:40:26 +05:30
|
|
|
|
|
|
|
|
|
2017-01-12 11:17:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-08-08 15:36:28 +03:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2019-01-22 11:42:24 +02:00
|
|
|
|
|
|
|
|
|
2024-07-06 13:13:42 +02:00
|
|
|
|
2019-01-22 11:42:24 +02:00
|
|
|
|
|
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
2015-09-17 05:23:20 +00:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2012-06-05 14:34:03 +01:00
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
2012-05-14 22:40:43 +09:00
|
|
|
|
2022-06-23 22:14:09 +01:00
|
|
|
|
2022-06-23 22:14:18 +01:00
|
|
|
|
2022-06-23 22:14:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-20 17:33:34 +02:00
|
|
|
|
2025-05-22 14:06:20 +02:00
|
|
|
|
2022-06-23 22:14:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-20 17:33:34 +02:00
|
|
|
|
2023-02-27 11:45:22 -05:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-22 18:25:26 +05:30
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
|
|
|
|
|
2016-05-20 20:40:26 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-07 07:47:33 -04:00
|
|
|
|
2022-11-22 02:10:59 -05:00
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
2023-04-05 11:45:42 -04:00
|
|
|
|
|
|
|
|
|
2022-06-23 22:14:19 +01:00
|
|
|
|
|
|
|
|
|
2016-05-20 20:40:26 +05:30
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
|
|
|
|
|
2022-06-23 22:14:19 +01:00
|
|
|
|
|
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
2023-04-05 11:45:42 -04:00
|
|
|
|
|
|
|
|
|
regmap-irq: Introduce config registers for irq types
Config registers provide a more uniform approach to handling irq type
registers. They are essentially an extension of the virtual registers
used by the qcom-pm8008 driver.
Config registers can be represented as a 2D array:
config_base[0] reg0,0 reg0,1 reg0,2 reg0,3
config_base[1] reg1,0 reg1,1 reg1,2 reg1,3
config_base[2] reg2,0 reg2,1 reg2,2 reg2,3
There are 'num_config_bases' base registers, each of which is used to
address 'num_config_regs' registers. The addresses are calculated in
the same way as for other bases. It is assumed that an irq's type is
controlled by one column of registers; that column is identified by
the irq's 'type_reg_offset'.
The set_type_config() callback is responsible for updating the config
register contents. It receives an array of buffers (each represents a
row of registers) and the index of the column to update, along with
the 'struct regmap_irq' description and requested irq type.
Buffered values are written to registers in regmap_irq_sync_unlock().
Note that the entire register contents are overwritten, which is a
minor change in behavior from type registers via 'type_base'.
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-9-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-23 22:14:16 +01:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2012-05-31 21:01:46 +01:00
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2020-07-06 19:53:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-28 23:50:49 +02:00
|
|
|
|
2016-02-10 14:29:50 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-06 19:53:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-10 14:29:50 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-12-05 16:10:15 +00:00
|
|
|
|
2012-05-13 10:59:56 +01:00
|
|
|
|
2012-08-20 21:45:05 +01:00
|
|
|
|
2011-09-19 18:22:14 +01:00
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-09 13:30:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-19 10:33:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-08 11:18:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-07 17:52:17 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-15 05:22:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-28 17:45:02 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-08 16:07:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-28 17:45:02 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-15 05:23:55 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-06-16 08:52:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-15 05:24:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-09 13:30:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-15 09:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-05-22 20:26:58 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-15 09:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-21 17:42:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-21 17:42:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-21 16:08:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-17 14:01:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-23 19:49:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-08 13:55:22 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-27 22:07:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
2015-11-30 16:20:15 +01:00
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-19 18:44:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-08 17:44:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-21 18:38:47 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-25 19:01:53 +01:00
|
|
|
|
2014-07-21 18:38:47 +03:00
|
|
|
|
|
|
|
|
|
2012-02-17 14:49:51 -08:00
|
|
|
|
|
|
|
|
|
2011-05-11 19:59:58 +02:00
|
|
|
|