2019-02-13 02:36:14

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for Feb 12 (chrome/wilco_ec/)

On 2/12/19 3:49 PM, Nick Crews wrote:
> OK, here is the patch to fix this problem. We had the dependency backwards.
>
> Should I re-send out the entire patch series to the LKML with this fix in it?
>
>
> diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
> index 462eb9dfa4f2..b69561050868 100644
> --- a/drivers/platform/chrome/Kconfig
> +++ b/drivers/platform/chrome/Kconfig
> @@ -95,7 +95,7 @@ config CROS_EC_LPC
>  
>  config CROS_EC_LPC_MEC
>         bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
> -       depends on CROS_EC_LPC || WILCO_EC
> +       depends on CROS_EC_LPC
>         default n
>         help
>           If you say Y here, a variant LPC protocol for the Microchip EC
> diff --git a/drivers/platform/chrome/wilco_ec/Kconfig b/drivers/platform/chrome/wilco_ec/Kconfig
> index d8e2cddb4712..6ea2d3f64ce5 100644
> --- a/drivers/platform/chrome/wilco_ec/Kconfig
> +++ b/drivers/platform/chrome/wilco_ec/Kconfig
> @@ -1,6 +1,6 @@
>  config WILCO_EC
>         tristate "ChromeOS Wilco Embedded Controller"
> -       depends on ACPI && X86
> +       depends on ACPI && X86 && CROS_EC_LPC_MEC
>         select CROS_EC_LPC_MEC
>         help
>           If you say Y here, you get support for talking to the ChromeOS
>
>

Nick,

Did you test this?

When I apply the patch (by hand, since it was whitespace-mangled/damaged),
I get this:

rdunlap@midway:linux-next-20190212> make ARCH=x86_64 O=X64 oldconfig
make[1]: Entering directory '/home/rdunlap/lnx/next/linux-next-20190212/X64'
GEN Makefile
scripts/kconfig/conf --oldconfig Kconfig
drivers/platform/chrome/Kconfig:84:error: recursive dependency detected!
drivers/platform/chrome/Kconfig:84: symbol CROS_EC_LPC_MEC is selected by WILCO_EC
drivers/platform/chrome/wilco_ec/Kconfig:1: symbol WILCO_EC depends on CROS_EC_LPC_MEC
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"




--
~Randy


2019-02-13 23:06:16

by Nick Crews

[permalink] [raw]
Subject: Re: linux-next: Tree for Feb 12 (chrome/wilco_ec/)

Randy,

No, I didn't test it, I'm sorry, of course I should done that.
Sorry for the formatting too, I'm new to this and wasn't sure what
tool to use. The following version of the patch was made with
"git format-patch" and now I'm replying in plaintext, it hopefully is better.

From 0cfb3db970636983c1570827b7793e31e352716e Mon Sep 17 00:00:00 2001
From: Nick Crews <[email protected]>
Date: Tue, 12 Feb 2019 16:46:15 -0700
Subject: [PATCH] FROMLIST: wilco_ec: Fix Kconfig dependencies

In the initial version of the Wilco EC Driver, the
dependency order was wrong. It before was possible to
select CONFIG_WILCO_EC and CONFIG_CROS_EC_LPC without
having CONFIG_CROS_EC_LPC_MEC. This was wrong, since
WILCO_EC depends upon CONFIG CROS_EC_LPC_MEC, not the
other way around.

---
drivers/platform/chrome/Kconfig | 2 +-
drivers/platform/chrome/wilco_ec/Kconfig | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
index 462eb9dfa4f2..b69561050868 100644
--- a/drivers/platform/chrome/Kconfig
+++ b/drivers/platform/chrome/Kconfig
@@ -95,7 +95,7 @@ config CROS_EC_LPC

config CROS_EC_LPC_MEC
bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
- depends on CROS_EC_LPC || WILCO_EC
+ depends on CROS_EC_LPC
default n
help
If you say Y here, a variant LPC protocol for the Microchip EC
diff --git a/drivers/platform/chrome/wilco_ec/Kconfig
b/drivers/platform/chrome/wilco_ec/Kconfig
index d8e2cddb4712..de097690fce3 100644
--- a/drivers/platform/chrome/wilco_ec/Kconfig
+++ b/drivers/platform/chrome/wilco_ec/Kconfig
@@ -1,7 +1,6 @@
config WILCO_EC
tristate "ChromeOS Wilco Embedded Controller"
- depends on ACPI && X86
- select CROS_EC_LPC_MEC
+ depends on ACPI && X86 && CROS_EC_LPC_MEC
help
If you say Y here, you get support for talking to the ChromeOS
Wilco EC over an eSPI bus. This uses a simple byte-level protocol
--
2.20.1


