Re: [PATCH 2/3] sparc32: cleanup code for irq init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sam Ravnborg wrote:

Move the iddef to a header file to make the logic more
obvious in the .c file

Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
---
arch/sparc/include/asm/pcic.h |   10 +++++++---
arch/sparc/kernel/irq_32.c    |    9 +++------
2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/arch/sparc/include/asm/pcic.h b/arch/sparc/include/asm/pcic.h
index f20ef56..b4c63d1 100644
--- a/arch/sparc/include/asm/pcic.h
+++ b/arch/sparc/include/asm/pcic.h
@@ -29,11 +29,15 @@ struct linux_pcic {
	int			pcic_imdim;
};

-extern int pcic_probe(void);
-/* Erm... MJ redefined pcibios_present() so that it does not work early. */
+#ifdef CONFIG_PCI
extern int pcic_present(void);
+extern int pcic_probe(void);
extern void sun4m_pci_init_IRQ(void);
-
+#else
+extern int pcic_present(void) { return 0; }
typo, it should be static inline int pcic_preset... will not compile otherwise.

+static inline int pcic_probe(void) { return 0; }
+static inline void sun4m_pci_init_IRQ(void) {}
+#endif
#endif

/* Size of PCI I/O space which we relocate. */
diff --git a/arch/sparc/kernel/irq_32.c b/arch/sparc/kernel/irq_32.c
index 7c93df4..b2dbb4b 100644
--- a/arch/sparc/kernel/irq_32.c
+++ b/arch/sparc/kernel/irq_32.c
@@ -607,14 +607,11 @@ void __init init_IRQ(void)
		break;

	case sun4m:
-#ifdef CONFIG_PCI
		pcic_probe();
-		if (pcic_present()) {
+		if (pcic_present())
			sun4m_pci_init_IRQ();
-			break;
-		}
-#endif
-		sun4m_init_IRQ();
+		else
+			sun4m_init_IRQ();
		break;

	case sun4d:
Similarily you can add "static inline void pci_time_init(void) {};" and remove the CONFIG_PCI in time_32.c?

Daniel


diff --git a/arch/sparc/kernel/time_32.c b/arch/sparc/kernel/time_32.c
index ffcf7b5..3db2b06 100644
--- a/arch/sparc/kernel/time_32.c
+++ b/arch/sparc/kernel/time_32.c
@@ -228,17 +228,13 @@ static void __init sbus_time_init(void)

void __init time_init(void)
{
-#ifdef CONFIG_PCI
-       extern void pci_time_init(void);
       if (pcic_present()) {
               pci_time_init();
               return;
       }
-#endif
       sbus_time_init();
}

-
static int set_rtc_mmss(unsigned long secs)
{
       struct rtc_device *rtc = rtc_class_open("rtc0");

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


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux