From f11122ea3f965ee72f61ed409cf293422568d318 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 21 Mar 2021 13:52:08 +0000 Subject: sys-kernel/linux-{image,sources}-redcore-lts : version bump (v5.10.25) --- .../sys-kernel/linux-image-redcore-lts-5.10.23 | 14 - .../sys-kernel/linux-image-redcore-lts-5.10.25 | 14 + .../sys-kernel/linux-sources-redcore-lts-5.10.23 | 13 - .../sys-kernel/linux-sources-redcore-lts-5.10.25 | 13 + metadata/pkg_desc_index | 4 +- sys-kernel/linux-image-redcore-lts/Manifest | 2 +- .../files/5.10-enable_alx_wol.patch | 474 --------------------- .../linux-image-redcore-lts-5.10.23.ebuild | 164 ------- .../linux-image-redcore-lts-5.10.25.ebuild | 163 +++++++ sys-kernel/linux-sources-redcore-lts/Manifest | 2 +- .../files/5.10-enable_alx_wol.patch | 474 --------------------- .../linux-sources-redcore-lts-5.10.23.ebuild | 89 ---- .../linux-sources-redcore-lts-5.10.25.ebuild | 88 ++++ 13 files changed, 282 insertions(+), 1232 deletions(-) delete mode 100644 metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.23 create mode 100644 metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.25 delete mode 100644 metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.23 create mode 100644 metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.25 delete mode 100644 sys-kernel/linux-image-redcore-lts/files/5.10-enable_alx_wol.patch delete mode 100644 sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.23.ebuild create mode 100644 sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.25.ebuild delete mode 100644 sys-kernel/linux-sources-redcore-lts/files/5.10-enable_alx_wol.patch delete mode 100644 sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.23.ebuild create mode 100644 sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.25.ebuild diff --git a/metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.23 b/metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.23 deleted file mode 100644 index 4b651a7e..00000000 --- a/metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.23 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile install postinst postrm prepare setup -DEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make cryptsetup? ( sys-fs/cryptsetup ) dmraid? ( sys-fs/dmraid ) dracut? ( >=sys-kernel/dracut-0.44-r8 ) dkms? ( sys-kernel/dkms sys-kernel/linux-sources-redcore-lts:5.10.23 ) mdadm? ( sys-fs/mdadm ) >=sys-kernel/linux-firmware-20180314 -DESCRIPTION=Redcore Linux Kernel Image (LTS) -EAPI=6 -HOMEPAGE=https://redcorelinux.org -IUSE=+cryptsetup +dmraid +dracut +dkms +mdadm -KEYWORDS=~amd64 -LICENSE=GPL-2 -RDEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make cryptsetup? ( sys-fs/cryptsetup ) dmraid? ( sys-fs/dmraid ) dracut? ( >=sys-kernel/dracut-0.44-r8 ) dkms? ( sys-kernel/dkms sys-kernel/linux-sources-redcore-lts:5.10.23 ) mdadm? ( sys-fs/mdadm ) >=sys-kernel/linux-firmware-20180314 -RESTRICT=binchecks strip mirror -SLOT=5.10.23 -SRC_URI=https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.23.tar.xz -_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch e8f1ec13660dc2f44b32775765d85e42 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 2d5b3f4b315094768576b6799e4f926e l10n 8cdd85e169b835d518bc2fd59f780d8e ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib d410501a125f99ffb560b0c523cd3d1e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 24921b57d6561d87cbef4916a296ada4 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=debd51abef5ffd8aa6e710a78124eb4b diff --git a/metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.25 b/metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.25 new file mode 100644 index 00000000..59986e23 --- /dev/null +++ b/metadata/md5-cache/sys-kernel/linux-image-redcore-lts-5.10.25 @@ -0,0 +1,14 @@ +DEFINED_PHASES=compile install postinst postrm prepare setup +DEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make cryptsetup? ( sys-fs/cryptsetup ) dmraid? ( sys-fs/dmraid ) dracut? ( >=sys-kernel/dracut-0.44-r8 ) dkms? ( sys-kernel/dkms sys-kernel/linux-sources-redcore-lts:5.10.25 ) mdadm? ( sys-fs/mdadm ) >=sys-kernel/linux-firmware-20180314 +DESCRIPTION=Redcore Linux Kernel Image (LTS) +EAPI=6 +HOMEPAGE=https://redcorelinux.org +IUSE=+cryptsetup +dmraid +dracut +dkms +mdadm +KEYWORDS=~amd64 +LICENSE=GPL-2 +RDEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make cryptsetup? ( sys-fs/cryptsetup ) dmraid? ( sys-fs/dmraid ) dracut? ( >=sys-kernel/dracut-0.44-r8 ) dkms? ( sys-kernel/dkms sys-kernel/linux-sources-redcore-lts:5.10.25 ) mdadm? ( sys-fs/mdadm ) >=sys-kernel/linux-firmware-20180314 +RESTRICT=binchecks strip mirror +SLOT=5.10.25 +SRC_URI=https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.25.tar.xz +_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch e8f1ec13660dc2f44b32775765d85e42 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 2d5b3f4b315094768576b6799e4f926e l10n 8cdd85e169b835d518bc2fd59f780d8e ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib d410501a125f99ffb560b0c523cd3d1e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 24921b57d6561d87cbef4916a296ada4 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf wrapper 4251d4c84c25f59094fd557e0063a974 +_md5_=4e791e59428698f11efd1a198059f8b6 diff --git a/metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.23 b/metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.23 deleted file mode 100644 index 6e9bc6dd..00000000 --- a/metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.23 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile install postrm prepare setup -DEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make -DESCRIPTION=Redcore Linux Kernel Sources (LTS) -EAPI=6 -HOMEPAGE=https://redcorelinux.org -KEYWORDS=~amd64 -LICENSE=GPL-2 -RDEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make -RESTRICT=strip mirror -SLOT=5.10.23 -SRC_URI=https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.23.tar.xz -_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch e8f1ec13660dc2f44b32775765d85e42 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 2d5b3f4b315094768576b6799e4f926e l10n 8cdd85e169b835d518bc2fd59f780d8e ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib d410501a125f99ffb560b0c523cd3d1e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 24921b57d6561d87cbef4916a296ada4 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf wrapper 4251d4c84c25f59094fd557e0063a974 -_md5_=292d43074b9c9963bb0cfd382aa3e37f diff --git a/metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.25 b/metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.25 new file mode 100644 index 00000000..57fa602d --- /dev/null +++ b/metadata/md5-cache/sys-kernel/linux-sources-redcore-lts-5.10.25 @@ -0,0 +1,13 @@ +DEFINED_PHASES=compile install postrm prepare setup +DEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make +DESCRIPTION=Redcore Linux Kernel Sources (LTS) +EAPI=6 +HOMEPAGE=https://redcorelinux.org +KEYWORDS=~amd64 +LICENSE=GPL-2 +RDEPEND=app-arch/lz4 app-arch/xz-utils sys-devel/autoconf sys-devel/bc sys-devel/make +RESTRICT=strip mirror +SLOT=5.10.25 +SRC_URI=https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.25.tar.xz +_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch e8f1ec13660dc2f44b32775765d85e42 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 2d5b3f4b315094768576b6799e4f926e l10n 8cdd85e169b835d518bc2fd59f780d8e ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib d410501a125f99ffb560b0c523cd3d1e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 24921b57d6561d87cbef4916a296ada4 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf wrapper 4251d4c84c25f59094fd557e0063a974 +_md5_=0cd4bbbab441488df40bf39ef8647fa9 diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index 58348022..806dfd2c 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -64,10 +64,10 @@ sys-kernel/dracut 048-r5: Generic initramfs generation tool sys-kernel/dracutcfg 1337: Redcore Linux Dracut configuration files sys-kernel/linux-headers 5.9-r10: Linux system headers sys-kernel/linux-image-redcore 5.11.6: Redcore Linux Kernel Image -sys-kernel/linux-image-redcore-lts 5.10.23: Redcore Linux Kernel Image (LTS) +sys-kernel/linux-image-redcore-lts 5.10.25: Redcore Linux Kernel Image (LTS) sys-kernel/linux-image-redcore-lts-legacy 5.4.107: Redcore Linux Kernel Image (LTS Legacy 5.4) sys-kernel/linux-sources-redcore 5.11.6: Redcore Linux Kernel Sources -sys-kernel/linux-sources-redcore-lts 5.10.23: Redcore Linux Kernel Sources (LTS) +sys-kernel/linux-sources-redcore-lts 5.10.25: Redcore Linux Kernel Sources (LTS) sys-kernel/linux-sources-redcore-lts-legacy 5.4.107: Redcore Linux Kernel Sources (LTS Legacy 5.4) sys-kernel/nvidia-drivers-dkms 460.56: NVIDIA driver sources for linux sys-kernel/nvidia-drivers-legacy-dkms 390.141-r1: NVIDIA driver sources for linux diff --git a/sys-kernel/linux-image-redcore-lts/Manifest b/sys-kernel/linux-image-redcore-lts/Manifest index 88811e53..2b162050 100644 --- a/sys-kernel/linux-image-redcore-lts/Manifest +++ b/sys-kernel/linux-image-redcore-lts/Manifest @@ -1 +1 @@ -DIST linux-5.10.23.tar.xz 116288840 BLAKE2B 0ab16813059bd2343bb5f96679e169f6efbde1c65a3beea08873b40812578e48f7969c321ab588dc7c88ee7b320ad2f9cdceb1fc3882d4ca705dd890732be51b SHA512 c5d51d9fedec04b0aac396cf3b22d133b305c1fb2a189aa512d0c42d4abf10feecdab4b8ddccc4c3b3a65a84f168d04f37fcc9bb65d7c794d20978e2ebb4faed +DIST linux-5.10.25.tar.xz 116291936 BLAKE2B 1aa774dcd894f4f5a24cc26375dac4dfe0b8d1c37e58c6878dd81c2f6466a8fbb635b46e881bec75b00c041c6d0c73c545bd10ff25afde6a5bca1e63e165e51c SHA512 20d81a5930f4877e4a67930c8fc52406767bc1c1ca65a78037e4f42738bae54009a59d1a21e3bfde773f67af608a763e67a8829564b3665cae937dbc19947c13 diff --git a/sys-kernel/linux-image-redcore-lts/files/5.10-enable_alx_wol.patch b/sys-kernel/linux-image-redcore-lts/files/5.10-enable_alx_wol.patch deleted file mode 100644 index 55505fbd..00000000 --- a/sys-kernel/linux-image-redcore-lts/files/5.10-enable_alx_wol.patch +++ /dev/null @@ -1,474 +0,0 @@ -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/ethtool.c linux-5.4.1.new/drivers/net/ethernet/atheros/alx/ethtool.c ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/ethtool.c 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/ethtool.c 2019-12-03 14:24:48.939847862 +0100 -@@ -310,11 +310,47 @@ - } - } - -+static void alx_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) -+{ -+ struct alx_priv *alx = netdev_priv(netdev); -+ struct alx_hw *hw = &alx->hw; -+ -+ wol->supported = WAKE_MAGIC | WAKE_PHY; -+ wol->wolopts = 0; -+ -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) -+ wol->wolopts |= WAKE_MAGIC; -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) -+ wol->wolopts |= WAKE_PHY; -+} -+ -+static int alx_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) -+{ -+ struct alx_priv *alx = netdev_priv(netdev); -+ struct alx_hw *hw = &alx->hw; -+ -+ if (wol->wolopts & ~(WAKE_MAGIC | WAKE_PHY)) -+ return -EOPNOTSUPP; -+ -+ hw->sleep_ctrl = 0; -+ -+ if (wol->wolopts & WAKE_MAGIC) -+ hw->sleep_ctrl |= ALX_SLEEP_WOL_MAGIC; -+ if (wol->wolopts & WAKE_PHY) -+ hw->sleep_ctrl |= ALX_SLEEP_WOL_PHY; -+ -+ device_set_wakeup_enable(&alx->hw.pdev->dev, hw->sleep_ctrl); -+ -+ return 0; -+} -+ - const struct ethtool_ops alx_ethtool_ops = { - .get_pauseparam = alx_get_pauseparam, - .set_pauseparam = alx_set_pauseparam, - .get_msglevel = alx_get_msglevel, - .set_msglevel = alx_set_msglevel, -+ .get_wol = alx_get_wol, -+ .set_wol = alx_set_wol, - .get_link = ethtool_op_get_link, - .get_strings = alx_get_strings, - .get_sset_count = alx_get_sset_count, -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.c linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.c ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.c 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.c 2019-12-03 14:24:48.939847862 +0100 -@@ -332,6 +332,16 @@ - alx_write_mem32(hw, ALX_STAD1, val); - } - -+static void alx_enable_osc(struct alx_hw *hw) -+{ -+ u32 val; -+ -+ /* rising edge */ -+ val = alx_read_mem32(hw, ALX_MISC); -+ alx_write_mem32(hw, ALX_MISC, val & ~ALX_MISC_INTNLOSC_OPEN); -+ alx_write_mem32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); -+} -+ - static void alx_reset_osc(struct alx_hw *hw, u8 rev) - { - u32 val, val2; -@@ -848,6 +858,66 @@ - } - } - -+ -+/* NOTE: -+ * 1. phy link must be established before calling this function -+ * 2. wol option (pattern,magic,link,etc.) is configed before call it. -+ */ -+int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex) -+{ -+ u32 master, mac, phy, val; -+ int err = 0; -+ -+ master = alx_read_mem32(hw, ALX_MASTER); -+ master &= ~ALX_MASTER_PCLKSEL_SRDS; -+ mac = hw->rx_ctrl; -+ /* 10/100 half */ -+ ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, ALX_MAC_CTRL_SPEED_10_100); -+ mac &= ~(ALX_MAC_CTRL_FULLD | ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_TX_EN); -+ -+ phy = alx_read_mem32(hw, ALX_PHY_CTRL); -+ phy &= ~(ALX_PHY_CTRL_DSPRST_OUT | ALX_PHY_CTRL_CLS); -+ phy |= ALX_PHY_CTRL_RST_ANALOG | ALX_PHY_CTRL_HIB_PULSE | -+ ALX_PHY_CTRL_HIB_EN; -+ -+ /* without any activity */ -+ if (!(hw->sleep_ctrl & ALX_SLEEP_ACTIVE)) { -+ err = alx_write_phy_reg(hw, ALX_MII_IER, 0); -+ if (err) -+ return err; -+ phy |= ALX_PHY_CTRL_IDDQ | ALX_PHY_CTRL_POWER_DOWN; -+ } else { -+ if (hw->sleep_ctrl & (ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_CIFS)) -+ mac |= ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_BRD_EN; -+ if (hw->sleep_ctrl & ALX_SLEEP_CIFS) -+ mac |= ALX_MAC_CTRL_TX_EN; -+ if (duplex == DUPLEX_FULL) -+ mac |= ALX_MAC_CTRL_FULLD; -+ if (speed == SPEED_1000) -+ ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, -+ ALX_MAC_CTRL_SPEED_1000); -+ phy |= ALX_PHY_CTRL_DSPRST_OUT; -+ err = alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, -+ ALX_MIIEXT_S3DIG10, -+ ALX_MIIEXT_S3DIG10_SL); -+ if (err) -+ return err; -+ } -+ -+ alx_enable_osc(hw); -+ hw->rx_ctrl = mac; -+ alx_write_mem32(hw, ALX_MASTER, master); -+ alx_write_mem32(hw, ALX_MAC_CTRL, mac); -+ alx_write_mem32(hw, ALX_PHY_CTRL, phy); -+ -+ /* set val of PDLL D3PLLOFF */ -+ val = alx_read_mem32(hw, ALX_PDLL_TRNS1); -+ val |= ALX_PDLL_TRNS1_D3PLLOFF_EN; -+ alx_write_mem32(hw, ALX_PDLL_TRNS1, val); -+ -+ return 0; -+} -+ - bool alx_phy_configured(struct alx_hw *hw) - { - u32 cfg, hw_cfg; -@@ -920,6 +990,26 @@ - return alx_read_phy_reg(hw, ALX_MII_ISR, &isr); - } - -+int alx_config_wol(struct alx_hw *hw) -+{ -+ u32 wol = 0; -+ int err = 0; -+ -+ /* turn on magic packet event */ -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) -+ wol |= ALX_WOL0_MAGIC_EN | ALX_WOL0_PME_MAGIC_EN; -+ -+ /* turn on link up event */ -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) { -+ wol |= ALX_WOL0_LINK_EN | ALX_WOL0_PME_LINK; -+ /* only link up can wake up */ -+ err = alx_write_phy_reg(hw, ALX_MII_IER, ALX_IER_LINK_UP); -+ } -+ alx_write_mem32(hw, ALX_WOL0, wol); -+ -+ return err; -+} -+ - void alx_disable_rss(struct alx_hw *hw) - { - u32 ctrl = alx_read_mem32(hw, ALX_RXQ0); -@@ -1045,6 +1135,71 @@ - } - - -+int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex) -+{ -+ int i, err; -+ u16 lpa; -+ -+ err = alx_read_phy_link(hw); -+ if (err) -+ return err; -+ -+ if (hw->link_speed == SPEED_UNKNOWN) { -+ *speed = SPEED_UNKNOWN; -+ *duplex = DUPLEX_UNKNOWN; -+ return 0; -+ } -+ -+ err = alx_read_phy_reg(hw, MII_LPA, &lpa); -+ if (err) -+ return err; -+ -+ if (!(lpa & LPA_LPACK)) { -+ *speed = hw->link_speed; -+ return 0; -+ } -+ -+ if (lpa & LPA_10FULL) { -+ *speed = SPEED_10; -+ *duplex = DUPLEX_FULL; -+ } else if (lpa & LPA_10HALF) { -+ *speed = SPEED_10; -+ *duplex = DUPLEX_HALF; -+ } else if (lpa & LPA_100FULL) { -+ *speed = SPEED_100; -+ *duplex = DUPLEX_FULL; -+ } else { -+ *speed = SPEED_100; -+ *duplex = DUPLEX_HALF; -+ } -+ -+ if (*speed == hw->link_speed && *duplex == hw->duplex) -+ return 0; -+ err = alx_write_phy_reg(hw, ALX_MII_IER, 0); -+ if (err) -+ return err; -+ err = alx_setup_speed_duplex(hw, alx_speed_to_ethadv(*speed, *duplex) | -+ ADVERTISED_Autoneg, ALX_FC_ANEG | -+ ALX_FC_RX | ALX_FC_TX); -+ if (err) -+ return err; -+ -+ /* wait for linkup */ -+ for (i = 0; i < ALX_MAX_SETUP_LNK_CYCLE; i++) { -+ msleep(100); -+ -+ err = alx_read_phy_link(hw); -+ if (err < 0) -+ return err; -+ if (hw->link_speed != SPEED_UNKNOWN) -+ break; -+ } -+ if (i == ALX_MAX_SETUP_LNK_CYCLE) -+ return -ETIMEDOUT; -+ -+ return 0; -+} -+ - bool alx_get_phy_info(struct alx_hw *hw) - { - u16 devs1, devs2; -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.h linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.h ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.h 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.h 2019-12-03 14:24:48.940847869 +0100 -@@ -487,6 +487,8 @@ - u8 flowctrl; - u32 adv_cfg; - -+ u32 sleep_ctrl; -+ - spinlock_t mdio_lock; - struct mdio_if_info mdio; - u16 phy_id[2]; -@@ -549,12 +551,14 @@ - void alx_enable_aspm(struct alx_hw *hw, bool l0s_en, bool l1_en); - int alx_setup_speed_duplex(struct alx_hw *hw, u32 ethadv, u8 flowctrl); - void alx_post_phy_link(struct alx_hw *hw); -+int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex); - int alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data); - int alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data); - int alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata); - int alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data); - int alx_read_phy_link(struct alx_hw *hw); - int alx_clear_phy_intr(struct alx_hw *hw); -+int alx_config_wol(struct alx_hw *hw); - void alx_cfg_mac_flowcontrol(struct alx_hw *hw, u8 fc); - void alx_start_mac(struct alx_hw *hw); - int alx_reset_mac(struct alx_hw *hw); -@@ -563,6 +567,7 @@ - void alx_configure_basic(struct alx_hw *hw); - void alx_mask_msix(struct alx_hw *hw, int index, bool mask); - void alx_disable_rss(struct alx_hw *hw); -+int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex); - bool alx_get_phy_info(struct alx_hw *hw); - void alx_update_hw_stats(struct alx_hw *hw); - -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/main.c linux-5.4.1.new/drivers/net/ethernet/atheros/alx/main.c ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/main.c 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/main.c 2019-12-03 14:24:48.940847869 +0100 -@@ -1069,6 +1069,7 @@ - alx->dev->max_mtu = ALX_MAX_FRAME_LEN(ALX_MAX_FRAME_SIZE); - alx->tx_ringsz = 256; - alx->rx_ringsz = 512; -+ hw->sleep_ctrl = ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_WOL_PHY; - hw->imt = 200; - alx->int_mask = ALX_ISR_MISC; - hw->dma_chnl = hw->max_dma_chnl; -@@ -1343,6 +1344,66 @@ - return 0; - } - -+static int __alx_shutdown(struct pci_dev *pdev, bool *wol_en) -+{ -+ struct alx_priv *alx = pci_get_drvdata(pdev); -+ struct net_device *netdev = alx->dev; -+ struct alx_hw *hw = &alx->hw; -+ int err, speed; -+ u8 duplex; -+ -+ netif_device_detach(netdev); -+ -+ if (netif_running(netdev)) -+ __alx_stop(alx); -+ -+#ifdef CONFIG_PM_SLEEP -+ err = pci_save_state(pdev); -+ if (err) -+ return err; -+#endif -+ -+ err = alx_select_powersaving_speed(hw, &speed, &duplex); -+ if (err) -+ return err; -+ err = alx_clear_phy_intr(hw); -+ if (err) -+ return err; -+ err = alx_pre_suspend(hw, speed, duplex); -+ if (err) -+ return err; -+ err = alx_config_wol(hw); -+ if (err) -+ return err; -+ -+ *wol_en = false; -+ if (hw->sleep_ctrl & ALX_SLEEP_ACTIVE) { -+ netif_info(alx, wol, netdev, -+ "wol: ctrl=%X, speed=%X\n", -+ hw->sleep_ctrl, speed); -+ device_set_wakeup_enable(&pdev->dev, true); -+ *wol_en = true; -+ } -+ -+ pci_disable_device(pdev); -+ -+ return 0; -+} -+ -+static void alx_shutdown(struct pci_dev *pdev) -+{ -+ int err; -+ bool wol_en; -+ -+ err = __alx_shutdown(pdev, &wol_en); -+ if (!err) { -+ pci_wake_from_d3(pdev, wol_en); -+ pci_set_power_state(pdev, PCI_D3hot); -+ } else { -+ dev_err(&pdev->dev, "shutdown fail %d\n", err); -+ } -+} -+ - static void alx_link_check(struct work_struct *work) - { - struct alx_priv *alx; -@@ -1836,6 +1897,7 @@ - goto out_unmap; - } - -+ device_set_wakeup_enable(&pdev->dev, hw->sleep_ctrl); - netdev_info(netdev, - "Qualcomm Atheros AR816x/AR817x Ethernet [%pM]\n", - netdev->dev_addr); -@@ -1878,37 +1940,70 @@ - static int alx_suspend(struct device *dev) - { - struct alx_priv *alx = dev_get_drvdata(dev); -+ struct pci_dev *pdev = alx->hw.pdev; -+ int err; -+ bool wol_en; - -- if (!netif_running(alx->dev)) -- return 0; -- netif_device_detach(alx->dev); -- __alx_stop(alx); -+ err = __alx_shutdown(pdev, &wol_en); -+ if (err) { -+ dev_err(&pdev->dev, "shutdown fail in suspend %d\n", err); -+ return err; -+ } -+ -+ if (wol_en) { -+ pci_prepare_to_sleep(pdev); -+ } else { -+ pci_wake_from_d3(pdev, false); -+ pci_set_power_state(pdev, PCI_D3hot); -+ } - return 0; - } - - static int alx_resume(struct device *dev) - { - struct alx_priv *alx = dev_get_drvdata(dev); -+ struct net_device *netdev = alx->dev; - struct alx_hw *hw = &alx->hw; -+ struct pci_dev *pdev = hw->pdev; - int err; - -+ pci_set_power_state(pdev, PCI_D0); -+ pci_restore_state(pdev); -+ pci_save_state(pdev); -+ -+ pci_enable_wake(pdev, PCI_D3hot, 0); -+ pci_enable_wake(pdev, PCI_D3cold, 0); -+ -+ hw->link_speed = SPEED_UNKNOWN; -+ alx->int_mask = ALX_ISR_MISC; -+ -+ alx_reset_pcie(hw); - alx_reset_phy(hw); - -- if (!netif_running(alx->dev)) -- return 0; -- netif_device_attach(alx->dev); -+ err = alx_reset_mac(hw); -+ if (err) { -+ netif_err(alx, hw, alx->dev, -+ "resume:reset_mac fail %d\n", err); -+ return -EIO; -+ } - -- rtnl_lock(); -- err = __alx_open(alx, true); -- rtnl_unlock(); -+ err = alx_setup_speed_duplex(hw, hw->adv_cfg, hw->flowctrl); -+ if (err) { -+ netif_err(alx, hw, alx->dev, -+ "resume:setup_speed_duplex fail %d\n", err); -+ return -EIO; -+ } -+ -+ if (netif_running(netdev)) { -+ err = __alx_open(alx, true); -+ if (err) -+ return err; -+ } - -- return err; -+ netif_device_attach(netdev); -+ return err; - } - --static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); --#define ALX_PM_OPS (&alx_pm_ops) --#else --#define ALX_PM_OPS NULL - #endif - - -@@ -1954,6 +2049,8 @@ - } - - pci_set_master(pdev); -+ pci_enable_wake(pdev, PCI_D3hot, 0); -+ pci_enable_wake(pdev, PCI_D3cold, 0); - - alx_reset_pcie(hw); - if (!alx_reset_mac(hw)) -@@ -2003,11 +2100,20 @@ - {} - }; - -+#ifdef CONFIG_PM_SLEEP -+static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); -+#define ALX_PM_OPS (&alx_pm_ops) -+#else -+#define ALX_PM_OPS NULL -+#endif -+ -+ - static struct pci_driver alx_driver = { - .name = alx_drv_name, - .id_table = alx_pci_tbl, - .probe = alx_probe, - .remove = alx_remove, -+ .shutdown = alx_shutdown, - .err_handler = &alx_err_handlers, - .driver.pm = ALX_PM_OPS, - }; diff --git a/sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.23.ebuild b/sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.23.ebuild deleted file mode 100644 index b09c3703..00000000 --- a/sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.23.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils - -EXTRAVERSION="redcore-lts" -KV_FULL="${PV}-${EXTRAVERSION}" -KV_MAJOR="5.10" - -DESCRIPTION="Redcore Linux Kernel Image (LTS)" -HOMEPAGE="https://redcorelinux.org" -SRC_URI="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz" - -KEYWORDS="~amd64" -LICENSE="GPL-2" -SLOT="${PVR}" -IUSE="+cryptsetup +dmraid +dracut +dkms +mdadm" - -RESTRICT="binchecks strip mirror" -DEPEND=" - app-arch/lz4 - app-arch/xz-utils - sys-devel/autoconf - sys-devel/bc - sys-devel/make - cryptsetup? ( sys-fs/cryptsetup ) - dmraid? ( sys-fs/dmraid ) - dracut? ( >=sys-kernel/dracut-0.44-r8 ) - dkms? ( sys-kernel/dkms sys-kernel/linux-sources-redcore-lts:${SLOT} ) - mdadm? ( sys-fs/mdadm ) - >=sys-kernel/linux-firmware-20180314" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/"${KV_MAJOR}"-ath10k-be-quiet.patch - "${FILESDIR}"/"${KV_MAJOR}"-enable_alx_wol.patch - "${FILESDIR}"/"${KV_MAJOR}"-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch - "${FILESDIR}"/"${KV_MAJOR}"-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch - "${FILESDIR}"/"${KV_MAJOR}"-acpi-use-kern_warning_even_when_error.patch - "${FILESDIR}"/"${KV_MAJOR}"-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch - "${FILESDIR}"/"${KV_MAJOR}"-nvme-Patriot_Viper_VPN100-QUIRK_IGNORE_DEV_SUBNQN.patch - "${FILESDIR}"/"${KV_MAJOR}"-do_not_bug_the_next_18-years.patch - "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-use-debug-for-debug-infos.patch - "${FILESDIR}"/"${KV_MAJOR}"-compress-modules-zstd-support.patch - "${FILESDIR}"/"${KV_MAJOR}"-fix-bootconfig-makefile.patch - "${FILESDIR}"/"${KV_MAJOR}"-apic_vector-spam-in-debug-mode-only.patch - "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-fix-5e003982b07ae.patch - "${FILESDIR}"/"${KV_MAJOR}"-enable-new-amd-energy-driver-for-all-ryzen.patch - "${FILESDIR}"/"${KV_MAJOR}"-amd_iommu_init_info.patch - "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch - "${FILESDIR}"/"${KV_MAJOR}"-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch - "${FILESDIR}"/"${KV_MAJOR}"-add-amd-sfh-hid_driver.patch - "${FILESDIR}"/"${KV_MAJOR}"-add-sbtsi_driver.patch - "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch - "${FILESDIR}"/"${KV_MAJOR}"-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch - "${FILESDIR}"/"${KV_MAJOR}"-linux-hardened.patch - "${FILESDIR}"/"${KV_MAJOR}"-uksm-linux-hardened.patch -) - -S="${WORKDIR}"/linux-"${PV}" - -pkg_setup() { - export KBUILD_BUILD_USER="nexus" - export KBUILD_BUILD_HOST="nexus.redcorelinux.org" - - export REAL_ARCH="$ARCH" - unset ARCH ; unset LDFLAGS #will interfere with Makefile if set -} - -src_prepare() { - default - emake mrproper - sed -ri "s|^(EXTRAVERSION =).*|\1 -${EXTRAVERSION}|" Makefile - cp "${FILESDIR}"/"${KV_MAJOR}"-amd64.config .config - rm -rf $(find . -type f|grep -F \.orig) -} - -src_compile() { - emake prepare modules_prepare bzImage modules -} - -src_install() { - dodir boot - insinto boot - newins .config config-"${KV_FULL}" - newins System.map System.map-"${KV_FULL}" - newins arch/x86/boot/bzImage vmlinuz-"${KV_FULL}" - - dodir usr/src/linux-"${KV_FULL}" - insinto usr/src/linux-"${KV_FULL}" - doins Module.symvers - doins System.map - exeinto usr/src/linux-"${KV_FULL}" - doexe vmlinux - - emake INSTALL_MOD_PATH="${D}" modules_install - - rm -f "${D}"lib/modules/"${KV_FULL}"/build - rm -f "${D}"lib/modules/"${KV_FULL}"/source - export local KSYMS - for KSYMS in build source ; do - dosym ../../../usr/src/linux-"${KV_FULL}" lib/modules/"${KV_FULL}"/"${KSYMS}" - done -} - -_grub2_update_grubcfg() { - if [[ -x $(which grub2-mkconfig) ]]; then - elog "Updating GRUB-2 bootloader configuration, please wait" - grub2-mkconfig -o "${ROOT}"boot/grub/grub.cfg - else - elog "It looks like you're not using GRUB-2, you must update bootloader configuration by hand" - fi -} - -_dracut_initrd_create() { - if [[ -x $(which dracut) ]]; then - elog "Generating initrd for "${KV_FULL}", please wait" - addpredict /etc/ld.so.cache~ - dracut -N -f --kver="${KV_FULL}" "${ROOT}"boot/initrd-"${KV_FULL}" - else - elog "It looks like you're not using dracut, you must generate an initrd by hand" - fi -} - -_dracut_initrd_delete() { - rm -rf "${ROOT}"boot/initrd-"${KV_FULL}" -} - -_dkms_modules_delete() { - if [[ -x $(which dkms) ]] ; then - export local DKMSMOD - for DKMSMOD in $(dkms status | cut -d " " -f1,2 | sed -e 's/,//g' | sed -e 's/ /\//g' | sed -e 's/://g' | uniq) ; do - dkms remove "${DKMSMOD}" -k "${KV_FULL}" - done - fi -} - -_kernel_modules_delete() { - rm -rf "${ROOT}"lib/modules/"${KV_FULL}" -} - -pkg_postinst() { - if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then - if use dracut; then - _dracut_initrd_create - fi - _grub2_update_grubcfg - fi -} - -pkg_postrm() { - if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then - if use dracut; then - _dracut_initrd_delete - fi - _grub2_update_grubcfg - fi - if use dkms; then - _dkms_modules_delete - fi - _kernel_modules_delete -} diff --git a/sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.25.ebuild b/sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.25.ebuild new file mode 100644 index 00000000..73b2aca4 --- /dev/null +++ b/sys-kernel/linux-image-redcore-lts/linux-image-redcore-lts-5.10.25.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils + +EXTRAVERSION="redcore-lts" +KV_FULL="${PV}-${EXTRAVERSION}" +KV_MAJOR="5.10" + +DESCRIPTION="Redcore Linux Kernel Image (LTS)" +HOMEPAGE="https://redcorelinux.org" +SRC_URI="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz" + +KEYWORDS="~amd64" +LICENSE="GPL-2" +SLOT="${PVR}" +IUSE="+cryptsetup +dmraid +dracut +dkms +mdadm" + +RESTRICT="binchecks strip mirror" +DEPEND=" + app-arch/lz4 + app-arch/xz-utils + sys-devel/autoconf + sys-devel/bc + sys-devel/make + cryptsetup? ( sys-fs/cryptsetup ) + dmraid? ( sys-fs/dmraid ) + dracut? ( >=sys-kernel/dracut-0.44-r8 ) + dkms? ( sys-kernel/dkms sys-kernel/linux-sources-redcore-lts:${SLOT} ) + mdadm? ( sys-fs/mdadm ) + >=sys-kernel/linux-firmware-20180314" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/"${KV_MAJOR}"-ath10k-be-quiet.patch + "${FILESDIR}"/"${KV_MAJOR}"-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch + "${FILESDIR}"/"${KV_MAJOR}"-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch + "${FILESDIR}"/"${KV_MAJOR}"-acpi-use-kern_warning_even_when_error.patch + "${FILESDIR}"/"${KV_MAJOR}"-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch + "${FILESDIR}"/"${KV_MAJOR}"-nvme-Patriot_Viper_VPN100-QUIRK_IGNORE_DEV_SUBNQN.patch + "${FILESDIR}"/"${KV_MAJOR}"-do_not_bug_the_next_18-years.patch + "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-use-debug-for-debug-infos.patch + "${FILESDIR}"/"${KV_MAJOR}"-compress-modules-zstd-support.patch + "${FILESDIR}"/"${KV_MAJOR}"-fix-bootconfig-makefile.patch + "${FILESDIR}"/"${KV_MAJOR}"-apic_vector-spam-in-debug-mode-only.patch + "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-fix-5e003982b07ae.patch + "${FILESDIR}"/"${KV_MAJOR}"-enable-new-amd-energy-driver-for-all-ryzen.patch + "${FILESDIR}"/"${KV_MAJOR}"-amd_iommu_init_info.patch + "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch + "${FILESDIR}"/"${KV_MAJOR}"-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch + "${FILESDIR}"/"${KV_MAJOR}"-add-amd-sfh-hid_driver.patch + "${FILESDIR}"/"${KV_MAJOR}"-add-sbtsi_driver.patch + "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch + "${FILESDIR}"/"${KV_MAJOR}"-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch + "${FILESDIR}"/"${KV_MAJOR}"-linux-hardened.patch + "${FILESDIR}"/"${KV_MAJOR}"-uksm-linux-hardened.patch +) + +S="${WORKDIR}"/linux-"${PV}" + +pkg_setup() { + export KBUILD_BUILD_USER="nexus" + export KBUILD_BUILD_HOST="nexus.redcorelinux.org" + + export REAL_ARCH="$ARCH" + unset ARCH ; unset LDFLAGS #will interfere with Makefile if set +} + +src_prepare() { + default + emake mrproper + sed -ri "s|^(EXTRAVERSION =).*|\1 -${EXTRAVERSION}|" Makefile + cp "${FILESDIR}"/"${KV_MAJOR}"-amd64.config .config + rm -rf $(find . -type f|grep -F \.orig) +} + +src_compile() { + emake prepare modules_prepare bzImage modules +} + +src_install() { + dodir boot + insinto boot + newins .config config-"${KV_FULL}" + newins System.map System.map-"${KV_FULL}" + newins arch/x86/boot/bzImage vmlinuz-"${KV_FULL}" + + dodir usr/src/linux-"${KV_FULL}" + insinto usr/src/linux-"${KV_FULL}" + doins Module.symvers + doins System.map + exeinto usr/src/linux-"${KV_FULL}" + doexe vmlinux + + emake INSTALL_MOD_PATH="${D}" modules_install + + rm -f "${D}"lib/modules/"${KV_FULL}"/build + rm -f "${D}"lib/modules/"${KV_FULL}"/source + export local KSYMS + for KSYMS in build source ; do + dosym ../../../usr/src/linux-"${KV_FULL}" lib/modules/"${KV_FULL}"/"${KSYMS}" + done +} + +_grub2_update_grubcfg() { + if [[ -x $(which grub2-mkconfig) ]]; then + elog "Updating GRUB-2 bootloader configuration, please wait" + grub2-mkconfig -o "${ROOT}"boot/grub/grub.cfg + else + elog "It looks like you're not using GRUB-2, you must update bootloader configuration by hand" + fi +} + +_dracut_initrd_create() { + if [[ -x $(which dracut) ]]; then + elog "Generating initrd for "${KV_FULL}", please wait" + addpredict /etc/ld.so.cache~ + dracut -N -f --kver="${KV_FULL}" "${ROOT}"boot/initrd-"${KV_FULL}" + else + elog "It looks like you're not using dracut, you must generate an initrd by hand" + fi +} + +_dracut_initrd_delete() { + rm -rf "${ROOT}"boot/initrd-"${KV_FULL}" +} + +_dkms_modules_delete() { + if [[ -x $(which dkms) ]] ; then + export local DKMSMOD + for DKMSMOD in $(dkms status | cut -d " " -f1,2 | sed -e 's/,//g' | sed -e 's/ /\//g' | sed -e 's/://g' | uniq) ; do + dkms remove "${DKMSMOD}" -k "${KV_FULL}" + done + fi +} + +_kernel_modules_delete() { + rm -rf "${ROOT}"lib/modules/"${KV_FULL}" +} + +pkg_postinst() { + if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then + if use dracut; then + _dracut_initrd_create + fi + _grub2_update_grubcfg + fi +} + +pkg_postrm() { + if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then + if use dracut; then + _dracut_initrd_delete + fi + _grub2_update_grubcfg + fi + if use dkms; then + _dkms_modules_delete + fi + _kernel_modules_delete +} diff --git a/sys-kernel/linux-sources-redcore-lts/Manifest b/sys-kernel/linux-sources-redcore-lts/Manifest index 88811e53..2b162050 100644 --- a/sys-kernel/linux-sources-redcore-lts/Manifest +++ b/sys-kernel/linux-sources-redcore-lts/Manifest @@ -1 +1 @@ -DIST linux-5.10.23.tar.xz 116288840 BLAKE2B 0ab16813059bd2343bb5f96679e169f6efbde1c65a3beea08873b40812578e48f7969c321ab588dc7c88ee7b320ad2f9cdceb1fc3882d4ca705dd890732be51b SHA512 c5d51d9fedec04b0aac396cf3b22d133b305c1fb2a189aa512d0c42d4abf10feecdab4b8ddccc4c3b3a65a84f168d04f37fcc9bb65d7c794d20978e2ebb4faed +DIST linux-5.10.25.tar.xz 116291936 BLAKE2B 1aa774dcd894f4f5a24cc26375dac4dfe0b8d1c37e58c6878dd81c2f6466a8fbb635b46e881bec75b00c041c6d0c73c545bd10ff25afde6a5bca1e63e165e51c SHA512 20d81a5930f4877e4a67930c8fc52406767bc1c1ca65a78037e4f42738bae54009a59d1a21e3bfde773f67af608a763e67a8829564b3665cae937dbc19947c13 diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-enable_alx_wol.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-enable_alx_wol.patch deleted file mode 100644 index 55505fbd..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-enable_alx_wol.patch +++ /dev/null @@ -1,474 +0,0 @@ -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/ethtool.c linux-5.4.1.new/drivers/net/ethernet/atheros/alx/ethtool.c ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/ethtool.c 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/ethtool.c 2019-12-03 14:24:48.939847862 +0100 -@@ -310,11 +310,47 @@ - } - } - -+static void alx_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) -+{ -+ struct alx_priv *alx = netdev_priv(netdev); -+ struct alx_hw *hw = &alx->hw; -+ -+ wol->supported = WAKE_MAGIC | WAKE_PHY; -+ wol->wolopts = 0; -+ -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) -+ wol->wolopts |= WAKE_MAGIC; -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) -+ wol->wolopts |= WAKE_PHY; -+} -+ -+static int alx_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) -+{ -+ struct alx_priv *alx = netdev_priv(netdev); -+ struct alx_hw *hw = &alx->hw; -+ -+ if (wol->wolopts & ~(WAKE_MAGIC | WAKE_PHY)) -+ return -EOPNOTSUPP; -+ -+ hw->sleep_ctrl = 0; -+ -+ if (wol->wolopts & WAKE_MAGIC) -+ hw->sleep_ctrl |= ALX_SLEEP_WOL_MAGIC; -+ if (wol->wolopts & WAKE_PHY) -+ hw->sleep_ctrl |= ALX_SLEEP_WOL_PHY; -+ -+ device_set_wakeup_enable(&alx->hw.pdev->dev, hw->sleep_ctrl); -+ -+ return 0; -+} -+ - const struct ethtool_ops alx_ethtool_ops = { - .get_pauseparam = alx_get_pauseparam, - .set_pauseparam = alx_set_pauseparam, - .get_msglevel = alx_get_msglevel, - .set_msglevel = alx_set_msglevel, -+ .get_wol = alx_get_wol, -+ .set_wol = alx_set_wol, - .get_link = ethtool_op_get_link, - .get_strings = alx_get_strings, - .get_sset_count = alx_get_sset_count, -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.c linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.c ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.c 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.c 2019-12-03 14:24:48.939847862 +0100 -@@ -332,6 +332,16 @@ - alx_write_mem32(hw, ALX_STAD1, val); - } - -+static void alx_enable_osc(struct alx_hw *hw) -+{ -+ u32 val; -+ -+ /* rising edge */ -+ val = alx_read_mem32(hw, ALX_MISC); -+ alx_write_mem32(hw, ALX_MISC, val & ~ALX_MISC_INTNLOSC_OPEN); -+ alx_write_mem32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); -+} -+ - static void alx_reset_osc(struct alx_hw *hw, u8 rev) - { - u32 val, val2; -@@ -848,6 +858,66 @@ - } - } - -+ -+/* NOTE: -+ * 1. phy link must be established before calling this function -+ * 2. wol option (pattern,magic,link,etc.) is configed before call it. -+ */ -+int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex) -+{ -+ u32 master, mac, phy, val; -+ int err = 0; -+ -+ master = alx_read_mem32(hw, ALX_MASTER); -+ master &= ~ALX_MASTER_PCLKSEL_SRDS; -+ mac = hw->rx_ctrl; -+ /* 10/100 half */ -+ ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, ALX_MAC_CTRL_SPEED_10_100); -+ mac &= ~(ALX_MAC_CTRL_FULLD | ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_TX_EN); -+ -+ phy = alx_read_mem32(hw, ALX_PHY_CTRL); -+ phy &= ~(ALX_PHY_CTRL_DSPRST_OUT | ALX_PHY_CTRL_CLS); -+ phy |= ALX_PHY_CTRL_RST_ANALOG | ALX_PHY_CTRL_HIB_PULSE | -+ ALX_PHY_CTRL_HIB_EN; -+ -+ /* without any activity */ -+ if (!(hw->sleep_ctrl & ALX_SLEEP_ACTIVE)) { -+ err = alx_write_phy_reg(hw, ALX_MII_IER, 0); -+ if (err) -+ return err; -+ phy |= ALX_PHY_CTRL_IDDQ | ALX_PHY_CTRL_POWER_DOWN; -+ } else { -+ if (hw->sleep_ctrl & (ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_CIFS)) -+ mac |= ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_BRD_EN; -+ if (hw->sleep_ctrl & ALX_SLEEP_CIFS) -+ mac |= ALX_MAC_CTRL_TX_EN; -+ if (duplex == DUPLEX_FULL) -+ mac |= ALX_MAC_CTRL_FULLD; -+ if (speed == SPEED_1000) -+ ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, -+ ALX_MAC_CTRL_SPEED_1000); -+ phy |= ALX_PHY_CTRL_DSPRST_OUT; -+ err = alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, -+ ALX_MIIEXT_S3DIG10, -+ ALX_MIIEXT_S3DIG10_SL); -+ if (err) -+ return err; -+ } -+ -+ alx_enable_osc(hw); -+ hw->rx_ctrl = mac; -+ alx_write_mem32(hw, ALX_MASTER, master); -+ alx_write_mem32(hw, ALX_MAC_CTRL, mac); -+ alx_write_mem32(hw, ALX_PHY_CTRL, phy); -+ -+ /* set val of PDLL D3PLLOFF */ -+ val = alx_read_mem32(hw, ALX_PDLL_TRNS1); -+ val |= ALX_PDLL_TRNS1_D3PLLOFF_EN; -+ alx_write_mem32(hw, ALX_PDLL_TRNS1, val); -+ -+ return 0; -+} -+ - bool alx_phy_configured(struct alx_hw *hw) - { - u32 cfg, hw_cfg; -@@ -920,6 +990,26 @@ - return alx_read_phy_reg(hw, ALX_MII_ISR, &isr); - } - -+int alx_config_wol(struct alx_hw *hw) -+{ -+ u32 wol = 0; -+ int err = 0; -+ -+ /* turn on magic packet event */ -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) -+ wol |= ALX_WOL0_MAGIC_EN | ALX_WOL0_PME_MAGIC_EN; -+ -+ /* turn on link up event */ -+ if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) { -+ wol |= ALX_WOL0_LINK_EN | ALX_WOL0_PME_LINK; -+ /* only link up can wake up */ -+ err = alx_write_phy_reg(hw, ALX_MII_IER, ALX_IER_LINK_UP); -+ } -+ alx_write_mem32(hw, ALX_WOL0, wol); -+ -+ return err; -+} -+ - void alx_disable_rss(struct alx_hw *hw) - { - u32 ctrl = alx_read_mem32(hw, ALX_RXQ0); -@@ -1045,6 +1135,71 @@ - } - - -+int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex) -+{ -+ int i, err; -+ u16 lpa; -+ -+ err = alx_read_phy_link(hw); -+ if (err) -+ return err; -+ -+ if (hw->link_speed == SPEED_UNKNOWN) { -+ *speed = SPEED_UNKNOWN; -+ *duplex = DUPLEX_UNKNOWN; -+ return 0; -+ } -+ -+ err = alx_read_phy_reg(hw, MII_LPA, &lpa); -+ if (err) -+ return err; -+ -+ if (!(lpa & LPA_LPACK)) { -+ *speed = hw->link_speed; -+ return 0; -+ } -+ -+ if (lpa & LPA_10FULL) { -+ *speed = SPEED_10; -+ *duplex = DUPLEX_FULL; -+ } else if (lpa & LPA_10HALF) { -+ *speed = SPEED_10; -+ *duplex = DUPLEX_HALF; -+ } else if (lpa & LPA_100FULL) { -+ *speed = SPEED_100; -+ *duplex = DUPLEX_FULL; -+ } else { -+ *speed = SPEED_100; -+ *duplex = DUPLEX_HALF; -+ } -+ -+ if (*speed == hw->link_speed && *duplex == hw->duplex) -+ return 0; -+ err = alx_write_phy_reg(hw, ALX_MII_IER, 0); -+ if (err) -+ return err; -+ err = alx_setup_speed_duplex(hw, alx_speed_to_ethadv(*speed, *duplex) | -+ ADVERTISED_Autoneg, ALX_FC_ANEG | -+ ALX_FC_RX | ALX_FC_TX); -+ if (err) -+ return err; -+ -+ /* wait for linkup */ -+ for (i = 0; i < ALX_MAX_SETUP_LNK_CYCLE; i++) { -+ msleep(100); -+ -+ err = alx_read_phy_link(hw); -+ if (err < 0) -+ return err; -+ if (hw->link_speed != SPEED_UNKNOWN) -+ break; -+ } -+ if (i == ALX_MAX_SETUP_LNK_CYCLE) -+ return -ETIMEDOUT; -+ -+ return 0; -+} -+ - bool alx_get_phy_info(struct alx_hw *hw) - { - u16 devs1, devs2; -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.h linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.h ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/hw.h 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/hw.h 2019-12-03 14:24:48.940847869 +0100 -@@ -487,6 +487,8 @@ - u8 flowctrl; - u32 adv_cfg; - -+ u32 sleep_ctrl; -+ - spinlock_t mdio_lock; - struct mdio_if_info mdio; - u16 phy_id[2]; -@@ -549,12 +551,14 @@ - void alx_enable_aspm(struct alx_hw *hw, bool l0s_en, bool l1_en); - int alx_setup_speed_duplex(struct alx_hw *hw, u32 ethadv, u8 flowctrl); - void alx_post_phy_link(struct alx_hw *hw); -+int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex); - int alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data); - int alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data); - int alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata); - int alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data); - int alx_read_phy_link(struct alx_hw *hw); - int alx_clear_phy_intr(struct alx_hw *hw); -+int alx_config_wol(struct alx_hw *hw); - void alx_cfg_mac_flowcontrol(struct alx_hw *hw, u8 fc); - void alx_start_mac(struct alx_hw *hw); - int alx_reset_mac(struct alx_hw *hw); -@@ -563,6 +567,7 @@ - void alx_configure_basic(struct alx_hw *hw); - void alx_mask_msix(struct alx_hw *hw, int index, bool mask); - void alx_disable_rss(struct alx_hw *hw); -+int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex); - bool alx_get_phy_info(struct alx_hw *hw); - void alx_update_hw_stats(struct alx_hw *hw); - -diff -Naur linux-5.4.1/drivers/net/ethernet/atheros/alx/main.c linux-5.4.1.new/drivers/net/ethernet/atheros/alx/main.c ---- linux-5.4.1/drivers/net/ethernet/atheros/alx/main.c 2019-11-29 10:10:32.000000000 +0100 -+++ linux-5.4.1.new/drivers/net/ethernet/atheros/alx/main.c 2019-12-03 14:24:48.940847869 +0100 -@@ -1069,6 +1069,7 @@ - alx->dev->max_mtu = ALX_MAX_FRAME_LEN(ALX_MAX_FRAME_SIZE); - alx->tx_ringsz = 256; - alx->rx_ringsz = 512; -+ hw->sleep_ctrl = ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_WOL_PHY; - hw->imt = 200; - alx->int_mask = ALX_ISR_MISC; - hw->dma_chnl = hw->max_dma_chnl; -@@ -1343,6 +1344,66 @@ - return 0; - } - -+static int __alx_shutdown(struct pci_dev *pdev, bool *wol_en) -+{ -+ struct alx_priv *alx = pci_get_drvdata(pdev); -+ struct net_device *netdev = alx->dev; -+ struct alx_hw *hw = &alx->hw; -+ int err, speed; -+ u8 duplex; -+ -+ netif_device_detach(netdev); -+ -+ if (netif_running(netdev)) -+ __alx_stop(alx); -+ -+#ifdef CONFIG_PM_SLEEP -+ err = pci_save_state(pdev); -+ if (err) -+ return err; -+#endif -+ -+ err = alx_select_powersaving_speed(hw, &speed, &duplex); -+ if (err) -+ return err; -+ err = alx_clear_phy_intr(hw); -+ if (err) -+ return err; -+ err = alx_pre_suspend(hw, speed, duplex); -+ if (err) -+ return err; -+ err = alx_config_wol(hw); -+ if (err) -+ return err; -+ -+ *wol_en = false; -+ if (hw->sleep_ctrl & ALX_SLEEP_ACTIVE) { -+ netif_info(alx, wol, netdev, -+ "wol: ctrl=%X, speed=%X\n", -+ hw->sleep_ctrl, speed); -+ device_set_wakeup_enable(&pdev->dev, true); -+ *wol_en = true; -+ } -+ -+ pci_disable_device(pdev); -+ -+ return 0; -+} -+ -+static void alx_shutdown(struct pci_dev *pdev) -+{ -+ int err; -+ bool wol_en; -+ -+ err = __alx_shutdown(pdev, &wol_en); -+ if (!err) { -+ pci_wake_from_d3(pdev, wol_en); -+ pci_set_power_state(pdev, PCI_D3hot); -+ } else { -+ dev_err(&pdev->dev, "shutdown fail %d\n", err); -+ } -+} -+ - static void alx_link_check(struct work_struct *work) - { - struct alx_priv *alx; -@@ -1836,6 +1897,7 @@ - goto out_unmap; - } - -+ device_set_wakeup_enable(&pdev->dev, hw->sleep_ctrl); - netdev_info(netdev, - "Qualcomm Atheros AR816x/AR817x Ethernet [%pM]\n", - netdev->dev_addr); -@@ -1878,37 +1940,70 @@ - static int alx_suspend(struct device *dev) - { - struct alx_priv *alx = dev_get_drvdata(dev); -+ struct pci_dev *pdev = alx->hw.pdev; -+ int err; -+ bool wol_en; - -- if (!netif_running(alx->dev)) -- return 0; -- netif_device_detach(alx->dev); -- __alx_stop(alx); -+ err = __alx_shutdown(pdev, &wol_en); -+ if (err) { -+ dev_err(&pdev->dev, "shutdown fail in suspend %d\n", err); -+ return err; -+ } -+ -+ if (wol_en) { -+ pci_prepare_to_sleep(pdev); -+ } else { -+ pci_wake_from_d3(pdev, false); -+ pci_set_power_state(pdev, PCI_D3hot); -+ } - return 0; - } - - static int alx_resume(struct device *dev) - { - struct alx_priv *alx = dev_get_drvdata(dev); -+ struct net_device *netdev = alx->dev; - struct alx_hw *hw = &alx->hw; -+ struct pci_dev *pdev = hw->pdev; - int err; - -+ pci_set_power_state(pdev, PCI_D0); -+ pci_restore_state(pdev); -+ pci_save_state(pdev); -+ -+ pci_enable_wake(pdev, PCI_D3hot, 0); -+ pci_enable_wake(pdev, PCI_D3cold, 0); -+ -+ hw->link_speed = SPEED_UNKNOWN; -+ alx->int_mask = ALX_ISR_MISC; -+ -+ alx_reset_pcie(hw); - alx_reset_phy(hw); - -- if (!netif_running(alx->dev)) -- return 0; -- netif_device_attach(alx->dev); -+ err = alx_reset_mac(hw); -+ if (err) { -+ netif_err(alx, hw, alx->dev, -+ "resume:reset_mac fail %d\n", err); -+ return -EIO; -+ } - -- rtnl_lock(); -- err = __alx_open(alx, true); -- rtnl_unlock(); -+ err = alx_setup_speed_duplex(hw, hw->adv_cfg, hw->flowctrl); -+ if (err) { -+ netif_err(alx, hw, alx->dev, -+ "resume:setup_speed_duplex fail %d\n", err); -+ return -EIO; -+ } -+ -+ if (netif_running(netdev)) { -+ err = __alx_open(alx, true); -+ if (err) -+ return err; -+ } - -- return err; -+ netif_device_attach(netdev); -+ return err; - } - --static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); --#define ALX_PM_OPS (&alx_pm_ops) --#else --#define ALX_PM_OPS NULL - #endif - - -@@ -1954,6 +2049,8 @@ - } - - pci_set_master(pdev); -+ pci_enable_wake(pdev, PCI_D3hot, 0); -+ pci_enable_wake(pdev, PCI_D3cold, 0); - - alx_reset_pcie(hw); - if (!alx_reset_mac(hw)) -@@ -2003,11 +2100,20 @@ - {} - }; - -+#ifdef CONFIG_PM_SLEEP -+static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); -+#define ALX_PM_OPS (&alx_pm_ops) -+#else -+#define ALX_PM_OPS NULL -+#endif -+ -+ - static struct pci_driver alx_driver = { - .name = alx_drv_name, - .id_table = alx_pci_tbl, - .probe = alx_probe, - .remove = alx_remove, -+ .shutdown = alx_shutdown, - .err_handler = &alx_err_handlers, - .driver.pm = ALX_PM_OPS, - }; diff --git a/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.23.ebuild b/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.23.ebuild deleted file mode 100644 index 1cb3811b..00000000 --- a/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.23.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils - -EXTRAVERSION="redcore-lts" -KV_FULL="${PV}-${EXTRAVERSION}" -KV_MAJOR="5.10" - -DESCRIPTION="Redcore Linux Kernel Sources (LTS)" -HOMEPAGE="https://redcorelinux.org" -SRC_URI="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz" - -KEYWORDS="~amd64" -LICENSE="GPL-2" -SLOT="${PVR}" -IUSE="" - -RESTRICT="strip mirror" -DEPEND=" - app-arch/lz4 - app-arch/xz-utils - sys-devel/autoconf - sys-devel/bc - sys-devel/make" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/"${KV_MAJOR}"-ath10k-be-quiet.patch - "${FILESDIR}"/"${KV_MAJOR}"-enable_alx_wol.patch - "${FILESDIR}"/"${KV_MAJOR}"-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch - "${FILESDIR}"/"${KV_MAJOR}"-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch - "${FILESDIR}"/"${KV_MAJOR}"-acpi-use-kern_warning_even_when_error.patch - "${FILESDIR}"/"${KV_MAJOR}"-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch - "${FILESDIR}"/"${KV_MAJOR}"-nvme-Patriot_Viper_VPN100-QUIRK_IGNORE_DEV_SUBNQN.patch - "${FILESDIR}"/"${KV_MAJOR}"-do_not_bug_the_next_18-years.patch - "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-use-debug-for-debug-infos.patch - "${FILESDIR}"/"${KV_MAJOR}"-compress-modules-zstd-support.patch - "${FILESDIR}"/"${KV_MAJOR}"-fix-bootconfig-makefile.patch - "${FILESDIR}"/"${KV_MAJOR}"-apic_vector-spam-in-debug-mode-only.patch - "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-fix-5e003982b07ae.patch - "${FILESDIR}"/"${KV_MAJOR}"-enable-new-amd-energy-driver-for-all-ryzen.patch - "${FILESDIR}"/"${KV_MAJOR}"-amd_iommu_init_info.patch - "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch - "${FILESDIR}"/"${KV_MAJOR}"-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch - "${FILESDIR}"/"${KV_MAJOR}"-add-amd-sfh-hid_driver.patch - "${FILESDIR}"/"${KV_MAJOR}"-add-sbtsi_driver.patch - "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch - "${FILESDIR}"/"${KV_MAJOR}"-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch - "${FILESDIR}"/"${KV_MAJOR}"-linux-hardened.patch - "${FILESDIR}"/"${KV_MAJOR}"-uksm-linux-hardened.patch -) - -S="${WORKDIR}"/linux-"${PV}" - -pkg_setup() { - export KBUILD_BUILD_USER="nexus" - export KBUILD_BUILD_HOST="nexus.redcorelinux.org" - - export REAL_ARCH="$ARCH" - unset ARCH ; unset LDFLAGS #will interfere with Makefile if set -} - -src_prepare() { - default - emake mrproper - sed -ri "s|^(EXTRAVERSION =).*|\1 -${EXTRAVERSION}|" Makefile - cp "${FILESDIR}"/"${KV_MAJOR}"-amd64.config .config - rm -rf $(find . -type f|grep -F \.orig) -} - -src_compile() { - emake prepare modules_prepare -} - -src_install() { - dodir usr/src/linux-"${KV_FULL}" - cp -ax "${S}"/* "${D}"usr/src/linux-"${KV_FULL}" -} - -_kernel_sources_delete() { - rm -rf "${ROOT}"usr/src/linux-"${KV_FULL}" -} - -pkg_postrm() { - _kernel_sources_delete -} diff --git a/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.25.ebuild b/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.25.ebuild new file mode 100644 index 00000000..1a760748 --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.25.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils + +EXTRAVERSION="redcore-lts" +KV_FULL="${PV}-${EXTRAVERSION}" +KV_MAJOR="5.10" + +DESCRIPTION="Redcore Linux Kernel Sources (LTS)" +HOMEPAGE="https://redcorelinux.org" +SRC_URI="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz" + +KEYWORDS="~amd64" +LICENSE="GPL-2" +SLOT="${PVR}" +IUSE="" + +RESTRICT="strip mirror" +DEPEND=" + app-arch/lz4 + app-arch/xz-utils + sys-devel/autoconf + sys-devel/bc + sys-devel/make" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/"${KV_MAJOR}"-ath10k-be-quiet.patch + "${FILESDIR}"/"${KV_MAJOR}"-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch + "${FILESDIR}"/"${KV_MAJOR}"-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch + "${FILESDIR}"/"${KV_MAJOR}"-acpi-use-kern_warning_even_when_error.patch + "${FILESDIR}"/"${KV_MAJOR}"-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch + "${FILESDIR}"/"${KV_MAJOR}"-nvme-Patriot_Viper_VPN100-QUIRK_IGNORE_DEV_SUBNQN.patch + "${FILESDIR}"/"${KV_MAJOR}"-do_not_bug_the_next_18-years.patch + "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-use-debug-for-debug-infos.patch + "${FILESDIR}"/"${KV_MAJOR}"-compress-modules-zstd-support.patch + "${FILESDIR}"/"${KV_MAJOR}"-fix-bootconfig-makefile.patch + "${FILESDIR}"/"${KV_MAJOR}"-apic_vector-spam-in-debug-mode-only.patch + "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-fix-5e003982b07ae.patch + "${FILESDIR}"/"${KV_MAJOR}"-enable-new-amd-energy-driver-for-all-ryzen.patch + "${FILESDIR}"/"${KV_MAJOR}"-amd_iommu_init_info.patch + "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch + "${FILESDIR}"/"${KV_MAJOR}"-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch + "${FILESDIR}"/"${KV_MAJOR}"-add-amd-sfh-hid_driver.patch + "${FILESDIR}"/"${KV_MAJOR}"-add-sbtsi_driver.patch + "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch + "${FILESDIR}"/"${KV_MAJOR}"-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch + "${FILESDIR}"/"${KV_MAJOR}"-linux-hardened.patch + "${FILESDIR}"/"${KV_MAJOR}"-uksm-linux-hardened.patch +) + +S="${WORKDIR}"/linux-"${PV}" + +pkg_setup() { + export KBUILD_BUILD_USER="nexus" + export KBUILD_BUILD_HOST="nexus.redcorelinux.org" + + export REAL_ARCH="$ARCH" + unset ARCH ; unset LDFLAGS #will interfere with Makefile if set +} + +src_prepare() { + default + emake mrproper + sed -ri "s|^(EXTRAVERSION =).*|\1 -${EXTRAVERSION}|" Makefile + cp "${FILESDIR}"/"${KV_MAJOR}"-amd64.config .config + rm -rf $(find . -type f|grep -F \.orig) +} + +src_compile() { + emake prepare modules_prepare +} + +src_install() { + dodir usr/src/linux-"${KV_FULL}" + cp -ax "${S}"/* "${D}"usr/src/linux-"${KV_FULL}" +} + +_kernel_sources_delete() { + rm -rf "${ROOT}"usr/src/linux-"${KV_FULL}" +} + +pkg_postrm() { + _kernel_sources_delete +} -- cgit v1.2.3