Re: [PATCH 1/5] coresight: Include required headers in C files

From: Mathieu Poirier
Date: Mon Apr 27 2020 - 12:34:51 EST


On Sun, Apr 26, 2020 at 11:58:01AM -0700, Stephen Boyd wrote:
> We should include headers that C files use in the C files that use them
> and avoid relying on implicit includes as much as possible. This helps
> avoid compiler errors in the future about missing declarations when
> header files change includes in the future.
>
> Cc: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> Cc: Mike Leach <mike.leach@xxxxxxxxxx>
> Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
> drivers/hwtracing/coresight/coresight-cti-platform.c | 8 +++++++-
> drivers/hwtracing/coresight/coresight-cti-sysfs.c | 7 +++++++
> drivers/hwtracing/coresight/coresight-cti.h | 10 +++++++++-
> 3 files changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-cti-platform.c b/drivers/hwtracing/coresight/coresight-cti-platform.c
> index b44d83142b62..245f16c61af8 100644
> --- a/drivers/hwtracing/coresight/coresight-cti-platform.c
> +++ b/drivers/hwtracing/coresight/coresight-cti-platform.c
> @@ -2,11 +2,17 @@
> /*
> * Copyright (c) 2019, The Linaro Limited. All rights reserved.
> */
> +#include <linux/coresight.h>
> +#include <linux/device.h>
> +#include <linux/err.h>
> +#include <linux/of.h>
> +#include <linux/property.h>
> +#include <linux/slab.h>
>
> #include <dt-bindings/arm/coresight-cti-dt.h>
> -#include <linux/of.h>
>
> #include "coresight-cti.h"
> +#include "coresight-priv.h"
>
> /* Number of CTI signals in the v8 architecturally defined connection */
> #define NR_V8PE_IN_SIGS 2
> diff --git a/drivers/hwtracing/coresight/coresight-cti-sysfs.c b/drivers/hwtracing/coresight/coresight-cti-sysfs.c
> index 1f8fb7c15e80..bed460541f15 100644
> --- a/drivers/hwtracing/coresight/coresight-cti-sysfs.c
> +++ b/drivers/hwtracing/coresight/coresight-cti-sysfs.c
> @@ -4,7 +4,14 @@
> * Author: Mike Leach <mike.leach@xxxxxxxxxx>
> */
>
> +#include <linux/atomic.h>
> #include <linux/coresight.h>
> +#include <linux/device.h>
> +#include <linux/io.h>
> +#include <linux/kernel.h>
> +#include <linux/slab.h>
> +#include <linux/spinlock.h>
> +#include <linux/sysfs.h>
>
> #include "coresight-cti.h"
>
> diff --git a/drivers/hwtracing/coresight/coresight-cti.h b/drivers/hwtracing/coresight/coresight-cti.h
> index 004df3ab9dd0..d80123b905a8 100644
> --- a/drivers/hwtracing/coresight/coresight-cti.h
> +++ b/drivers/hwtracing/coresight/coresight-cti.h
> @@ -7,8 +7,10 @@
> #ifndef _CORESIGHT_CORESIGHT_CTI_H
> #define _CORESIGHT_CORESIGHT_CTI_H
>
> -#include <asm/local.h>
> +#include <linux/list.h>
> #include <linux/spinlock.h>
> +#include <linux/types.h>
> +
> #include "coresight-priv.h"
>
> /*
> @@ -52,6 +54,12 @@
> */
> #define CTIINOUTEN_MAX 32
>
> +struct attribute;
> +struct attribute_group;
> +struct coresight_device;
> +struct device;
> +struct fwnode_handle;
> +

I would prefer adding the headers rather than forward declarations, it scales
better.

Thanks,
Mathieu

> /**
> * Group of related trigger signals
> *
> --
> Sent by a computer, using git, on the internet
>