]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
lib/ukofw: Remove GIC interrupts parsing helper from libukofw
authorMichalis Pappas <michalis@unikraft.io>
Mon, 18 Sep 2023 08:50:54 +0000 (10:50 +0200)
committerRazvan Deaconescu <razvand@unikraft.io>
Fri, 20 Oct 2023 16:35:55 +0000 (19:35 +0300)
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 <michalis@unikraft.io>
Reviewed-by: Marco Schlumpp <marco@unikraft.io>
Reviewed-by: Sergiu Moga <sergiu@unikraft.io>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
GitHub-Closes: #1103

lib/ukofw/Makefile.uk
lib/ukofw/gic_fdt.c [deleted file]
lib/ukofw/include/uk/ofw/gic_fdt.h [deleted file]

index 4be94cca826b197c1e0b17907326f8839e3d3567..62737a0bc72179f5ccc4a98bd72da073d5b15658 100644 (file)
@@ -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 (file)
index bd581ce..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause */
-/*
- * Authors: Jia He <justin.he@arm.com>
- *
- * 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 <libfdt_env.h>
-#include <uk/ofw/fdt.h>
-#include <uk/assert.h>
-
-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 (file)
index 020c788..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause */
-/*
- * Authors: Wei Chen <wei.chen@arm.com>
- *
- * 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__ */