Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-27 Thread Arnd Bergmann
On Tue, Feb 27, 2018 at 11:22 AM, Masahiro Yamada
 wrote:
> 2018-02-27 18:03 GMT+09:00 Arnd Bergmann :
>> On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
>>  wrote:
>>> But, we need to decide what the right solution is.
>>
>> I think for consistency, we should change the existing
>> 'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
>> matches what we do with REGMAP_MMIO.
>>
>> MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
>> so I would keep using the same conventions here, even though
>> we normally prefer to not 'select' any user-visible options.
>>
>> It might be possible to make MFD_SYSCON a silent symbol
>> as well, but we'd have to make sure that all users select the symbol
>> then.
>>
>> Arnd
>
>
> If we agree, I can send the following three patches.
>
>
> [1] Add "depends on HAS_IOMEM"
> to all drivers selecting MFD_SYSCON
> (Unmet dependencies will be fixed by this)
>
> [2] For consistency, convert existing "depends on MFD_SYSCON"
> to "select MFD_SYSCON" + "depends on HAS_IOMEM"

Those sound good.

> [3] Change MFD_SYSCON to user-unconfigurable option.
> But, for COMPILE_TEST, allow users to enable it independently.
> Like follows:
>
> config MFD_SYSCON
> bool "System Controller Register R/W Based on Regmap" if COMPILE_TEST
> select REGMAP_MMIO
> help
>   Select this option to enable accessing system control registers
>   via regmap.
>
>
> Is this OK?

I'm unsure about the third one, since we have drivers that can optionally
use syscon, depending on the platform. With this change, any user that
manually enabled syscon to use that with a driver that requires it on their
platform but not on others will see a regression.

If we do make MFD_SYSCON a silent option like that, we should remove
the #else section in include/linux/mfd/syscon.h to force a build error,
and require all drivers to 'select MFD_SYSCON' if they are able to use it.

   Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-27 Thread Masahiro Yamada
2018-02-27 18:03 GMT+09:00 Arnd Bergmann :
> On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
>  wrote:
>> 2018-02-26 21:43 GMT+09:00 Arnd Bergmann :
>>> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
>>>  wrote:
 2018-02-26 17:43 GMT+09:00 Arnd Bergmann :
> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>  wrote:
>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>> used with care - it forces a lower limit of another symbol, ignoring
>> the dependency.
>>
>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>> select it.
>>
>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>
>>   $ make ARCH=score randconfig
>>   scripts/kconfig/conf  --randconfig Kconfig
>>   KCONFIG_SEED=0x27C47F43
>>   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>
>> Use 'depends on' to observe the dependency.
>>
>> This commit was created by the following command:
>>
>>   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>
>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>
>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>> rely on someone select's MFD_SYSCON.
>>
>> Signed-off-by: Masahiro Yamada 
>> ---
>>
>> If you have a better idea to fix 'unmet dependencies',
>> please suggest.
>
> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
> of defconfig configurations, I'd rather not do that.


 Could you explain why?

 I set 'default y' for MFD_SYSCON.

 Would it still break defconfig configurations?
>>>
>>> No, you are right, that would not break defconfigs, it would just mean one
>>> useless driver being enabled for many configurations that don't need it.
>>
>> If we are unhappy about this,
>> we can send per-arch patches
>> to add CONFIG_MTD_SYSCON=y to defconfigs that need it.
>>
>> But, we need to decide what the right solution is.
>
> I think for consistency, we should change the existing
> 'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
> matches what we do with REGMAP_MMIO.
>
> MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
> so I would keep using the same conventions here, even though
> we normally prefer to not 'select' any user-visible options.
>
> It might be possible to make MFD_SYSCON a silent symbol
> as well, but we'd have to make sure that all users select the symbol
> then.
>
> Arnd


If we agree, I can send the following three patches.


[1] Add "depends on HAS_IOMEM"
to all drivers selecting MFD_SYSCON
(Unmet dependencies will be fixed by this)

[2] For consistency, convert existing "depends on MFD_SYSCON"
to "select MFD_SYSCON" + "depends on HAS_IOMEM"

[3] Change MFD_SYSCON to user-unconfigurable option.
But, for COMPILE_TEST, allow users to enable it independently.
Like follows:

config MFD_SYSCON
bool "System Controller Register R/W Based on Regmap" if COMPILE_TEST
select REGMAP_MMIO
help
  Select this option to enable accessing system control registers
  via regmap.


