Commit 9330bf74 authored by Georgi Djakov's avatar Georgi Djakov
Browse files

Merge branch 'icc-misc' into icc-next



* icc-misc
  interconnect: imx: Replace custom implementation of COUNT_ARGS()
  interconnect: msm8974: Replace custom implementation of COUNT_ARGS()
  interconnect: qcom: osm-l3: Replace custom implementation of COUNT_ARGS()
  interconnect: fix error handling in qnoc_probe()
  interconnect: imx: Replace inclusion of kernel.h in the header
  dt-bindings: interconnect: qcom,rpmh: do not require reg on SDX65 MC virt

Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parents bd35cbd7 4d8784d8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ allOf:
        properties:
          compatible:
            enum:
              - qcom,sdx65-mc-virt
              - qcom,sm8250-qup-virt
    then:
      required:
+7 −2
Original line number Diff line number Diff line
@@ -10,8 +10,13 @@
#ifndef __DRIVERS_INTERCONNECT_IMX_H
#define __DRIVERS_INTERCONNECT_IMX_H

#include <linux/args.h>
#include <linux/bits.h>
#include <linux/types.h>

#include <linux/interconnect-provider.h>
#include <linux/kernel.h>

struct platform_device;

#define IMX_ICC_MAX_LINKS	4

@@ -89,7 +94,7 @@ struct imx_icc_noc_setting {
		.id = _id,						\
		.name = _name,						\
		.adj = _adj,						\
		.num_links = ARRAY_SIZE(((int[]){ __VA_ARGS__ })),	\
		.num_links = COUNT_ARGS(__VA_ARGS__),			\
		.links = { __VA_ARGS__ },				\
	}

+10 −4
Original line number Diff line number Diff line
@@ -543,7 +543,7 @@ int qnoc_probe(struct platform_device *pdev)

	ret = devm_clk_bulk_get(dev, qp->num_intf_clks, qp->intf_clks);
	if (ret)
		return ret;
		goto err_disable_unprepare_clk;

	provider = &qp->provider;
	provider->dev = dev;
@@ -558,7 +558,7 @@ int qnoc_probe(struct platform_device *pdev)
	/* If this fails, bus accesses will crash the platform! */
	ret = clk_bulk_prepare_enable(qp->num_intf_clks, qp->intf_clks);
	if (ret)
		return ret;
		goto err_disable_unprepare_clk;

	for (i = 0; i < num_nodes; i++) {
		size_t j;
@@ -571,6 +571,8 @@ int qnoc_probe(struct platform_device *pdev)

		node = icc_node_create(qnodes[i]->id);
		if (IS_ERR(node)) {
			clk_bulk_disable_unprepare(qp->num_intf_clks,
						   qp->intf_clks);
			ret = PTR_ERR(node);
			goto err_remove_nodes;
		}
@@ -586,8 +588,11 @@ int qnoc_probe(struct platform_device *pdev)
		if (qnodes[i]->qos.ap_owned &&
		    qnodes[i]->qos.qos_mode != NOC_QOS_MODE_INVALID) {
			ret = qcom_icc_qos_set(node);
			if (ret)
				return ret;
			if (ret) {
				clk_bulk_disable_unprepare(qp->num_intf_clks,
							   qp->intf_clks);
				goto err_remove_nodes;
			}
		}

		data->nodes[i] = node;
@@ -615,6 +620,7 @@ int qnoc_probe(struct platform_device *pdev)
	icc_provider_deregister(provider);
err_remove_nodes:
	icc_nodes_remove(provider);
err_disable_unprepare_clk:
	clk_disable_unprepare(qp->bus_clk);

	return ret;
+3 −1
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@
 */

#include <dt-bindings/interconnect/qcom,msm8974.h>

#include <linux/args.h>
#include <linux/clk.h>
#include <linux/device.h>
#include <linux/interconnect-provider.h>
@@ -231,7 +233,7 @@ struct msm8974_icc_desc {
		.buswidth = _buswidth,					\
		.mas_rpm_id = _mas_rpm_id,				\
		.slv_rpm_id = _slv_rpm_id,				\
		.num_links = ARRAY_SIZE(((int[]){ __VA_ARGS__ })),	\
		.num_links = COUNT_ARGS(__VA_ARGS__),			\
		.links = { __VA_ARGS__ },				\
	}

+2 −1
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
 */

#include <linux/args.h>
#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/interconnect-provider.h>
@@ -78,7 +79,7 @@ enum {
		.name = #_name,						\
		.id = _id,						\
		.buswidth = _buswidth,					\
		.num_links = ARRAY_SIZE(((int[]){ __VA_ARGS__ })),	\
		.num_links = COUNT_ARGS(__VA_ARGS__),			\
		.links = { __VA_ARGS__ },				\
	}