2020-02-05 09:49:44

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v2] platform/chrome: wilco_ec: Platform data shan't include kernel.h

Replace with appropriate types.h.

Also there is no need to include device.h, but mutex.h.
For the pointers to unknown structures use forward declarations.

In the *.c files we need to include all headers that provide APIs
being used in the module.

Signed-off-by: Andy Shevchenko <[email protected]>
---
v2: update *.c files (kbuild test robot)
drivers/platform/chrome/wilco_ec/properties.c | 3 +++
drivers/platform/chrome/wilco_ec/sysfs.c | 4 ++++
include/linux/platform_data/wilco-ec.h | 8 ++++++--
3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/wilco_ec/properties.c b/drivers/platform/chrome/wilco_ec/properties.c
index e69682c95ea2..a0cbd8bd2851 100644
--- a/drivers/platform/chrome/wilco_ec/properties.c
+++ b/drivers/platform/chrome/wilco_ec/properties.c
@@ -3,8 +3,11 @@
* Copyright 2019 Google LLC
*/

+#include <linux/errno.h>
+#include <linux/export.h>
#include <linux/platform_data/wilco-ec.h>
#include <linux/string.h>
+#include <linux/types.h>
#include <linux/unaligned/le_memmove.h>

/* Operation code; what the EC should do with the property */
diff --git a/drivers/platform/chrome/wilco_ec/sysfs.c b/drivers/platform/chrome/wilco_ec/sysfs.c
index f0d174b6bb21..3c587b4054a5 100644
--- a/drivers/platform/chrome/wilco_ec/sysfs.c
+++ b/drivers/platform/chrome/wilco_ec/sysfs.c
@@ -8,8 +8,12 @@
* See Documentation/ABI/testing/sysfs-platform-wilco-ec for more information.
*/

+#include <linux/device.h>
+#include <linux/kernel.h>
#include <linux/platform_data/wilco-ec.h>
+#include <linux/string.h>
#include <linux/sysfs.h>
+#include <linux/types.h>

#define CMD_KB_CMOS 0x7C
#define SUB_CMD_KB_CMOS_AUTO_ON 0x03
diff --git a/include/linux/platform_data/wilco-ec.h b/include/linux/platform_data/wilco-ec.h
index afede15a95bf..25f46a939637 100644
--- a/include/linux/platform_data/wilco-ec.h
+++ b/include/linux/platform_data/wilco-ec.h
@@ -8,8 +8,8 @@
#ifndef WILCO_EC_H
#define WILCO_EC_H

-#include <linux/device.h>
-#include <linux/kernel.h>
+#include <linux/mutex.h>
+#include <linux/types.h>

/* Message flags for using the mailbox() interface */
#define WILCO_EC_FLAG_NO_RESPONSE BIT(0) /* EC does not respond */
@@ -17,6 +17,10 @@
/* Normal commands have a maximum 32 bytes of data */
#define EC_MAILBOX_DATA_SIZE 32

