summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorDamien Mascord <tusker@tusker.org>2021-07-13 11:30:09 +1000
committerDamien Mascord <tusker@tusker.org>2021-07-15 16:27:46 +1000
commite3512741cde5fba7a3b27bfb366fff4ac996aa61 (patch)
tree1ff449784be42f2605590470cfb0d2f3fb50b752 /kernel
parente319e89fde0f3c6b3c8ecfffe9bd759c9a44ac15 (diff)
mdio-tools: Add package plus kernel module
mdio is a low-level Linux debug tool for communicating with devices attached an MDIO bus. It improves on existing tools in this space in a few important ways: MDIO buses are directly addressable. Previous solutions relied on at least one Ethernet PHY on the bus being attached to a net device, which is typically not the case when the device is an Ethernet switch for example. Complex operations can be performed atomically. The old API only supported a single read or write of a single register. mdio sends byte code to the mdio-netlink kernel module that can perform multiple operations, store intermediate values, loop etc. As a result, things like read/mask/write operations and accesses to paged PHYs can be performed safely. Signed-off-by: Damien Mascord <tusker@tusker.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/mdio-netlink/Makefile40
1 files changed, 40 insertions, 0 deletions
diff --git a/kernel/mdio-netlink/Makefile b/kernel/mdio-netlink/Makefile
new file mode 100644
index 000000000..b0e134a36
--- /dev/null
+++ b/kernel/mdio-netlink/Makefile
@@ -0,0 +1,40 @@
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=mdio-netlink
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://github.com/wkz/mdio-tools
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_DATE:=2021-07-02
+PKG_SOURCE_VERSION:=9f989622c21d5464168a4922542be044f21663b0
+PKG_MIRROR_HASH:=9ae5d920e23a7957a5d5a8c5764969382ce6a174c5c5e7f7841fac0c81bbac75
+
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=COPYING
+
+PKG_MAINTAINER:=Damien Mascord <tusker@tusker.org>
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/mdio-netlink
+ SECTION:=kernel
+ CATEGORY:=Kernel modules
+ SUBMENU:=Network Support
+ TITLE:=mdio-netlink Linux MDIO netlink kernel module
+ KCONFIG:=CONFIG_PHYLIB=y CONFIG_MDIO_BUS=y
+ URL:=https://github.com/wkz/mdio-tools.git
+ FILES:=$(PKG_BUILD_DIR)/kernel/mdio-netlink.ko
+ AUTOLOAD:=$(call AutoProbe,mdio-netlink)
+endef
+
+define KernelPackage/mdio-netlink/description
+ mdio-netlink Linux MDIO netlink kernel module
+endef
+
+define Build/Compile
+ $(KERNEL_MAKE) M=$(PKG_BUILD_DIR)/kernel modules
+endef
+
+$(eval $(call KernelPackage,mdio-netlink))
+