diff mbox

ARM: exynos_defconfig: Enable CROS_EC_PROTO for ChromeOS EC mfd driver

Message ID 1439881281-22054-1-git-send-email-javier@osg.samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Javier Martinez Canillas Aug. 18, 2015, 7:01 a.m. UTC
The ChromeOS mfd driver (MFD_CROS_EC) select the CROS_EC_PROTO config
symbol because the driver uses some communication helper functions in
drivers/platform/chrome/cros_ec_proto.c but other drivers depends on
CROS_EC_PROTO instead. Mixing select and depends can lead to circular
Kconfig dependencies so the MFD_CROS_EC select should be changed to a
depends on CROS_EC_PROTO instead.

But doing so will break git bisect-ability since MFD_CROS_EC will not
be enabled anymore unless the default configs first explicitly enable
the CROS_EC_PROTO dependency.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
 arch/arm/configs/exynos_defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Krzysztof Kozlowski Aug. 18, 2015, 7:57 a.m. UTC | #1
On 18.08.2015 16:01, Javier Martinez Canillas wrote:
> The ChromeOS mfd driver (MFD_CROS_EC) select the CROS_EC_PROTO config
> symbol because the driver uses some communication helper functions in
> drivers/platform/chrome/cros_ec_proto.c but other drivers depends on
> CROS_EC_PROTO instead. Mixing select and depends can lead to circular
> Kconfig dependencies so the MFD_CROS_EC select should be changed to a
> depends on CROS_EC_PROTO instead.
> 
> But doing so will break git bisect-ability since MFD_CROS_EC will not
> be enabled anymore unless the default configs first explicitly enable
> the CROS_EC_PROTO dependency.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
>  arch/arm/configs/exynos_defconfig | 1 +
>  1 file changed, 1 insertion(+)

I saw the discussion about circular dependency but I wasn't following
it. Currently the CROS_EC_PROTO is not user-selectable. How can you
depend on it? How can be enabled on different configs (customized by user)?

Maybe the questions are answered by code in different patches?

Best regards,
Krzysztof


> 
> diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
> index 1ff2bfa2e183..537391ea37ac 100644
> --- a/arch/arm/configs/exynos_defconfig
> +++ b/arch/arm/configs/exynos_defconfig
> @@ -177,6 +177,7 @@ CONFIG_DMADEVICES=y
>  CONFIG_PL330_DMA=y
>  CONFIG_CHROME_PLATFORMS=y
>  CONFIG_CROS_EC_CHARDEV=y
> +CONFIG_CROS_EC_PROTO=y
>  CONFIG_COMMON_CLK_MAX77686=y
>  CONFIG_COMMON_CLK_MAX77802=y
>  CONFIG_COMMON_CLK_S2MPS11=y
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Javier Martinez Canillas Aug. 18, 2015, 8:05 a.m. UTC | #2
Hello Krzysztof,

On 08/18/2015 09:57 AM, Krzysztof Kozlowski wrote:
> On 18.08.2015 16:01, Javier Martinez Canillas wrote:
>> The ChromeOS mfd driver (MFD_CROS_EC) select the CROS_EC_PROTO config
>> symbol because the driver uses some communication helper functions in
>> drivers/platform/chrome/cros_ec_proto.c but other drivers depends on
>> CROS_EC_PROTO instead. Mixing select and depends can lead to circular
>> Kconfig dependencies so the MFD_CROS_EC select should be changed to a
>> depends on CROS_EC_PROTO instead.
>>
>> But doing so will break git bisect-ability since MFD_CROS_EC will not
>> be enabled anymore unless the default configs first explicitly enable
>> the CROS_EC_PROTO dependency.
>>
>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
>> ---
>>  arch/arm/configs/exynos_defconfig | 1 +
>>  1 file changed, 1 insertion(+)
> 
> I saw the discussion about circular dependency but I wasn't following
> it. Currently the CROS_EC_PROTO is not user-selectable. How can you
> depend on it? How can be enabled on different configs (customized by user)?
> 
> Maybe the questions are answered by code in different patches?

Yes, that's why I posted "[PATCH] platform/chrome: Make CROS_EC_PROTO
a user selectable option" [0].

I posted as separate patches because there isn't a dependency between
them and once all the defconfig patches and the patch to make the
CROS_EC_PROTO symbol user selectable lands, I'll post the patch to
change select for depends on to avoid a regression.

Maybe I should had posted as a series (or at least cc all the people
in all the patches) to not left these questions unanswered...

> 
> Best regards,
> Krzysztof
> 
> 

[0]: https://lkml.org/lkml/2015/8/18/61

Best regards,
Krzysztof Kozlowski Aug. 18, 2015, 8:09 a.m. UTC | #3
On 18.08.2015 17:05, Javier Martinez Canillas wrote:
> Hello Krzysztof,
> 
> On 08/18/2015 09:57 AM, Krzysztof Kozlowski wrote:
>> On 18.08.2015 16:01, Javier Martinez Canillas wrote:
>>> The ChromeOS mfd driver (MFD_CROS_EC) select the CROS_EC_PROTO config
>>> symbol because the driver uses some communication helper functions in
>>> drivers/platform/chrome/cros_ec_proto.c but other drivers depends on
>>> CROS_EC_PROTO instead. Mixing select and depends can lead to circular
>>> Kconfig dependencies so the MFD_CROS_EC select should be changed to a
>>> depends on CROS_EC_PROTO instead.
>>>
>>> But doing so will break git bisect-ability since MFD_CROS_EC will not
>>> be enabled anymore unless the default configs first explicitly enable
>>> the CROS_EC_PROTO dependency.
>>>
>>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
>>> ---
>>>  arch/arm/configs/exynos_defconfig | 1 +
>>>  1 file changed, 1 insertion(+)
>>
>> I saw the discussion about circular dependency but I wasn't following
>> it. Currently the CROS_EC_PROTO is not user-selectable. How can you
>> depend on it? How can be enabled on different configs (customized by user)?
>>
>> Maybe the questions are answered by code in different patches?
> 
> Yes, that's why I posted "[PATCH] platform/chrome: Make CROS_EC_PROTO
> a user selectable option" [0].
> 
> I posted as separate patches because there isn't a dependency between
> them and once all the defconfig patches and the patch to make the
> CROS_EC_PROTO symbol user selectable lands, I'll post the patch to
> change select for depends on to avoid a regression.

Makes sense now.

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

> 
> Maybe I should had posted as a series (or at least cc all the people
> in all the patches) to not left these questions unanswered...

Yep, Cc-ing or a short cover letter would probably answer my question. :)

Best regards,
Krzysztof

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Javier Martinez Canillas Aug. 18, 2015, 8:12 a.m. UTC | #4
Hello Krzysztof,

On 08/18/2015 10:09 AM, Krzysztof Kozlowski wrote:
> On 18.08.2015 17:05, Javier Martinez Canillas wrote:
>> Hello Krzysztof,
>>
>> On 08/18/2015 09:57 AM, Krzysztof Kozlowski wrote:
>>> On 18.08.2015 16:01, Javier Martinez Canillas wrote:
>>>> The ChromeOS mfd driver (MFD_CROS_EC) select the CROS_EC_PROTO config
>>>> symbol because the driver uses some communication helper functions in
>>>> drivers/platform/chrome/cros_ec_proto.c but other drivers depends on
>>>> CROS_EC_PROTO instead. Mixing select and depends can lead to circular
>>>> Kconfig dependencies so the MFD_CROS_EC select should be changed to a
>>>> depends on CROS_EC_PROTO instead.
>>>>
>>>> But doing so will break git bisect-ability since MFD_CROS_EC will not
>>>> be enabled anymore unless the default configs first explicitly enable
>>>> the CROS_EC_PROTO dependency.
>>>>
>>>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
>>>> ---
>>>>  arch/arm/configs/exynos_defconfig | 1 +
>>>>  1 file changed, 1 insertion(+)
>>>
>>> I saw the discussion about circular dependency but I wasn't following
>>> it. Currently the CROS_EC_PROTO is not user-selectable. How can you
>>> depend on it? How can be enabled on different configs (customized by user)?
>>>
>>> Maybe the questions are answered by code in different patches?
>>
>> Yes, that's why I posted "[PATCH] platform/chrome: Make CROS_EC_PROTO
>> a user selectable option" [0].
>>
>> I posted as separate patches because there isn't a dependency between
>> them and once all the defconfig patches and the patch to make the
>> CROS_EC_PROTO symbol user selectable lands, I'll post the patch to
>> change select for depends on to avoid a regression.
> 
> Makes sense now.
> 
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> 

Thanks!

>>
>> Maybe I should had posted as a series (or at least cc all the people
>> in all the patches) to not left these questions unanswered...
> 
> Yep, Cc-ing or a short cover letter would probably answer my question. :)
>

Yes, sorry about that.
 
> Best regards,
> Krzysztof
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Best regards,
Javier Martinez Canillas Aug. 19, 2015, 7:28 p.m. UTC | #5
Hello,

On 08/18/2015 09:01 AM, Javier Martinez Canillas wrote:
> The ChromeOS mfd driver (MFD_CROS_EC) select the CROS_EC_PROTO config
> symbol because the driver uses some communication helper functions in
> drivers/platform/chrome/cros_ec_proto.c but other drivers depends on
> CROS_EC_PROTO instead. Mixing select and depends can lead to circular
> Kconfig dependencies so the MFD_CROS_EC select should be changed to a
> depends on CROS_EC_PROTO instead.
> 
> But doing so will break git bisect-ability since MFD_CROS_EC will not
> be enabled anymore unless the default configs first explicitly enable
> the CROS_EC_PROTO dependency.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

This patch has been superseded by the "[PATCH 0/6] ChromeOS EC
Kconfig cleanups" series: https://lkml.org/lkml/2015/8/19/194

Please just ignore it.

Best regards,
diff mbox

Patch

diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index 1ff2bfa2e183..537391ea37ac 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -177,6 +177,7 @@  CONFIG_DMADEVICES=y
 CONFIG_PL330_DMA=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CROS_EC_CHARDEV=y
+CONFIG_CROS_EC_PROTO=y
 CONFIG_COMMON_CLK_MAX77686=y
 CONFIG_COMMON_CLK_MAX77802=y
 CONFIG_COMMON_CLK_S2MPS11=y