From fd9dc10530ef04de58fd36947c03113345e9b949 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sun, 28 May 2023 21:22:52 +0200 Subject: [PATCH] apm821xx: make ata-dwc as a standalone module In order to cut down on the Netgear WNDR4700, the ata driver can be outsourced. This helps other apm821xx devices too to save up on kernel size (~200 kb). Signed-off-by: Christian Lamparter --- target/linux/apm821xx/image/nand.mk | 2 +- target/linux/apm821xx/modules.mk | 13 +++++++++++++ target/linux/apm821xx/nand/config-default | 6 ------ target/linux/generic/config-5.15 | 2 ++ target/linux/generic/config-6.1 | 1 + 5 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 target/linux/apm821xx/modules.mk diff --git a/target/linux/apm821xx/image/nand.mk b/target/linux/apm821xx/image/nand.mk index 2848b87719..2b8abfc22f 100644 --- a/target/linux/apm821xx/image/nand.mk +++ b/target/linux/apm821xx/image/nand.mk @@ -100,7 +100,7 @@ define Device/netgear_wndr4700 kmod-dm kmod-fs-ext4 kmod-fs-vfat kmod-usb-ledtrig-usbport \ kmod-md-mod kmod-nls-cp437 kmod-nls-iso8859-1 kmod-nls-iso8859-15 \ kmod-nls-utf8 kmod-usb3 kmod-usb-dwc2 kmod-usb-storage \ - partx-utils + partx-utils kmod-ata-dwc BOARD_NAME := wndr4700 PAGESIZE := 2048 SUBPAGESIZE := 512 diff --git a/target/linux/apm821xx/modules.mk b/target/linux/apm821xx/modules.mk new file mode 100644 index 0000000000..98610f9b2e --- /dev/null +++ b/target/linux/apm821xx/modules.mk @@ -0,0 +1,13 @@ +define KernelPackage/ata-dwc + TITLE:=DesignWare Cores SATA support + KCONFIG:=CONFIG_SATA_DWC + FILES:=$(LINUX_DIR)/drivers/ata/sata_dwc_460ex.ko + AUTOLOAD:=$(call AutoLoad,40,sata_dwc_460ex,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-dwc/description + Platform support for the on-chip SATA controller. +endef + +$(eval $(call KernelPackage,ata-dwc)) diff --git a/target/linux/apm821xx/nand/config-default b/target/linux/apm821xx/nand/config-default index a8ab4fd892..7070b34b93 100644 --- a/target/linux/apm821xx/nand/config-default +++ b/target/linux/apm821xx/nand/config-default @@ -2,14 +2,8 @@ CONFIG_AT803X_PHY=y CONFIG_AR8216_PHY=y # CONFIG_SATA_DWC_OLD_DMA is not set CONFIG_IKAREM=y -CONFIG_ATA=y -CONFIG_ATA_SFF=y -CONFIG_ATA_BMDMA=y # CONFIG_PCI_DISABLE_COMMON_QUIRKS is not set -CONFIG_SATA_PMP=y CONFIG_GENERIC_PHY=y -CONFIG_SATA_DWC=y -# CONFIG_SATA_DWC_DEBUG is not set CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_GPIO_GENERIC=y diff --git a/target/linux/generic/config-5.15 b/target/linux/generic/config-5.15 index 934af3a768..0f2f156728 100644 --- a/target/linux/generic/config-5.15 +++ b/target/linux/generic/config-5.15 @@ -5231,6 +5231,8 @@ CONFIG_RXKAD=y # CONFIG_SATA_AHCI is not set # CONFIG_SATA_AHCI_PLATFORM is not set # CONFIG_SATA_DWC is not set +# CONFIG_SATA_DWC_DEBUG is not set +# CONFIG_SATA_DWC_OLD_DMA is not set # CONFIG_SATA_FSL is not set # CONFIG_SATA_HIGHBANK is not set # CONFIG_SATA_HOST is not set diff --git a/target/linux/generic/config-6.1 b/target/linux/generic/config-6.1 index 7eae9c5d49..94c97f9f54 100644 --- a/target/linux/generic/config-6.1 +++ b/target/linux/generic/config-6.1 @@ -150,6 +150,7 @@ CONFIG_AF_UNIX_OOB=y # CONFIG_AHCI_BRCM is not set # CONFIG_AHCI_CEVA is not set # CONFIG_AHCI_DWC is not set +# CONFIG_SATA_DWC_OLD_DMA is not set # CONFIG_AHCI_IMX is not set # CONFIG_AHCI_MVEBU is not set # CONFIG_AHCI_QORIQ is not set -- 2.30.2