lkml.org 
[lkml]   [2020]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 03/12] interconnect: Move internal structs into a separate file
    Date
    Move the interconnect framework internal structs into a separate file,
    so that it can be included and used by ftrace code. This will allow us
    to expose some more useful information in the traces.

    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
    ---
    drivers/interconnect/core.c | 30 ++-----------------------
    drivers/interconnect/internal.h | 40 +++++++++++++++++++++++++++++++++
    2 files changed, 42 insertions(+), 28 deletions(-)
    create mode 100644 drivers/interconnect/internal.h

    diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
    index 1b811423020a..f30a326dc7ce 100644
    --- a/drivers/interconnect/core.c
    +++ b/drivers/interconnect/core.c
    @@ -19,39 +19,13 @@
    #include <linux/of.h>
    #include <linux/overflow.h>

    +#include "internal.h"
    +
    static DEFINE_IDR(icc_idr);
    static LIST_HEAD(icc_providers);
    static DEFINE_MUTEX(icc_lock);
    static struct dentry *icc_debugfs_dir;

    -/**
    - * struct icc_req - constraints that are attached to each node
    - * @req_node: entry in list of requests for the particular @node
    - * @node: the interconnect node to which this constraint applies
    - * @dev: reference to the device that sets the constraints
    - * @tag: path tag (optional)
    - * @avg_bw: an integer describing the average bandwidth in kBps
    - * @peak_bw: an integer describing the peak bandwidth in kBps
    - */
    -struct icc_req {
    - struct hlist_node req_node;
    - struct icc_node *node;
    - struct device *dev;
    - u32 tag;
    - u32 avg_bw;
    - u32 peak_bw;
    -};
    -
    -/**
    - * struct icc_path - interconnect path structure
    - * @num_nodes: number of hops (nodes)
    - * @reqs: array of the requests applicable to this path of nodes
    - */
    -struct icc_path {
    - size_t num_nodes;
    - struct icc_req reqs[];
    -};
    -
    static void icc_summary_show_one(struct seq_file *s, struct icc_node *n)
    {
    if (!n)
    diff --git a/drivers/interconnect/internal.h b/drivers/interconnect/internal.h
    new file mode 100644
    index 000000000000..5853e8faf223
    --- /dev/null
    +++ b/drivers/interconnect/internal.h
    @@ -0,0 +1,40 @@
    +/* SPDX-License-Identifier: GPL-2.0 */
    +/*
    + * Interconnect framework internal structs
    + *
    + * Copyright (c) 2019, Linaro Ltd.
    + * Author: Georgi Djakov <georgi.djakov@linaro.org>
    + */
    +
    +#ifndef __DRIVERS_INTERCONNECT_INTERNAL_H
    +#define __DRIVERS_INTERCONNECT_INTERNAL_H
    +
    +/**
    + * struct icc_req - constraints that are attached to each node
    + * @req_node: entry in list of requests for the particular @node
    + * @node: the interconnect node to which this constraint applies
    + * @dev: reference to the device that sets the constraints
    + * @tag: path tag (optional)
    + * @avg_bw: an integer describing the average bandwidth in kBps
    + * @peak_bw: an integer describing the peak bandwidth in kBps
    + */
    +struct icc_req {
    + struct hlist_node req_node;
    + struct icc_node *node;
    + struct device *dev;
    + u32 tag;
    + u32 avg_bw;
    + u32 peak_bw;
    +};
    +
    +/**
    + * struct icc_path - interconnect path structure
    + * @num_nodes: number of hops (nodes)
    + * @reqs: array of the requests applicable to this path of nodes
    + */
    +struct icc_path {
    + size_t num_nodes;
    + struct icc_req reqs[];
    +};
    +
    +#endif
    \
     
     \ /
      Last update: 2020-01-17 10:59    [W:3.991 / U:0.572 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site