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 коммит произвёл Greg Kroah-Hartman
Родитель fe470f5f7f
Коммит 00b78e8b7b
1 изменённых файлов: 12 добавлений и 9 удалений

Просмотреть файл

@ -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 * @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 * @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 * @source_subtype: type of source this component is, as defined
by @coresight_dev_subtype_source. * by @coresight_dev_subtype_source.
*/ */
struct coresight_dev_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_sink sink_subtype;
enum coresight_dev_subtype_link link_subtype; enum coresight_dev_subtype_link link_subtype;
};
enum coresight_dev_subtype_source source_subtype; enum coresight_dev_subtype_source source_subtype;
}; };
@ -111,7 +114,7 @@ struct coresight_platform_data {
*/ */
struct coresight_desc { struct coresight_desc {
enum coresight_dev_type type; enum coresight_dev_type type;
struct coresight_dev_subtype subtype; union coresight_dev_subtype subtype;
const struct coresight_ops *ops; const struct coresight_ops *ops;
struct coresight_platform_data *pdata; struct coresight_platform_data *pdata;
struct device *dev; struct device *dev;
@ -155,7 +158,7 @@ struct coresight_device {
int nr_inport; int nr_inport;
int nr_outport; int nr_outport;
enum coresight_dev_type type; enum coresight_dev_type type;
struct coresight_dev_subtype subtype; union coresight_dev_subtype subtype;
const struct coresight_ops *ops; const struct coresight_ops *ops;
struct device dev; struct device dev;
atomic_t *refcnt; atomic_t *refcnt;