Commit 9103bb41 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'reset-fixes-for-v5.5-2' of git://git.pengutronix.de/git/pza/linux into arm/fixes

Reset controller fixes for v5.5, part 2

Fix the example in the brcmstb-reset device tree bindings, remove a bogus
resource alignment check from the reset-brcmstb driver, fix the documented
return value type for the reset_control_array_get functions, and fix a
devres memory leak when requesting optional, not present reset controls.

* tag 'reset-fixes-for-v5.5-2' of git://git.pengutronix.de/git/pza/linux:
  reset: Do not register resource data for missing resets
  reset: Fix {of,devm}_reset_control_array_get kerneldoc return types
  reset: brcmstb: Remove resource checks
  dt-bindings: reset: Fix brcmstb-reset example

Link: https://lore.kernel.org/r/bb59b9f83892aa3c876f5da87890b0496f2dc755.camel@pengutronix.de


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 96dd4bcb db238086
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,6 +22,6 @@ Example:
	};

	&ethernet_switch {
		resets = <&reset>;
		resets = <&reset 26>;
		reset-names = "switch";
	};
+4 −6
Original line number Diff line number Diff line
@@ -787,7 +787,7 @@ struct reset_control *__devm_reset_control_get(struct device *dev,
		return ERR_PTR(-ENOMEM);

	rstc = __reset_control_get(dev, id, index, shared, optional, acquired);
	if (!IS_ERR(rstc)) {
	if (!IS_ERR_OR_NULL(rstc)) {
		*ptr = rstc;
		devres_add(dev, ptr);
	} else {
@@ -861,8 +861,7 @@ static int of_reset_control_get_count(struct device_node *node)
 * @acquired: only one reset control may be acquired for a given controller
 *            and ID
 *
 * Returns pointer to allocated reset_control_array on success or
 * error on failure
 * Returns pointer to allocated reset_control on success or error on failure
 */
struct reset_control *
of_reset_control_array_get(struct device_node *np, bool shared, bool optional,
@@ -915,8 +914,7 @@ EXPORT_SYMBOL_GPL(of_reset_control_array_get);
 * that just have to be asserted or deasserted, without any
 * requirements on the order.
 *
 * Returns pointer to allocated reset_control_array on success or
 * error on failure
 * Returns pointer to allocated reset_control on success or error on failure
 */
struct reset_control *
devm_reset_control_array_get(struct device *dev, bool shared, bool optional)
@@ -930,7 +928,7 @@ devm_reset_control_array_get(struct device *dev, bool shared, bool optional)
		return ERR_PTR(-ENOMEM);

	rstc = of_reset_control_array_get(dev->of_node, shared, optional, true);
	if (IS_ERR(rstc)) {
	if (IS_ERR_OR_NULL(rstc)) {
		devres_free(devres);
		return rstc;
	}
+0 −6
Original line number Diff line number Diff line
@@ -91,12 +91,6 @@ static int brcmstb_reset_probe(struct platform_device *pdev)
		return -ENOMEM;

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!IS_ALIGNED(res->start, SW_INIT_BANK_SIZE) ||
	    !IS_ALIGNED(resource_size(res), SW_INIT_BANK_SIZE)) {
		dev_err(kdev, "incorrect register range\n");
		return -EINVAL;
	}

	priv->base = devm_ioremap_resource(kdev, res);
	if (IS_ERR(priv->base))
		return PTR_ERR(priv->base);