diff options
Diffstat (limited to 'sys/mips')
-rw-r--r-- | sys/mips/mediatek/mtk_gpio_v1.c | 10 | ||||
-rw-r--r-- | sys/mips/mediatek/mtk_gpio_v2.c | 10 | ||||
-rw-r--r-- | sys/mips/mediatek/mtk_intr_gic.c | 12 | ||||
-rw-r--r-- | sys/mips/mediatek/mtk_intr_v1.c | 12 | ||||
-rw-r--r-- | sys/mips/mediatek/mtk_intr_v2.c | 12 | ||||
-rw-r--r-- | sys/mips/mips/mips_pic.c | 12 |
6 files changed, 46 insertions, 22 deletions
diff --git a/sys/mips/mediatek/mtk_gpio_v1.c b/sys/mips/mediatek/mtk_gpio_v1.c index 5499263..ec56360 100644 --- a/sys/mips/mediatek/mtk_gpio_v1.c +++ b/sys/mips/mediatek/mtk_gpio_v1.c @@ -514,15 +514,19 @@ static int mtk_gpio_pic_map_intr(device_t dev, struct intr_map_data *data, struct intr_irqsrc **isrcp) { + struct intr_map_data_fdt *daf; struct mtk_gpio_softc *sc; + if (data->type != INTR_MAP_DATA_FDT) + return (ENOTSUP); + sc = device_get_softc(dev); + daf = (struct intr_map_data_fdt *)data; - if (data == NULL || data->type != INTR_MAP_DATA_FDT || - data->fdt.ncells != 1 || data->fdt.cells[0] >= sc->num_pins) + if (daf->ncells != 1 || daf->cells[0] >= sc->num_pins) return (EINVAL); - *isrcp = PIC_INTR_ISRC(sc, data->fdt.cells[0]); + *isrcp = PIC_INTR_ISRC(sc, daf->cells[0]); return (0); } diff --git a/sys/mips/mediatek/mtk_gpio_v2.c b/sys/mips/mediatek/mtk_gpio_v2.c index c7c0326..66236cc 100644 --- a/sys/mips/mediatek/mtk_gpio_v2.c +++ b/sys/mips/mediatek/mtk_gpio_v2.c @@ -511,15 +511,19 @@ static int mtk_gpio_pic_map_intr(device_t dev, struct intr_map_data *data, struct intr_irqsrc **isrcp) { + struct intr_map_data_fdt *daf; struct mtk_gpio_softc *sc; + if (data->type != INTR_MAP_DATA_FDT) + return (ENOTSUP); + sc = device_get_softc(dev); + daf = (struct intr_map_data_fdt *)data; - if (data == NULL || data->type != INTR_MAP_DATA_FDT || - data->fdt.ncells != 1 || data->fdt.cells[0] >= sc->num_pins) + if (daf->ncells != 1 || daf->cells[0] >= sc->num_pins) return (EINVAL); - *isrcp = PIC_INTR_ISRC(sc, data->fdt.cells[0]); + *isrcp = PIC_INTR_ISRC(sc, daf->cells[0]); return (0); } diff --git a/sys/mips/mediatek/mtk_intr_gic.c b/sys/mips/mediatek/mtk_intr_gic.c index 5c25045..ea8c887 100644 --- a/sys/mips/mediatek/mtk_intr_gic.c +++ b/sys/mips/mediatek/mtk_intr_gic.c @@ -265,18 +265,22 @@ mtk_gic_map_intr(device_t dev, struct intr_map_data *data, struct intr_irqsrc **isrcp) { #ifdef FDT + struct intr_map_data_fdt *daf; struct mtk_gic_softc *sc; + if (data->type != INTR_MAP_DATA_FDT) + return (ENOTSUP); + sc = device_get_softc(dev); + daf = (struct intr_map_data_fdt *)data; - if (data == NULL || data->type != INTR_MAP_DATA_FDT || - data->fdt.ncells != 3 || data->fdt.cells[1] >= sc->nirqs) + if (daf->ncells != 3 || daf->cells[1] >= sc->nirqs) return (EINVAL); - *isrcp = GIC_INTR_ISRC(sc, data->fdt.cells[1]); + *isrcp = GIC_INTR_ISRC(sc, daf->cells[1]); return (0); #else - return (EINVAL); + return (ENOTSUP); #endif } diff --git a/sys/mips/mediatek/mtk_intr_v1.c b/sys/mips/mediatek/mtk_intr_v1.c index f1ae3a2..58b610d 100644 --- a/sys/mips/mediatek/mtk_intr_v1.c +++ b/sys/mips/mediatek/mtk_intr_v1.c @@ -275,18 +275,22 @@ mtk_pic_map_intr(device_t dev, struct intr_map_data *data, struct intr_irqsrc **isrcp) { #ifdef FDT + struct intr_map_data_fdt *daf; struct mtk_pic_softc *sc; + if (data->type != INTR_MAP_DATA_FDT) + return (ENOTSUP); + sc = device_get_softc(dev); + daf = (struct intr_map_data_fdt *)data; - if (data == NULL || data->type != INTR_MAP_DATA_FDT || - data->fdt.ncells != 1 || data->fdt.cells[0] >= sc->nirqs) + if (daf->ncells != 1 || daf->cells[0] >= sc->nirqs) return (EINVAL); - *isrcp = PIC_INTR_ISRC(sc, data->fdt.cells[0]); + *isrcp = PIC_INTR_ISRC(sc, daf->cells[0]); return (0); #else - return (EINVAL); + return (ENOTSUP); #endif } diff --git a/sys/mips/mediatek/mtk_intr_v2.c b/sys/mips/mediatek/mtk_intr_v2.c index 5a9646e..556738f 100644 --- a/sys/mips/mediatek/mtk_intr_v2.c +++ b/sys/mips/mediatek/mtk_intr_v2.c @@ -270,18 +270,22 @@ mtk_pic_map_intr(device_t dev, struct intr_map_data *data, struct intr_irqsrc **isrcp) { #ifdef FDT + struct intr_map_data_fdt *daf; struct mtk_pic_softc *sc; + if (data->type != INTR_MAP_DATA_FDT) + return (ENOTSUP); + sc = device_get_softc(dev); + daf = (struct intr_map_data_fdt *)data; - if (data == NULL || data->type != INTR_MAP_DATA_FDT || - data->fdt.ncells != 1 || data->fdt.cells[0] >= sc->nirqs) + if (daf->ncells != 1 || daf->cells[0] >= sc->nirqs) return (EINVAL); - *isrcp = PIC_INTR_ISRC(sc, data->fdt.cells[0]); + *isrcp = PIC_INTR_ISRC(sc, daf->cells[0]); return (0); #else - return (EINVAL); + return (ENOTSUP); #endif } diff --git a/sys/mips/mips/mips_pic.c b/sys/mips/mips/mips_pic.c index a24647d..9b7eeb0 100644 --- a/sys/mips/mips/mips_pic.c +++ b/sys/mips/mips/mips_pic.c @@ -305,18 +305,22 @@ mips_pic_map_intr(device_t dev, struct intr_map_data *data, struct intr_irqsrc **isrcp) { #ifdef FDT + struct intr_map_data_fdt *daf; struct mips_pic_softc *sc; + if (data->type != INTR_MAP_DATA_FDT) + return (ENOTSUP); + sc = device_get_softc(dev); + daf = (struct intr_map_data_fdt *)data; - if (data == NULL || data->type != INTR_MAP_DATA_FDT || - data->fdt.ncells != 1 || data->fdt.cells[0] >= sc->nirqs) + if (daf->ncells != 1 || daf->cells[0] >= sc->nirqs) return (EINVAL); - *isrcp = PIC_INTR_ISRC(sc, data->fdt.cells[0]); + *isrcp = PIC_INTR_ISRC(sc, daf->cells[0]); return (0); #else - return (EINVAL); + return (ENOTSUP); #endif } |