diff --git a/recipes-kernel/linux/linux-raspberrypi_%.bbappend b/recipes-kernel/linux/linux-raspberrypi_%.bbappend index 760552a9210dc144f92cc73d3e4bf13be1602b4f..97fac33957788e997747e77aa134c92d417be472 100644 --- a/recipes-kernel/linux/linux-raspberrypi_%.bbappend +++ b/recipes-kernel/linux/linux-raspberrypi_%.bbappend @@ -3,3 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 require openharmony.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony:" + +SRC_URI += "file://hdf.patch" diff --git a/recipes-kernel/linux/openharmony/hdf.patch b/recipes-kernel/linux/openharmony/hdf.patch new file mode 100644 index 0000000000000000000000000000000000000000..589a0145e8fe42f75f9ca76f257f12d9db5add78 --- /dev/null +++ b/recipes-kernel/linux/openharmony/hdf.patch @@ -0,0 +1,76 @@ +diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S +index f7f4620d59c3..fb0257db63dc 100644 +--- a/arch/arm/kernel/vmlinux.lds.S ++++ b/arch/arm/kernel/vmlinux.lds.S +@@ -121,6 +121,14 @@ SECTIONS + __pv_table_end = .; + } + ++#ifdef CONFIG_DRIVERS_HDF ++ .init.hdf_table : { ++ _hdf_drivers_start = .; ++ *(.hdf.driver) ++ _hdf_drivers_end = .; ++ } ++#endif ++ + INIT_DATA_SECTION(16) + + .exit.data : { +diff --git a/drivers/Kconfig b/drivers/Kconfig +index dcecc9f6e33f..3963568e6eea 100644 +--- a/drivers/Kconfig ++++ b/drivers/Kconfig +@@ -235,4 +235,7 @@ source "drivers/interconnect/Kconfig" + source "drivers/counter/Kconfig" + + source "drivers/most/Kconfig" ++ ++source "drivers/hdf/khdf/Kconfig" ++ + endmenu +diff --git a/drivers/Makefile b/drivers/Makefile +index 576228037718..4cff090d6239 100644 +--- a/drivers/Makefile ++++ b/drivers/Makefile +@@ -189,3 +189,4 @@ obj-$(CONFIG_GNSS) += gnss/ + obj-$(CONFIG_INTERCONNECT) += interconnect/ + obj-$(CONFIG_COUNTER) += counter/ + obj-$(CONFIG_MOST) += most/ ++obj-$(CONFIG_DRIVERS_HDF) += hdf/ +diff --git a/drivers/hdf/Makefile b/drivers/hdf/Makefile +new file mode 100644 +index 000000000000..819768c96092 +--- /dev/null ++++ b/drivers/hdf/Makefile +@@ -0,0 +1,3 @@ ++export HDF_RELATIVE_PATH := drivers/huawei_platform/hdf ++export PROJECT_ROOT := ../../../../../ ++obj-$(CONFIG_DRIVERS_HDF) += khdf/ +diff --git a/drivers/hdf/framework b/drivers/hdf/framework +new file mode 120000 +index 000000000000..1fdb7cbb9f34 +--- /dev/null ++++ b/drivers/hdf/framework +@@ -0,0 +1 @@ ++../../../../../../../drivers/framework +\ No newline at end of file +diff --git a/drivers/hdf/khdf b/drivers/hdf/khdf +new file mode 120000 +index 000000000000..0cc53cd109c0 +--- /dev/null ++++ b/drivers/hdf/khdf +@@ -0,0 +1 @@ ++../../../../../../../drivers/adapter/khdf/linux +\ No newline at end of file +diff --git a/include/hdf b/include/hdf +new file mode 120000 +index 000000000000..c85d8ced0400 +--- /dev/null ++++ b/include/hdf +@@ -0,0 +1 @@ ++../../../../../../drivers/framework/include +\ No newline at end of file +-- +2.25.1 +