+struct device;
+struct resource;
+struct platform_device;
+
/**
* struct wilco_ec_device - Wilco Embedded Controller handle.
* @dev: Device handle.
--
2.24.1


2020-02-10 14:57:47

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2] platform/chrome: wilco_ec: Platform data shan't include kernel.h

On Wed, Feb 05, 2020 at 11:48:28AM +0200, Andy Shevchenko wrote:
> Replace with appropriate types.h.
>
> Also there is no need to include device.h, but mutex.h.
> For the pointers to unknown structures use forward declarations.
>
> In the *.c files we need to include all headers that provide APIs
> being used in the module.

Anybody to comment?

>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> v2: update *.c files (kbuild test robot)
> drivers/platform/chrome/wilco_ec/properties.c | 3 +++
> drivers/platform/chrome/wilco_ec/sysfs.c | 4 ++++
> include/linux/platform_data/wilco-ec.h | 8 ++++++--
> 3 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/chrome/wilco_ec/properties.c b/drivers/platform/chrome/wilco_ec/properties.c
> index e69682c95ea2..a0cbd8bd2851 100644
> --- a/drivers/platform/chrome/wilco_ec/properties.c
> +++ b/drivers/platform/chrome/wilco_ec/properties.c
> @@ -3,8 +3,11 @@
> * Copyright 2019 Google LLC
> */
>
> +#include <linux/errno.h>
> +#include <linux/export.h>
> #include <linux/platform_data/wilco-ec.h>
> #include <linux/string.h>
> +#include <linux/types.h>
> #include <linux/unaligned/le_memmove.h>
>
> /* Operation code; what the EC should do with the property */
> diff --git a/drivers/platform/chrome/wilco_ec/sysfs.c b/drivers/platform/chrome/wilco_ec/sysfs.c
> index f0d174b6bb21..3c587b4054a5 100644
> --- a/drivers/platform/chrome/wilco_ec/sysfs.c
> +++ b/drivers/platform/chrome/wilco_ec/sysfs.c
> @@ -8,8 +8,12 @@
> * See Documentation/ABI/testing/sysfs-platform-wilco-ec for more information.
> */
>
> +#include <linux/device.h>
> +#include <linux/kernel.h>
> #include <linux/platform_data/wilco-ec.h>
> +#include <linux/string.h>
> #include <linux/sysfs.h>
> +#include <linux/types.h>
>
> #define CMD_KB_CMOS 0x7C
> #define SUB_CMD_KB_CMOS_AUTO_ON 0x03
> diff --git a/include/linux/platform_data/wilco-ec.h b/include/linux/platform_data/wilco-ec.h
> index afede15a95bf..25f46a939637 100644
> --- a/include/linux/platform_data/wilco-ec.h
> +++ b/include/linux/platform_data/wilco-ec.h
> @@ -8,8 +8,8 @@
> #ifndef WILCO_EC_H
> #define WILCO_EC_H
>
> -#include <linux/device.h>
> -#include <linux/kernel.h>
> +#include <linux/mutex.h>
> +#include <linux/types.h>
>
> /* Message flags for using the mailbox() interface */
> #define WILCO_EC_FLAG_NO_RESPONSE BIT(0) /* EC does not respond */
> @@ -17,6 +17,10 @@
> /* Normal commands have a maximum 32 bytes of data */
> #define EC_MAILBOX_DATA_SIZE 32
>
> +struct device;
> +struct resource;
> +struct platform_device;
> +
> /**
> * struct wilco_ec_device - Wilco Embedded Controller handle.
> * @dev: Device handle.
> --
> 2.24.1
>

--
With Best Regards,
Andy Shevchenko


2020-02-10 15:05:13

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH v2] platform/chrome: wilco_ec: Platform data shan't include kernel.h

Hi Andy,

On 10/2/20 15:57, Andy Shevchenko wrote:
> On Wed, Feb 05, 2020 at 11:48:28AM +0200, Andy Shevchenko wrote:
>> Replace with appropriate types.h.
>>
>> Also there is no need to include device.h, but mutex.h.
>> For the pointers to unknown structures use forward declarations.
>>
>> In the *.c files we need to include all headers that provide APIs
>> being used in the module.
>
> Anybody to comment?
>

LGTM, I silently queued this patch this morning in our kernelci branch to give a
try. Waiting for the results, if all goes well will be queued for-next.

Thanks,
Enric

>>
>> Signed-off-by: Andy Shevchenko <[email protected]>
>> ---
>> v2: update *.c files (kbuild test robot)
>> drivers/platform/chrome/wilco_ec/properties.c | 3 +++
>> drivers/platform/chrome/wilco_ec/sysfs.c | 4 ++++
>> include/linux/platform_data/wilco-ec.h | 8 ++++++--
>> 3 files changed, 13 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/platform/chrome/wilco_ec/properties.c b/drivers/platform/chrome/wilco_ec/properties.c
>> index e69682c95ea2..a0cbd8bd2851 100644
>> --- a/drivers/platform/chrome/wilco_ec/properties.c
>> +++ b/drivers/platform/chrome/wilco_ec/properties.c
>> @@ -3,8 +3,11 @@
>> * Copyright 2019 Google LLC
>> */
>>
>> +#include <linux/errno.h>
>> +#include <linux/export.h>
>> #include <linux/platform_data/wilco-ec.h>
>> #include <linux/string.h>
>> +#include <linux/types.h>
>> #include <linux/unaligned/le_memmove.h>
>>
>> /* Operation code; what the EC should do with the property */
>> diff --git a/drivers/platform/chrome/wilco_ec/sysfs.c b/drivers/platform/chrome/wilco_ec/sysfs.c
>> index f0d174b6bb21..3c587b4054a5 100644
>> --- a/drivers/platform/chrome/wilco_ec/sysfs.c
>> +++ b/drivers/platform/chrome/wilco_ec/sysfs.c
>> @@ -8,8 +8,12 @@
>> * See Documentation/ABI/testing/sysfs-platform-wilco-ec for more information.
>> */
>>
>> +#include <linux/device.h>
>> +#include <linux/kernel.h>
>> #include <linux/platform_data/wilco-ec.h>
>> +#include <linux/string.h>
>> #include <linux/sysfs.h>
>> +#include <linux/types.h>
>>
>> #define CMD_KB_CMOS 0x7C
>> #define SUB_CMD_KB_CMOS_AUTO_ON 0x03
>> diff --git a/include/linux/platform_data/wilco-ec.h b/include/linux/platform_data/wilco-ec.h
>> index afede15a95bf..25f46a939637 100644
>> --- a/include/linux/platform_data/wilco-ec.h
>> +++ b/include/linux/platform_data/wilco-ec.h
>> @@ -8,8 +8,8 @@
>> #ifndef WILCO_EC_H
>> #define WILCO_EC_H
>>
>> -#include <linux/device.h>
>> -#include <linux/kernel.h>
>> +#include <linux/mutex.h>
>> +#include <linux/types.h>
>>
>> /* Message flags for using the mailbox() interface */
>> #define WILCO_EC_FLAG_NO_RESPONSE BIT(0) /* EC does not respond */
>> @@ -17,6 +17,10 @@
>> /* Normal commands have a maximum 32 bytes of data */
>> #define EC_MAILBOX_DATA_SIZE 32
>>
>> +struct device;
>> +struct resource;
>> +struct platform_device;
>> +
>> /**
>> * struct wilco_ec_device - Wilco Embedded Controller handle.
>> * @dev: Device handle.
>> --
>> 2.24.1
>>
>

2020-02-11 09:45:42

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH v2] platform/chrome: wilco_ec: Platform data shan't include kernel.h


On 5/2/20 10:48, Andy Shevchenko wrote:
> Replace with appropriate types.h.
>
> Also there is no need to include device.h, but mutex.h.
> For the pointers to unknown structures use forward declarations.
>
> In the *.c files we need to include all headers that provide APIs
> being used in the module.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---

Queued for 5.7, thanks.