Skip to content

Commit 83dde3e

Browse files
jbrun3tpH5
authored andcommitted
reset: amlogic: use reset number instead of register count
The reset driver from audio clock controller may register less reset than a register can hold. To avoid making any change while switching to auxiliary support, use the number of reset instead of the register count to define the bounds of the reset controller. Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.kernel.org/r/20240910-meson-rst-aux-v5-5-60be62635d3e@baylibre.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
1 parent 6b2d2e5 commit 83dde3e

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

drivers/reset/reset-meson.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include <linux/types.h>
1818

1919
struct meson_reset_param {
20-
unsigned int reg_count;
20+
unsigned int reset_num;
2121
unsigned int reset_offset;
2222
unsigned int level_offset;
2323
bool level_low_reset;
@@ -87,28 +87,28 @@ static const struct reset_control_ops meson_reset_ops = {
8787
};
8888

8989
static const struct meson_reset_param meson8b_param = {
90-
.reg_count = 8,
90+
.reset_num = 256,
9191
.reset_offset = 0x0,
9292
.level_offset = 0x7c,
9393
.level_low_reset = true,
9494
};
9595

9696
static const struct meson_reset_param meson_a1_param = {
97-
.reg_count = 3,
97+
.reset_num = 96,
9898
.reset_offset = 0x0,
9999
.level_offset = 0x40,
100100
.level_low_reset = true,
101101
};
102102

103103
static const struct meson_reset_param meson_s4_param = {
104-
.reg_count = 6,
104+
.reset_num = 192,
105105
.reset_offset = 0x0,
106106
.level_offset = 0x40,
107107
.level_low_reset = true,
108108
};
109109

110110
static const struct meson_reset_param t7_param = {
111-
.reg_count = 7,
111+
.reset_num = 224,
112112
.reset_offset = 0x0,
113113
.level_offset = 0x40,
114114
.level_low_reset = true,
@@ -156,8 +156,7 @@ static int meson_reset_probe(struct platform_device *pdev)
156156
"can't init regmap mmio region\n");
157157

158158
data->rcdev.owner = THIS_MODULE;
159-
data->rcdev.nr_resets = data->param->reg_count * BITS_PER_BYTE
160-
* regmap_config.reg_stride;
159+
data->rcdev.nr_resets = data->param->reset_num;
161160
data->rcdev.ops = &meson_reset_ops;
162161
data->rcdev.of_node = dev->of_node;
163162

0 commit comments

Comments
 (0)