linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM
@ 2019-06-17 12:24 Arnd Bergmann
  2019-06-17 12:24 ` [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init Arnd Bergmann
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Arnd Bergmann @ 2019-06-17 12:24 UTC (permalink / raw)
  To: arm, Linus Walleij, Imre Kaloz, Krzysztof Halasa
  Cc: Linus Walleij, linux-arm-kernel, Arnd Bergmann, linux-kernel

Platforms should not normally select all the device drivers, leave that
up to the user and the defconfig file.

In this case, we get a warning for randconfig builds:

WARNING: unmet direct dependencies detected for SERIAL_OF_PLATFORM
  Depends on [n]: TTY [=y] && HAS_IOMEM [=y] && SERIAL_8250 [=n] && OF [=y]
  Selected by [y]:
  - MACH_IXP4XX_OF [=y] && ARCH_IXP4XX [=y]

Fixes: 9540724ca29d ("ARM: ixp4xx: Add device tree boot support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-ixp4xx/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
index 2f052c56cd9e..fc5378b00f3d 100644
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
@@ -13,7 +13,6 @@ config MACH_IXP4XX_OF
 	select I2C
 	select I2C_IOP3XX
 	select PCI
-	select SERIAL_OF_PLATFORM
 	select TIMER_OF
 	select USE_OF
 	help
-- 
2.20.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init
  2019-06-17 12:24 [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Arnd Bergmann
@ 2019-06-17 12:24 ` Arnd Bergmann
  2019-06-18 10:59   ` Olof Johansson
  2019-06-17 12:24 ` [PATCH 3/3] ARM: ixp4xx: include irqs.h where needed Arnd Bergmann
  2019-06-18 10:59 ` [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Olof Johansson
  2 siblings, 1 reply; 6+ messages in thread
From: Arnd Bergmann @ 2019-06-17 12:24 UTC (permalink / raw)
  To: arm, Linus Walleij, Imre Kaloz, Krzysztof Halasa
  Cc: linux-arm-kernel, Arnd Bergmann, linux-kernel

Kbuild complains about ixp4xx_irq_setup not being __init
itself in some configurations:

WARNING: vmlinux.o(.text+0x85bae4): Section mismatch in reference from the function ixp4xx_irq_setup() to the function .init.text:set_handle_irq()
The function ixp4xx_irq_setup() references
the function __init set_handle_irq().
This is often because ixp4xx_irq_setup lacks a __init
annotation or the annotation of set_handle_irq is wrong.

I suspect it normally gets inlined, so we get no such warning,
but clang makes this obvious when the function is left out
of line.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/irqchip/irq-ixp4xx.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/irqchip/irq-ixp4xx.c b/drivers/irqchip/irq-ixp4xx.c
index d576809429ac..6751c35b7e1d 100644
--- a/drivers/irqchip/irq-ixp4xx.c
+++ b/drivers/irqchip/irq-ixp4xx.c
@@ -252,10 +252,10 @@ static const struct ixp4xx_irq_chunk ixp4xx_irq_chunks[] = {
  * @fwnode: Corresponding fwnode abstraction for this controller
  * @is_356: if this is an IXP43x, IXP45x or IXP46x SoC variant
  */
-static int ixp4xx_irq_setup(struct ixp4xx_irq *ixi,
-			    void __iomem *irqbase,
-			    struct fwnode_handle *fwnode,
-			    bool is_356)
+static int __init ixp4xx_irq_setup(struct ixp4xx_irq *ixi,
+				   void __iomem *irqbase,
+				   struct fwnode_handle *fwnode,
+				   bool is_356)
 {
 	int nr_irqs;
 
-- 
2.20.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] ARM: ixp4xx: include irqs.h where needed
  2019-06-17 12:24 [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Arnd Bergmann
  2019-06-17 12:24 ` [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init Arnd Bergmann
@ 2019-06-17 12:24 ` Arnd Bergmann
  2019-06-18 11:00   ` Olof Johansson
  2019-06-18 10:59 ` [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Olof Johansson
  2 siblings, 1 reply; 6+ messages in thread
From: Arnd Bergmann @ 2019-06-17 12:24 UTC (permalink / raw)
  To: arm, Linus Walleij, Imre Kaloz, Krzysztof Halasa
  Cc: Linus Walleij, linux-arm-kernel, Arnd Bergmann, linux-kernel

Multiple ixp4xx specific files require macros from irqs.h that
were moved out from mach/irqs.h, e.g.:

arch/arm/mach-ixp4xx/vulcan-pci.c:41:19: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
arch/arm/mach-ixp4xx/vulcan-pci.c:49:10: error: implicit declaration of function 'IXP4XX_GPIO_IRQ' [-Werror,-Wimplicit-function-declaration]
                return IXP4XX_GPIO_IRQ(INTA);

Include this header in all files that failed to build because of
that.

Fixes: dc8ef8cd3a05 ("ARM: ixp4xx: Convert to SPARSE_IRQ")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-ixp4xx/goramo_mlr.c   | 2 ++
 arch/arm/mach-ixp4xx/miccpt-pci.c   | 2 ++
 arch/arm/mach-ixp4xx/omixp-setup.c  | 2 ++
 arch/arm/mach-ixp4xx/vulcan-pci.c   | 2 ++
 arch/arm/mach-ixp4xx/vulcan-setup.c | 2 ++
 5 files changed, 10 insertions(+)

diff --git a/arch/arm/mach-ixp4xx/goramo_mlr.c b/arch/arm/mach-ixp4xx/goramo_mlr.c
index 4d805080020e..a0e0b6b7dc5c 100644
--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
+++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
@@ -18,6 +18,8 @@
 #include <asm/mach/pci.h>
 #include <asm/system_info.h>
 
+#include "irqs.h"
+
 #define SLOT_ETHA		0x0B	/* IDSEL = AD21 */
 #define SLOT_ETHB		0x0C	/* IDSEL = AD20 */
 #define SLOT_MPCI		0x0D	/* IDSEL = AD19 */
diff --git a/arch/arm/mach-ixp4xx/miccpt-pci.c b/arch/arm/mach-ixp4xx/miccpt-pci.c
index d114ccd2017c..ca889ef068a5 100644
--- a/arch/arm/mach-ixp4xx/miccpt-pci.c
+++ b/arch/arm/mach-ixp4xx/miccpt-pci.c
@@ -25,6 +25,8 @@
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
 
+#include "irqs.h"
+
 #define MAX_DEV		4
 #define IRQ_LINES	4
 
diff --git a/arch/arm/mach-ixp4xx/omixp-setup.c b/arch/arm/mach-ixp4xx/omixp-setup.c
index 2d494b454376..c02fa6f48382 100644
--- a/arch/arm/mach-ixp4xx/omixp-setup.c
+++ b/arch/arm/mach-ixp4xx/omixp-setup.c
@@ -27,6 +27,8 @@
 
 #include <mach/hardware.h>
 
+#include "irqs.h"
+
 static struct resource omixp_flash_resources[] = {
 	{
 		.flags	= IORESOURCE_MEM,
diff --git a/arch/arm/mach-ixp4xx/vulcan-pci.c b/arch/arm/mach-ixp4xx/vulcan-pci.c
index a4220fa5e0c3..6e41e5ece4e1 100644
--- a/arch/arm/mach-ixp4xx/vulcan-pci.c
+++ b/arch/arm/mach-ixp4xx/vulcan-pci.c
@@ -21,6 +21,8 @@
 #include <asm/mach/pci.h>
 #include <asm/mach-types.h>
 
+#include "irqs.h"
+
 /* PCI controller GPIO to IRQ pin mappings */
 #define INTA	2
 #define INTB	3
diff --git a/arch/arm/mach-ixp4xx/vulcan-setup.c b/arch/arm/mach-ixp4xx/vulcan-setup.c
index 2c03d2f6b647..d2ebb7c675a8 100644
--- a/arch/arm/mach-ixp4xx/vulcan-setup.c
+++ b/arch/arm/mach-ixp4xx/vulcan-setup.c
@@ -22,6 +22,8 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/flash.h>
 
+#include "irqs.h"
+
 static struct flash_platform_data vulcan_flash_data = {
 	.map_name	= "cfi_probe",
 	.width		= 2,
-- 
2.20.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM
  2019-06-17 12:24 [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Arnd Bergmann
  2019-06-17 12:24 ` [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init Arnd Bergmann
  2019-06-17 12:24 ` [PATCH 3/3] ARM: ixp4xx: include irqs.h where needed Arnd Bergmann
@ 2019-06-18 10:59 ` Olof Johansson
  2 siblings, 0 replies; 6+ messages in thread
From: Olof Johansson @ 2019-06-18 10:59 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Linus Walleij, Linux Kernel Mailing List, ARM-SoC Maintainers,
	Krzysztof Halasa, Imre Kaloz, Linus Walleij,
	Linux ARM Mailing List

On Mon, Jun 17, 2019 at 1:25 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> Platforms should not normally select all the device drivers, leave that
> up to the user and the defconfig file.
>
> In this case, we get a warning for randconfig builds:
>
> WARNING: unmet direct dependencies detected for SERIAL_OF_PLATFORM
>   Depends on [n]: TTY [=y] && HAS_IOMEM [=y] && SERIAL_8250 [=n] && OF [=y]
>   Selected by [y]:
>   - MACH_IXP4XX_OF [=y] && ARCH_IXP4XX [=y]
>
> Fixes: 9540724ca29d ("ARM: ixp4xx: Add device tree boot support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied to arm/fixes. Thanks!


-Olof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init
  2019-06-17 12:24 ` [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init Arnd Bergmann
@ 2019-06-18 10:59   ` Olof Johansson
  0 siblings, 0 replies; 6+ messages in thread
From: Olof Johansson @ 2019-06-18 10:59 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Linus Walleij, Linux Kernel Mailing List, ARM-SoC Maintainers,
	Krzysztof Halasa, Imre Kaloz, Linux ARM Mailing List

On Mon, Jun 17, 2019 at 1:25 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> Kbuild complains about ixp4xx_irq_setup not being __init
> itself in some configurations:
>
> WARNING: vmlinux.o(.text+0x85bae4): Section mismatch in reference from the function ixp4xx_irq_setup() to the function .init.text:set_handle_irq()
> The function ixp4xx_irq_setup() references
> the function __init set_handle_irq().
> This is often because ixp4xx_irq_setup lacks a __init
> annotation or the annotation of set_handle_irq is wrong.
>
> I suspect it normally gets inlined, so we get no such warning,
> but clang makes this obvious when the function is left out
> of line.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied to arm/fixes. Thanks!


-Olof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/3] ARM: ixp4xx: include irqs.h where needed
  2019-06-17 12:24 ` [PATCH 3/3] ARM: ixp4xx: include irqs.h where needed Arnd Bergmann
@ 2019-06-18 11:00   ` Olof Johansson
  0 siblings, 0 replies; 6+ messages in thread
From: Olof Johansson @ 2019-06-18 11:00 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Linus Walleij, Linux Kernel Mailing List, ARM-SoC Maintainers,
	Krzysztof Halasa, Imre Kaloz, Linus Walleij,
	Linux ARM Mailing List

On Mon, Jun 17, 2019 at 1:26 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> Multiple ixp4xx specific files require macros from irqs.h that
> were moved out from mach/irqs.h, e.g.:
>
> arch/arm/mach-ixp4xx/vulcan-pci.c:41:19: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
> arch/arm/mach-ixp4xx/vulcan-pci.c:49:10: error: implicit declaration of function 'IXP4XX_GPIO_IRQ' [-Werror,-Wimplicit-function-declaration]
>                 return IXP4XX_GPIO_IRQ(INTA);
>
> Include this header in all files that failed to build because of
> that.
>
> Fixes: dc8ef8cd3a05 ("ARM: ixp4xx: Convert to SPARSE_IRQ")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied to arm/fixes. Thanks!


-Olof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-06-18 11:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-17 12:24 [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Arnd Bergmann
2019-06-17 12:24 ` [PATCH 2/3] ARM: ixp4xx: mark ixp4xx_irq_setup as __init Arnd Bergmann
2019-06-18 10:59   ` Olof Johansson
2019-06-17 12:24 ` [PATCH 3/3] ARM: ixp4xx: include irqs.h where needed Arnd Bergmann
2019-06-18 11:00   ` Olof Johansson
2019-06-18 10:59 ` [PATCH 1/3] ARM: ixp4xx: don't select SERIAL_OF_PLATFORM Olof Johansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).