Message ID | 20191128141818.32168-1-georgi.djakov@linaro.org |
---|---|
Headers | show |
Series | interconnect: Add basic tracepoints | expand |
On Thu 28 Nov 06:18 PST 2019, Georgi Djakov wrote: > 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