Re: [PATCH 1/4] [PATCH 1/4] reset: simple: Add syscon device compatible

From: Krzysztof Kozlowski
Date: Fri Feb 14 2025 - 03:48:16 EST


On Thu, Feb 13, 2025 at 10:58:30PM -0800, Wilson Ding wrote:
> #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