coresight: Cleanup device subtype struct

Clean up our struct a little bit by using a union instead of
a struct for tracking the subtype of a device.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Suzuki K Poulose 2018-07-11 13:40:29 -06:00 committed by Greg Kroah-Hartman
parent fe470f5f7f
commit 00b78e8b7b

View File

@ -63,17 +63,20 @@ enum coresight_dev_subtype_source {
};
/**
* struct coresight_dev_subtype - further characterisation of a type
* union coresight_dev_subtype - further characterisation of a type
* @sink_subtype: type of sink this component is, as defined
by @coresight_dev_subtype_sink.
* by @coresight_dev_subtype_sink.
* @link_subtype: type of link this component is, as defined
by @coresight_dev_subtype_link.
* by @coresight_dev_subtype_link.
* @source_subtype: type of source this component is, as defined
by @coresight_dev_subtype_source.
* by @coresight_dev_subtype_source.
*/
struct coresight_dev_subtype {
enum coresight_dev_subtype_sink sink_subtype;
enum coresight_dev_subtype_link link_subtype;
union coresight_dev_subtype {
/* We have some devices which acts as LINK and SINK */
struct {
enum coresight_dev_subtype_sink sink_subtype;
enum coresight_dev_subtype_link link_subtype;
};
enum coresight_dev_subtype_source source_subtype;
};
@ -111,7 +114,7 @@ struct coresight_platform_data {
*/
struct coresight_desc {
enum coresight_dev_type type;
struct coresight_dev_subtype subtype;
union coresight_dev_subtype subtype;
const struct coresight_ops *ops;
struct coresight_platform_data *pdata;
struct device *dev;
@ -155,7 +158,7 @@ struct coresight_device {
int nr_inport;
int nr_outport;
enum coresight_dev_type type;
struct coresight_dev_subtype subtype;
union coresight_dev_subtype subtype;
const struct coresight_ops *ops;
struct device dev;
atomic_t *refcnt;