Is this OK?


-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-27 Thread Arnd Bergmann
On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
 wrote:
> 2018-02-26 21:43 GMT+09:00 Arnd Bergmann :
>> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
>>  wrote:
>>> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann :
 On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
  wrote:
> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
> used with care - it forces a lower limit of another symbol, ignoring
> the dependency.
>
> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
> select it.
>
> This causes unmet dependencies for architecture without HAS_IOMEM.
>
>   $ make ARCH=score randconfig
>   scripts/kconfig/conf  --randconfig Kconfig
>   KCONFIG_SEED=0x27C47F43
>   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>
> Use 'depends on' to observe the dependency.
>
> This commit was created by the following command:
>
>   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>
> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>
> Also, make MFD_SYSCON 'default y' because some defconfig files may
> rely on someone select's MFD_SYSCON.
>
> Signed-off-by: Masahiro Yamada 
> ---
>
> If you have a better idea to fix 'unmet dependencies',
> please suggest.

 Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
 of defconfig configurations, I'd rather not do that.
>>>
>>>
>>> Could you explain why?
>>>
>>> I set 'default y' for MFD_SYSCON.
>>>
>>> Would it still break defconfig configurations?
>>
>> No, you are right, that would not break defconfigs, it would just mean one
>> useless driver being enabled for many configurations that don't need it.
>
> If we are unhappy about this,
> we can send per-arch patches
> to add CONFIG_MTD_SYSCON=y to defconfigs that need it.
>
> But, we need to decide what the right solution is.

I think for consistency, we should change the existing
'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
matches what we do with REGMAP_MMIO.

MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
so I would keep using the same conventions here, even though
we normally prefer to not 'select' any user-visible options.

It might be possible to make MFD_SYSCON a silent symbol
as well, but we'd have to make sure that all users select the symbol
then.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-26 Thread Masahiro Yamada
2018-02-26 21:43 GMT+09:00 Arnd Bergmann :
> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
>  wrote:
>> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann :
>>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>>>  wrote:
 As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
 used with care - it forces a lower limit of another symbol, ignoring
 the dependency.

 MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
 select it.

 This causes unmet dependencies for architecture without HAS_IOMEM.

   $ make ARCH=score randconfig
   scripts/kconfig/conf  --randconfig Kconfig
   KCONFIG_SEED=0x27C47F43
   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)

 Use 'depends on' to observe the dependency.

 This commit was created by the following command:

   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
 's/select MFD_SYSCON$/depends on MFD_SYSCON/'

 Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.

 Also, make MFD_SYSCON 'default y' because some defconfig files may
 rely on someone select's MFD_SYSCON.

 Signed-off-by: Masahiro Yamada 
 ---

 If you have a better idea to fix 'unmet dependencies',
 please suggest.
>>>
>>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>>> of defconfig configurations, I'd rather not do that.
>>
>>
>> Could you explain why?
>>
>> I set 'default y' for MFD_SYSCON.
>>
>> Would it still break defconfig configurations?
>
> No, you are right, that would not break defconfigs, it would just mean one
> useless driver being enabled for many configurations that don't need it.

If we are unhappy about this,
we can send per-arch patches
to add CONFIG_MTD_SYSCON=y to defconfigs that need it.

But, we need to decide what the right solution is.


>>> Only score, tile and um have some configurations that select 'NO_IOMEM'.
>>> Score is getting removed now, tile might get removed later (we could make
>>> PCI mandatory in the meantime to avoid that configuration), and I think for
>>> um, we already have a workaround for the NO_IOMEM dependencies
>>> (I forget the details).
>>
>> I do not think this is a stable solution.
>>
>> Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?
>
> We could either leave it for arch/um only and have that deal with the
> issues (which I think we already have), or we could remove the options
> entirely.
>
>   Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-clk" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-26 Thread Arnd Bergmann
On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
 wrote:
> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann :
>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>>  wrote:
>>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>>> used with care - it forces a lower limit of another symbol, ignoring
>>> the dependency.
>>>
>>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>>> select it.
>>>
>>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>>
>>>   $ make ARCH=score randconfig
>>>   scripts/kconfig/conf  --randconfig Kconfig
>>>   KCONFIG_SEED=0x27C47F43
>>>   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>>   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>>
>>> Use 'depends on' to observe the dependency.
>>>
>>> This commit was created by the following command:
>>>
>>>   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>>
>>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>>
>>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>>> rely on someone select's MFD_SYSCON.
>>>
>>> Signed-off-by: Masahiro Yamada 
>>> ---
>>>
>>> If you have a better idea to fix 'unmet dependencies',
>>> please suggest.
>>
>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>> of defconfig configurations, I'd rather not do that.
>
>
> Could you explain why?
>
> I set 'default y' for MFD_SYSCON.
>
> Would it still break defconfig configurations?

