On Thu, Feb 13, 2025 at 10:58:30PM -0800, Wilson Ding wrote:
quoted hunk ↗ jump to hunk
#define SOCFPGA_NR_BANKS 8
@@ -171,26 +221,51 @@ static int reset_simple_probe(struct platform_device *pdev)
if (!data)
return -ENOMEM;
- membase = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
- if (IS_ERR(membase))
- return PTR_ERR(membase);
+ if (devdata && devdata->syscon_dev) {
+ data->regmap = syscon_node_to_regmap(pdev->dev.parent->of_node);
+ if (IS_ERR(data->regmap))
+ return PTR_ERR(data->regmap);
- spin_lock_init(&data->lock);
- data->membase = membase;
- data->rcdev.owner = THIS_MODULE;
- data->rcdev.nr_resets = resource_size(res) * BITS_PER_BYTE;
- data->rcdev.ops = &reset_simple_ops;
- data->rcdev.of_node = dev->of_node;
+ if (device_property_read_u32(&pdev->dev, "offset",
Where is this binding documented? This is patch #1, so something anywy
is wrong here (see submitting patches for bindings).
+ &data->reg_offset))
+ data->reg_offset = devdata->reg_offset;
- if (devdata) {
- reg_offset = devdata->reg_offset;
- if (devdata->nr_resets)
- data->rcdev.nr_resets = devdata->nr_resets;
+ if (devdata->nr_resets == 0) {
+ dev_err(dev, "no reset line\n");
+ return -EINVAL;
+ }
Best regards,
Krzysztof