From: Michalis Pappas Date: Mon, 18 Sep 2023 08:50:54 +0000 (+0200) Subject: lib/ukofw: Remove GIC interrupts parsing helper from libukofw X-Git-Tag: RELEASE-0.15.0~64 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6390f67a6426445d4b1babf82f7969a43a291990;p=unikraft%2Funikraft.git lib/ukofw: Remove GIC interrupts parsing helper from libukofw The interpretation of the `interrupts` property in the fdt is controller-specific [1]. As such, the implementation should be provided by the corresponding driver. Remove the GIC `interrupts` helper from libofw as this is now implemented by the GIC driver. Notice: Picking individual commits in this PR will break the build. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.yaml Checkpatch-Ignore: COMMIT_LOG_LONG_LINE Signed-off-by: Michalis Pappas Reviewed-by: Marco Schlumpp Reviewed-by: Sergiu Moga Approved-by: Razvan Deaconescu GitHub-Closes: #1103 --- diff --git a/lib/ukofw/Makefile.uk b/lib/ukofw/Makefile.uk index 4be94cca8..62737a0bc 100644 --- a/lib/ukofw/Makefile.uk +++ b/lib/ukofw/Makefile.uk @@ -5,4 +5,3 @@ CINCLUDES-$(CONFIG_LIBUKOFW) += -I$(LIBUKOFW_BASE)/include CXXINCLUDES-$(CONFIG_LIBUKOFW) += -I$(LIBUKOFW_BASE)/include LIBUKOFW_SRCS-y += $(LIBUKOFW_BASE)/fdt.c -LIBUKOFW_SRCS-y += $(LIBUKOFW_BASE)/gic_fdt.c diff --git a/lib/ukofw/gic_fdt.c b/lib/ukofw/gic_fdt.c deleted file mode 100644 index bd581cef7..000000000 --- a/lib/ukofw/gic_fdt.c +++ /dev/null @@ -1,54 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause */ -/* - * Authors: Jia He - * - * Copyright (c) 2019, Arm Ltd. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#include -#include -#include - -int gic_get_irq_from_dtb(const void *fdt, int nodeoffset, int index, - uint32_t *irq_type, uint32_t *hwirq, - uint32_t *trigger_type) -{ - fdt32_t *prop; - int ret, size; - - UK_ASSERT(irq_type != NULL && hwirq != NULL && trigger_type != NULL); - - ret = fdt_get_interrupt(fdt, nodeoffset, index, &size, &prop); - if (ret < 0) - return ret; - - *irq_type = fdt32_to_cpu(prop[0]); - *hwirq = fdt32_to_cpu(prop[1]); - *trigger_type = fdt32_to_cpu(prop[2]); - - return 0; -} diff --git a/lib/ukofw/include/uk/ofw/gic_fdt.h b/lib/ukofw/include/uk/ofw/gic_fdt.h deleted file mode 100644 index 020c78818..000000000 --- a/lib/ukofw/include/uk/ofw/gic_fdt.h +++ /dev/null @@ -1,49 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause */ -/* - * Authors: Wei Chen - * - * Copyright (c) 2018, Arm Ltd., All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __UK_OFW_GIC_FDT_H__ -#define __UK_OFW_GIC_FDT_H__ - -/** - * Get an interrupt number of given index from device tree - * @param fdt Device tree blob - * @param nodeoffset device node offset - * @param index the index of interrupt we want to retrieve - * @param irq_type output the interrupt type e.g. SPI, PPI, SGI - * @param hwirq output the hardware irq number - * @param trigger_type. output to tell e.g. edge or level trigger - * @return 0 on success, a negative errno value on errors - */ -int gic_get_irq_from_dtb(const void *fdt, int nodeoffset, int index, - uint32_t *irq_type, uint32_t *hwirq, - uint32_t *trigger_type); -#endif /* __UK_OFW_GIC_FDT_H__ */