The lan966x clk driver depends on IOMEM functions, in particular
devm_platform_ioremap_resource(), but doesn't state a formal dependency
on it in Kconfig.
Add such a dependency, which prevents this driver from being enabled
on UML configurations without IOMEM.
This fixes the following build failure:
/usr/bin/ld: drivers/clk/clk-lan966x.o: in function `lan966x_clk_probe':
clk-lan966x.c:(.text+0x294): undefined reference to `devm_platform_ioremap_resource'
/usr/bin/ld: clk-lan966x.c:(.text+0x3aa): undefined reference to `devm_ioremap_resource'
collect2: error: ld returned 1 exit status
Signed-off-by: David Gow <[email protected]>
---
drivers/clk/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 3cdf33470a75..7b5db8a9eb4f 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -231,6 +231,7 @@ config COMMON_CLK_GEMINI
config COMMON_CLK_LAN966X
bool "Generic Clock Controller driver for LAN966X SoC"
+ depends on IOMEM
help
This driver provides support for Generic Clock Controller(GCK) on
LAN966X SoC. GCK generates and supplies clock to various peripherals
--
2.35.1.473.g83b2b277ed-goog
On 24/02/2022 03:59, David Gow wrote:
> The lan966x clk driver depends on IOMEM functions, in particular
> devm_platform_ioremap_resource(), but doesn't state a formal dependency
> on it in Kconfig.
>
> Add such a dependency, which prevents this driver from being enabled
> on UML configurations without IOMEM.
>
> This fixes the following build failure:
>
> /usr/bin/ld: drivers/clk/clk-lan966x.o: in function `lan966x_clk_probe':
> clk-lan966x.c:(.text+0x294): undefined reference to `devm_platform_ioremap_resource'
> /usr/bin/ld: clk-lan966x.c:(.text+0x3aa): undefined reference to `devm_ioremap_resource'
> collect2: error: ld returned 1 exit status
>
> Signed-off-by: David Gow <[email protected]>
> ---
> drivers/clk/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index 3cdf33470a75..7b5db8a9eb4f 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -231,6 +231,7 @@ config COMMON_CLK_GEMINI
>
> config COMMON_CLK_LAN966X
> bool "Generic Clock Controller driver for LAN966X SoC"
> + depends on IOMEM
> help
> This driver provides support for Generic Clock Controller(GCK) on
> LAN966X SoC. GCK generates and supplies clock to various peripherals
>
Acked-By: anton ivanov <[email protected]>
--
Anton R. Ivanov
https://www.kot-begemot.co.uk/
Quoting David Gow (2022-02-23 19:59:02)
> The lan966x clk driver depends on IOMEM functions, in particular
> devm_platform_ioremap_resource(), but doesn't state a formal dependency
> on it in Kconfig.
>
> Add such a dependency, which prevents this driver from being enabled
> on UML configurations without IOMEM.
>
> This fixes the following build failure:
>
> /usr/bin/ld: drivers/clk/clk-lan966x.o: in function `lan966x_clk_probe':
> clk-lan966x.c:(.text+0x294): undefined reference to `devm_platform_ioremap_resource'
> /usr/bin/ld: clk-lan966x.c:(.text+0x3aa): undefined reference to `devm_ioremap_resource'
> collect2: error: ld returned 1 exit status
>
> Signed-off-by: David Gow <[email protected]>
> ---
> drivers/clk/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index 3cdf33470a75..7b5db8a9eb4f 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -231,6 +231,7 @@ config COMMON_CLK_GEMINI
>
> config COMMON_CLK_LAN966X
> bool "Generic Clock Controller driver for LAN966X SoC"
> + depends on IOMEM
What is CONFIG_IOMEM? This is superseded by
https://lore.kernel.org/r/[email protected]
> help
> This driver provides support for Generic Clock Controller(GCK) on
> LAN966X SoC. GCK generates and supplies clock to various peripherals
On Fri, Feb 25, 2022 at 8:53 AM Stephen Boyd <[email protected]> wrote:
>
> Quoting David Gow (2022-02-23 19:59:02)
> > The lan966x clk driver depends on IOMEM functions, in particular
> > devm_platform_ioremap_resource(), but doesn't state a formal dependency
> > on it in Kconfig.
> >
> > Add such a dependency, which prevents this driver from being enabled
> > on UML configurations without IOMEM.
> >
> > This fixes the following build failure:
> >
> > /usr/bin/ld: drivers/clk/clk-lan966x.o: in function `lan966x_clk_probe':
> > clk-lan966x.c:(.text+0x294): undefined reference to `devm_platform_ioremap_resource'
> > /usr/bin/ld: clk-lan966x.c:(.text+0x3aa): undefined reference to `devm_ioremap_resource'
> > collect2: error: ld returned 1 exit status
> >
> > Signed-off-by: David Gow <[email protected]>
> > ---
> > drivers/clk/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> > index 3cdf33470a75..7b5db8a9eb4f 100644
> > --- a/drivers/clk/Kconfig
> > +++ b/drivers/clk/Kconfig
> > @@ -231,6 +231,7 @@ config COMMON_CLK_GEMINI
> >
> > config COMMON_CLK_LAN966X
> > bool "Generic Clock Controller driver for LAN966X SoC"
> > + depends on IOMEM
>
> What is CONFIG_IOMEM? This is superseded by
> https://lore.kernel.org/r/[email protected]
>
Whoops, thanks! If I had a nickel every time I forgot the "HAS" in
"CONFIG_HAS_IOMEM"...
This patch indeed is no-longer needed in clk-fixes, so let's abandon it here.
Cheers,
-- David
> > help
> > This driver provides support for Generic Clock Controller(GCK) on
> > LAN966X SoC. GCK generates and supplies clock to various peripherals