No, you are right, that would not break defconfigs, it would just mean one
useless driver being enabled for many configurations that don't need it.

>> Only score, tile and um have some configurations that select 'NO_IOMEM'.
>> Score is getting removed now, tile might get removed later (we could make
>> PCI mandatory in the meantime to avoid that configuration), and I think for
>> um, we already have a workaround for the NO_IOMEM dependencies
>> (I forget the details).
>
> I do not think this is a stable solution.
>
> Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?

We could either leave it for arch/um only and have that deal with the
issues (which I think we already have), or we could remove the options
entirely.

  Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-26 Thread Masahiro Yamada
2018-02-26 17:43 GMT+09:00 Arnd Bergmann :
> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>  wrote:
>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>> used with care - it forces a lower limit of another symbol, ignoring
>> the dependency.
>>
>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>> select it.
>>
>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>
>>   $ make ARCH=score randconfig
>>   scripts/kconfig/conf  --randconfig Kconfig
>>   KCONFIG_SEED=0x27C47F43
>>   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>
>> Use 'depends on' to observe the dependency.
>>
>> This commit was created by the following command:
>>
>>   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>
>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>
>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>> rely on someone select's MFD_SYSCON.
>>
>> Signed-off-by: Masahiro Yamada 
>> ---
>>
>> If you have a better idea to fix 'unmet dependencies',
>> please suggest.
>
> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
> of defconfig configurations, I'd rather not do that.


Could you explain why?

I set 'default y' for MFD_SYSCON.

Would it still break defconfig configurations?




> Only score, tile and um have some configurations that select 'NO_IOMEM'.
> Score is getting removed now, tile might get removed later (we could make
> PCI mandatory in the meantime to avoid that configuration), and I think for
> um, we already have a workaround for the NO_IOMEM dependencies
> (I forget the details).

I do not think this is a stable solution.

Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?




-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-26 Thread Arnd Bergmann
On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
 wrote:
> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
> used with care - it forces a lower limit of another symbol, ignoring
> the dependency.
>
> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
> select it.
>
> This causes unmet dependencies for architecture without HAS_IOMEM.
>
>   $ make ARCH=score randconfig
>   scripts/kconfig/conf  --randconfig Kconfig
>   KCONFIG_SEED=0x27C47F43
>   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>
> Use 'depends on' to observe the dependency.
>
> This commit was created by the following command:
>
>   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>
> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>
> Also, make MFD_SYSCON 'default y' because some defconfig files may
> rely on someone select's MFD_SYSCON.
>
> Signed-off-by: Masahiro Yamada 
> ---
>
> If you have a better idea to fix 'unmet dependencies',
> please suggest.

Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
of defconfig configurations, I'd rather not do that.

Only score, tile and um have some configurations that select 'NO_IOMEM'.
Score is getting removed now, tile might get removed later (we could make
PCI mandatory in the meantime to avoid that configuration), and I think for
um, we already have a workaround for the NO_IOMEM dependencies
(I forget the details).

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-25 Thread Andy Shevchenko
On Sat, Feb 24, 2018 at 4:50 PM, Masahiro Yamada
 wrote:

> Also, make MFD_SYSCON 'default y' because some defconfig files may
> rely on someone select's MFD_SYSCON.

I'm not sure this is right thing to do. You basically imply that there
always a user of it.


-- 
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

2018-02-24 Thread Masahiro Yamada
As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
used with care - it forces a lower limit of another symbol, ignoring
the dependency.

MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
select it.

This causes unmet dependencies for architecture without HAS_IOMEM.

  $ make ARCH=score randconfig
  scripts/kconfig/conf  --randconfig Kconfig
  KCONFIG_SEED=0x27C47F43
  warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
  selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)

Use 'depends on' to observe the dependency.

This commit was created by the following command:

  $ find drivers -name 'Kconfig*' | xargs sed -i -e \
's/select MFD_SYSCON$/depends on MFD_SYSCON/'

Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.

