svn commit: r276973 - projects/arm_intrng/sys/arm/arm
Andrew Turner
andrew at FreeBSD.org
Sun Jan 11 12:28:29 UTC 2015
Author: andrew
Date: Sun Jan 11 12:28:28 2015
New Revision: 276973
URL: https://svnweb.freebsd.org/changeset/base/276973
Log:
Only attempt to compile the SMP and ARM_INTRNG code when appropriate.
Modified:
projects/arm_intrng/sys/arm/arm/gic.c
Modified: projects/arm_intrng/sys/arm/arm/gic.c
==============================================================================
--- projects/arm_intrng/sys/arm/arm/gic.c Sun Jan 11 12:25:10 2015 (r276972)
+++ projects/arm_intrng/sys/arm/arm/gic.c Sun Jan 11 12:28:28 2015 (r276973)
@@ -127,9 +127,7 @@ static struct arm_gic_softc *arm_gic_sc
static int arm_gic_probe(device_t);
static int arm_gic_attach(device_t);
static void arm_gic_init_secondary(device_t);
-static int arm_gic_intr(void *);
static int arm_gic_config(device_t, int, enum intr_trigger, enum intr_polarity);
-static void arm_gic_eoi(device_t, int);
static void arm_gic_mask(device_t, int);
static void arm_gic_unmask(device_t, int);
static void arm_gic_ipi_send(device_t, cpuset_t, int);
@@ -145,7 +143,10 @@ static void arm_gic_ipi_clear(device_t,
#define gic_d_write_4(_sc, _reg, _val) \
bus_space_write_4((_sc)->gic_d_bst, (_sc)->gic_d_bsh, (_reg), (_val))
-#ifndef ARM_INTRNG
+#ifdef ARM_INTRNG
+static int arm_gic_intr(void *);
+static void arm_gic_eoi(device_t, int);
+#else
static int gic_config_irq(int irq, enum intr_trigger trig,
enum intr_polarity pol);
static void gic_post_filter(void *);
@@ -475,6 +476,7 @@ arm_gic_unmask(device_t dev, int irq)
gic_d_write_4(sc, GICD_ISENABLER(irq >> 5), (1UL << (irq & 0x1F)));
}
+#ifdef SMP
static void
arm_gic_ipi_send(device_t dev, cpuset_t cpus, int ipi)
{
@@ -510,6 +512,7 @@ arm_gic_ipi_clear(device_t dev, int ipi)
{
/* no-op */
}
+#endif
#ifndef ARM_INTRNG
static void
@@ -558,6 +561,7 @@ gic_init_secondary(void)
arm_gic_init_secondary(arm_gic_sc->gic_dev);
}
+#ifdef SMP
void
pic_ipi_send(cpuset_t cpus, u_int ipi)
{
@@ -578,7 +582,8 @@ pic_ipi_clear(int ipi)
arm_gic_ipi_clear(arm_gic_sc->gic_dev, ipi);
}
-#endif
+#endif /* SMP */
+#endif /* ARM_INTRNG */
static device_method_t arm_gic_methods[] = {
/* Device interface */
@@ -592,10 +597,12 @@ static device_method_t arm_gic_methods[]
DEVMETHOD(pic_unmask, arm_gic_unmask),
DEVMETHOD(pic_eoi, arm_gic_eoi),
DEVMETHOD(pic_init_secondary, arm_gic_init_secondary),
+#ifdef SMP
DEVMETHOD(pic_ipi_send, arm_gic_ipi_send),
DEVMETHOD(pic_ipi_clear, arm_gic_ipi_clear),
DEVMETHOD(pic_ipi_read, arm_gic_ipi_read),
#endif
+#endif
{ 0, 0 }
};
More information about the svn-src-projects
mailing list