Message ID | 1439881281-22054-1-git-send-email-javier@osg.samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 >
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,
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
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,
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 --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
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(+)