On Tue, Feb 12, 2019 at 5:13 PM Randy Dunlap <[email protected]> wrote:
>
> On 2/12/19 3:49 PM, Nick Crews wrote:
> > OK, here is the patch to fix this problem. We had the dependency backwards.
> >
> > Should I re-send out the entire patch series to the LKML with this fix in it?
> >
> >
> > diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
> > index 462eb9dfa4f2..b69561050868 100644
> > --- a/drivers/platform/chrome/Kconfig
> > +++ b/drivers/platform/chrome/Kconfig
> > @@ -95,7 +95,7 @@ config CROS_EC_LPC
> >
> > config CROS_EC_LPC_MEC
> > bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
> > - depends on CROS_EC_LPC || WILCO_EC
> > + depends on CROS_EC_LPC
> > default n
> > help
> > If you say Y here, a variant LPC protocol for the Microchip EC
> > diff --git a/drivers/platform/chrome/wilco_ec/Kconfig b/drivers/platform/chrome/wilco_ec/Kconfig
> > index d8e2cddb4712..6ea2d3f64ce5 100644
> > --- a/drivers/platform/chrome/wilco_ec/Kconfig
> > +++ b/drivers/platform/chrome/wilco_ec/Kconfig
> > @@ -1,6 +1,6 @@
> > config WILCO_EC
> > tristate "ChromeOS Wilco Embedded Controller"
> > - depends on ACPI && X86
> > + depends on ACPI && X86 && CROS_EC_LPC_MEC
> > select CROS_EC_LPC_MEC
> > help
> > If you say Y here, you get support for talking to the ChromeOS
> >
> >
>
> Nick,
>
> Did you test this?
>
> When I apply the patch (by hand, since it was whitespace-mangled/damaged),
> I get this:
>
> rdunlap@midway:linux-next-20190212> make ARCH=x86_64 O=X64 oldconfig
> make[1]: Entering directory '/home/rdunlap/lnx/next/linux-next-20190212/X64'
> GEN Makefile
> scripts/kconfig/conf --oldconfig Kconfig
> drivers/platform/chrome/Kconfig:84:error: recursive dependency detected!
> drivers/platform/chrome/Kconfig:84: symbol CROS_EC_LPC_MEC is selected by WILCO_EC
> drivers/platform/chrome/wilco_ec/Kconfig:1: symbol WILCO_EC depends on CROS_EC_LPC_MEC
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
>
>
>
>
> --
> ~Randy

2019-02-14 08:42:01

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for Feb 12 (chrome/wilco_ec/)

On 2/13/19 9:26 AM, Nick Crews wrote:
> Randy,
>
> No, I didn't test it, I'm sorry, of course I should done that.
> Sorry for the formatting too, I'm new to this and wasn't sure what
> tool to use. The following version of the patch was made with
> "git format-patch" and now I'm replying in plaintext, it hopefully is better.
>

Hi Nick,

A few small comments:

> From 0cfb3db970636983c1570827b7793e31e352716e Mon Sep 17 00:00:00 2001
> From: Nick Crews <[email protected]>
> Date: Tue, 12 Feb 2019 16:46:15 -0700
> Subject: [PATCH] FROMLIST: wilco_ec: Fix Kconfig dependencies

delete FROMLIST:

The Subject should include a subsystem reference, e.g.:

[PATCH] chrome: fix wilco_ex Kconfig dependencies


>
> In the initial version of the Wilco EC Driver, the
> dependency order was wrong. It before was possible to
> select CONFIG_WILCO_EC and CONFIG_CROS_EC_LPC without
> having CONFIG_CROS_EC_LPC_MEC. This was wrong, since
> WILCO_EC depends upon CONFIG CROS_EC_LPC_MEC, not the
> other way around.
>

More importantly, the patch is still whitespace-damaged.
The Kconfig file lines that begin with "bool", "depends", "help", etc.
should contain a tab. Maybe your email client mangled the whitespace.

