aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2023-08-11 02:05:45 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2023-08-11 02:12:55 +0000
commitbfed2417f472f87e720b37bdac9ffd75ca2abc54 (patch)
tree447b5fbcbaef80029217f0a48f3dcfaa3e46978c
parent886fd36e1ac2082f1b0decb89d70e1e7a0dc3043 (diff)
downloadsrc-bfed2417f472f87e720b37bdac9ffd75ca2abc54.tar.gz
src-bfed2417f472f87e720b37bdac9ffd75ca2abc54.zip
qcom: fix panic in qcom_mdio_ipq4018 implementation
Fix a boot-time panic in qcom_mdio_ipq4018 due to a missing bus function and hook the file up to the build so that it will not rot away. Test booted on an ipq807x in 2022. X-Differential Revision: extracted from D37882
-rw-r--r--sys/arm64/conf/std.qcom1
-rw-r--r--sys/conf/files.arm641
-rw-r--r--sys/dev/qcom_mdio/qcom_mdio_ipq4018.c3
3 files changed, 5 insertions, 0 deletions
diff --git a/sys/arm64/conf/std.qcom b/sys/arm64/conf/std.qcom
index 4bac8ab83dca..af7e0add8b40 100644
--- a/sys/arm64/conf/std.qcom
+++ b/sys/arm64/conf/std.qcom
@@ -4,6 +4,7 @@
# Qualcomm Snapdragon drivers
device qcom_gcc # Global Clock Controller
+device qcom_mdio # MDIO support
# Serial (COM) ports
device uart_msm # Qualcomm MSM UART driver
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
index 31c296d49d86..29d805dd64b7 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -643,6 +643,7 @@ dev/flash/flexspi/flex_spi.c optional clk flex_spi soc_nxp_ls fdt
# Qualcomm
arm64/qualcomm/qcom_gcc.c optional qcom_gcc fdt
+dev/qcom_mdio/qcom_mdio_ipq4018.c optional qcom_mdio fdt mdio mii
# RockChip Drivers
arm64/rockchip/rk3328_codec.c optional fdt rk3328codec soc_rockchip_rk3328
diff --git a/sys/dev/qcom_mdio/qcom_mdio_ipq4018.c b/sys/dev/qcom_mdio/qcom_mdio_ipq4018.c
index 5045a8d440f8..8e4a28c5984f 100644
--- a/sys/dev/qcom_mdio/qcom_mdio_ipq4018.c
+++ b/sys/dev/qcom_mdio/qcom_mdio_ipq4018.c
@@ -273,6 +273,9 @@ static device_method_t qcom_mdio_ipq4018_methods[] = {
DEVMETHOD(device_attach, qcom_mdio_ipq4018_attach),
DEVMETHOD(device_detach, qcom_mdio_ipq4018_detach),
+ /* Bus interface */
+ DEVMETHOD(bus_add_child, bus_generic_add_child),
+
/* MDIO interface */
DEVMETHOD(mdio_readreg, qcom_mdio_ipq4018_readreg),
DEVMETHOD(mdio_writereg, qcom_mdio_ipq4018_writereg),