Also, make MFD_SYSCON 'default y' because some defconfig files may
rely on someone select's MFD_SYSCON.

Signed-off-by: Masahiro Yamada 
---

If you have a better idea to fix 'unmet dependencies',
please suggest.


 drivers/ata/Kconfig |  2 +-
 drivers/clk/Kconfig |  9 -
 drivers/clk/imgtec/Kconfig  |  2 +-
 drivers/clocksource/Kconfig |  4 ++--
 drivers/dma/Kconfig |  2 +-
 drivers/gpu/drm/exynos/Kconfig  |  2 +-
 drivers/hwspinlock/Kconfig  |  2 +-
 drivers/input/touchscreen/Kconfig   |  2 +-
 drivers/irqchip/Kconfig |  2 +-
 drivers/media/platform/Kconfig  |  2 +-
 drivers/media/platform/exynos4-is/Kconfig   |  2 +-
 drivers/memory/Kconfig  |  2 +-
 drivers/mfd/Kconfig |  5 +++--
 drivers/net/ethernet/hisilicon/Kconfig  |  2 +-
 drivers/net/ethernet/stmicro/stmmac/Kconfig | 16 
 drivers/net/ethernet/ti/Kconfig |  2 +-
 drivers/pci/dwc/Kconfig |  2 +-
 drivers/pci/host/Kconfig|  2 +-
 drivers/phy/hisilicon/Kconfig   |  4 ++--
 drivers/phy/ralink/Kconfig  |  2 +-
 drivers/phy/rockchip/Kconfig|  2 +-
 drivers/phy/samsung/Kconfig |  6 +++---
 drivers/phy/ti/Kconfig  |  2 +-
 drivers/pinctrl/Kconfig |  6 +++---
 drivers/pinctrl/mvebu/Kconfig   |  4 ++--
 drivers/pinctrl/stm32/Kconfig   |  2 +-
 drivers/power/reset/Kconfig |  6 +++---
 drivers/remoteproc/Kconfig  |  4 ++--
 drivers/reset/Kconfig   |  4 ++--
 drivers/rtc/Kconfig |  2 +-
 drivers/soc/qcom/Kconfig|  2 +-
 drivers/staging/media/omap4iss/Kconfig  |  2 +-
 drivers/usb/host/Kconfig|  2 +-
 drivers/video/fbdev/Kconfig |  2 +-
 drivers/watchdog/Kconfig|  4 ++--
 35 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index a7120d6..e70753c 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -176,7 +176,7 @@ config AHCI_CEVA
 config AHCI_MTK
tristate "MediaTek AHCI SATA support"
depends on ARCH_MEDIATEK
-   select MFD_SYSCON
+   depends on MFD_SYSCON
help
  This option enables support for the MediaTek SoC's
  onboard AHCI SATA controller.
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 98ce9fc..b4950d8 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -136,7 +136,7 @@ config COMMON_CLK_CS2000_CP
 config COMMON_CLK_GEMINI
bool "Clock driver for Cortina Systems Gemini SoC"
depends on ARCH_GEMINI || COMPILE_TEST
-   select MFD_SYSCON
+   depends on MFD_SYSCON
select RESET_CONTROLLER
---help---
  This driver supports the SoC clocks on the Cortina Systems Gemini
@@ -146,7 +146,7 @@ config COMMON_CLK_ASPEED
bool "Clock driver for Aspeed BMC SoCs"
depends on ARCH_ASPEED || COMPILE_TEST
default ARCH_ASPEED
-   select MFD_SYSCON
+   depends on MFD_SYSCON
select RESET_CONTROLLER
---help---
  This driver supports the SoC clocks on the Aspeed BMC platforms.
@@ -193,9 +193,8 @@ config COMMON_CLK_XGENE
  Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
 
 config COMMON_CLK_NXP
-   def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
+   def_bool COMMON_CLK && ((ARCH_LPC18XX && MFD_SYSCON) || ARCH_LPC32XX)
select REGMAP_MMIO if ARCH_LPC32XX
-   select MFD_SYSCON if ARCH_LPC18XX
---help---
  Support for clock providers on NXP platforms.
 
@@ -224,7 +223,7 @@ config COMMON_CLK_PIC32
 config COMMON_CLK_OXNAS
bool "Clock driver for the OXNAS SoC Family"
depends on ARCH_OXNAS || COMPILE_TEST
-   select MFD_SYSCON
+   depends on MFD_SYSCON
---help---