[PATCH v6 02/15] clk: starfive: jh71x0: Move reset controller registration to jh71x0 common code

Jerome Brunet jbrunet at baylibre.com
Mon Oct 12 03:21:47 PDT 2026


> [ ... 238 lines skipped ... ]

> +
> +int jh71x0_reset_controller_register(struct jh71x0_clk_priv *priv,
> +				     const char *adev_name)
> +{
> +	struct jh71x0_reset_adev *rdev;
> +	struct auxiliary_device *adev;
> +	int ret;
> +
> +	rdev = kzalloc_obj(*rdev);
> +	if (!rdev)
> +		return -ENOMEM;
> +
> +	rdev->base = priv->base;
> +
> +	adev = &rdev->adev;
> +	adev->name = adev_name;
> +	adev->dev.parent = priv->dev;
> +	adev->dev.release = jh71x0_reset_adev_release;
> +
> +	ret = auxiliary_device_init(adev);
> +	if (ret) {
> +		kfree(rdev);
> +		return ret;
> +	}
> +
> +	ret = auxiliary_device_add(adev);
> +	if (ret) {
> +		auxiliary_device_uninit(adev);
> +		return ret;
> +	}
> +
> +	return devm_add_action_or_reset(priv->dev,
> +					jh71x0_reset_unregister_adev, adev);
> +}
> +EXPORT_SYMBOL_GPL(jh71x0_reset_controller_register);

Could you use the helpers provided by the auxiliary bus instead ?
such as auxiliary_device_create() or its devm_ variant ?

A lot (if not everything) of the auxiliary related code here seems to
implement what auxiliary already provides

-- 
Jerome




More information about the linux-riscv mailing list