You might need to take a look at Documentation/process/email-clients.rst
for some hints.

Or if you email the patch with "git send-email", it might be fine.

Aside from that, after I fixed the whitespace, the kernel build does work
without errors.

Thanks.

> ---
> drivers/platform/chrome/Kconfig | 2 +-
> drivers/platform/chrome/wilco_ec/Kconfig | 3 +--
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
> index 462eb9dfa4f2..b69561050868 100644
> --- a/drivers/platform/chrome/Kconfig
> +++ b/drivers/platform/chrome/Kconfig
> @@ -95,7 +95,7 @@ config CROS_EC_LPC
>
> config CROS_EC_LPC_MEC
> bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
> - depends on CROS_EC_LPC || WILCO_EC
> + depends on CROS_EC_LPC
> default n
> help
> If you say Y here, a variant LPC protocol for the Microchip EC
> diff --git a/drivers/platform/chrome/wilco_ec/Kconfig
> b/drivers/platform/chrome/wilco_ec/Kconfig
> index d8e2cddb4712..de097690fce3 100644
> --- a/drivers/platform/chrome/wilco_ec/Kconfig
> +++ b/drivers/platform/chrome/wilco_ec/Kconfig
> @@ -1,7 +1,6 @@
> config WILCO_EC
> tristate "ChromeOS Wilco Embedded Controller"
> - depends on ACPI && X86
> - select CROS_EC_LPC_MEC
> + depends on ACPI && X86 && CROS_EC_LPC_MEC
> help
> If you say Y here, you get support for talking to the ChromeOS
> Wilco EC over an eSPI bus. This uses a simple byte-level protocol
> --
> 2.20.1
>
>
> On Tue, Feb 12, 2019 at 5:13 PM Randy Dunlap <[email protected]> wrote:
>>
>> On 2/12/19 3:49 PM, Nick Crews wrote:
>>> OK, here is the patch to fix this problem. We had the dependency backwards.
>>>
>>> Should I re-send out the entire patch series to the LKML with this fix in it?
>>>
>>>
>>> diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
>>> index 462eb9dfa4f2..b69561050868 100644
>>> --- a/drivers/platform/chrome/Kconfig
>>> +++ b/drivers/platform/chrome/Kconfig
>>> @@ -95,7 +95,7 @@ config CROS_EC_LPC
>>>
>>> config CROS_EC_LPC_MEC
>>> bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
>>> - depends on CROS_EC_LPC || WILCO_EC
>>> + depends on CROS_EC_LPC
>>> default n
>>> help
>>> If you say Y here, a variant LPC protocol for the Microchip EC
>>> diff --git a/drivers/platform/chrome/wilco_ec/Kconfig b/drivers/platform/chrome/wilco_ec/Kconfig
>>> index d8e2cddb4712..6ea2d3f64ce5 100644
>>> --- a/drivers/platform/chrome/wilco_ec/Kconfig
>>> +++ b/drivers/platform/chrome/wilco_ec/Kconfig
>>> @@ -1,6 +1,6 @@
>>> config WILCO_EC
>>> tristate "ChromeOS Wilco Embedded Controller"
>>> - depends on ACPI && X86
>>> + depends on ACPI && X86 && CROS_EC_LPC_MEC
>>> select CROS_EC_LPC_MEC
>>> help
>>> If you say Y here, you get support for talking to the ChromeOS
>>>
>>>
>>
>> Nick,
>>
>> Did you test this?
>>
>> When I apply the patch (by hand, since it was whitespace-mangled/damaged),
>> I get this:
>>
>> rdunlap@midway:linux-next-20190212> make ARCH=x86_64 O=X64 oldconfig
>> make[1]: Entering directory '/home/rdunlap/lnx/next/linux-next-20190212/X64'
>> GEN Makefile
>> scripts/kconfig/conf --oldconfig Kconfig
>> drivers/platform/chrome/Kconfig:84:error: recursive dependency detected!
>> drivers/platform/chrome/Kconfig:84: symbol CROS_EC_LPC_MEC is selected by WILCO_EC
>> drivers/platform/chrome/wilco_ec/Kconfig:1: symbol WILCO_EC depends on CROS_EC_LPC_MEC
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>>
>>
>>
>>
>> --
>> ~Randy


--
~Randy