Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phy: make phy_device members pause and asym_pause bitfield bits

We can reduce the size of struct phy_device a little by switching
the type of members pause and asym_pause from int to a single bit.
As C99 is supported now, we can use type bool for the bitfield members,
what provides us with the benefit of the usual implicit bool conversions.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/764e9a31-b40b-4dc9-b808-118192a16d87@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Heiner Kallweit and committed by
Jakub Kicinski
617a0dd2 f005b348

+20 -20
+10 -10
drivers/net/phy/phy-c45.c
··· 485 485 mii_t1_adv_l_mod_linkmode_t(phydev->lp_advertising, 0); 486 486 mii_t1_adv_m_mod_linkmode_t(phydev->lp_advertising, 0); 487 487 488 - phydev->pause = 0; 489 - phydev->asym_pause = 0; 488 + phydev->pause = false; 489 + phydev->asym_pause = false; 490 490 491 491 return 0; 492 492 } ··· 498 498 return val; 499 499 500 500 mii_t1_adv_l_mod_linkmode_t(phydev->lp_advertising, val); 501 - phydev->pause = val & MDIO_AN_T1_ADV_L_PAUSE_CAP ? 1 : 0; 502 - phydev->asym_pause = val & MDIO_AN_T1_ADV_L_PAUSE_ASYM ? 1 : 0; 501 + phydev->pause = val & MDIO_AN_T1_ADV_L_PAUSE_CAP; 502 + phydev->asym_pause = val & MDIO_AN_T1_ADV_L_PAUSE_ASYM; 503 503 504 504 val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_T1_LP_M); 505 505 if (val < 0) ··· 536 536 phydev->lp_advertising); 537 537 mii_10gbt_stat_mod_linkmode_lpa_t(phydev->lp_advertising, 0); 538 538 mii_adv_mod_linkmode_adv_t(phydev->lp_advertising, 0); 539 - phydev->pause = 0; 540 - phydev->asym_pause = 0; 539 + phydev->pause = false; 540 + phydev->asym_pause = false; 541 541 542 542 return 0; 543 543 } ··· 551 551 return val; 552 552 553 553 mii_adv_mod_linkmode_adv_t(phydev->lp_advertising, val); 554 - phydev->pause = val & LPA_PAUSE_CAP ? 1 : 0; 555 - phydev->asym_pause = val & LPA_PAUSE_ASYM ? 1 : 0; 554 + phydev->pause = val & LPA_PAUSE_CAP; 555 + phydev->asym_pause = val & LPA_PAUSE_ASYM; 556 556 557 557 /* Read the link partner's 10G advertisement */ 558 558 val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_10GBT_STAT); ··· 1171 1171 1172 1172 phydev->speed = SPEED_UNKNOWN; 1173 1173 phydev->duplex = DUPLEX_UNKNOWN; 1174 - phydev->pause = 0; 1175 - phydev->asym_pause = 0; 1174 + phydev->pause = false; 1175 + phydev->asym_pause = false; 1176 1176 1177 1177 if (phydev->autoneg == AUTONEG_ENABLE) { 1178 1178 ret = genphy_c45_read_lpa(phydev);
+8 -8
drivers/net/phy/phy_device.c
··· 825 825 826 826 dev->speed = SPEED_UNKNOWN; 827 827 dev->duplex = DUPLEX_UNKNOWN; 828 - dev->pause = 0; 829 - dev->asym_pause = 0; 828 + dev->pause = false; 829 + dev->asym_pause = false; 830 830 dev->link = 0; 831 831 dev->port = PORT_TP; 832 832 dev->interface = PHY_INTERFACE_MODE_GMII; ··· 2092 2092 { 2093 2093 u16 ctl; 2094 2094 2095 - phydev->pause = 0; 2096 - phydev->asym_pause = 0; 2095 + phydev->pause = false; 2096 + phydev->asym_pause = false; 2097 2097 2098 2098 ctl = mii_bmcr_encode_fixed(phydev->speed, phydev->duplex); 2099 2099 ··· 2500 2500 phydev->master_slave_state = MASTER_SLAVE_STATE_UNSUPPORTED; 2501 2501 phydev->speed = SPEED_UNKNOWN; 2502 2502 phydev->duplex = DUPLEX_UNKNOWN; 2503 - phydev->pause = 0; 2504 - phydev->asym_pause = 0; 2503 + phydev->pause = false; 2504 + phydev->asym_pause = false; 2505 2505 2506 2506 if (phydev->is_gigabit_capable) { 2507 2507 err = genphy_read_master_slave(phydev); ··· 2554 2554 /* Signal link has changed */ 2555 2555 *changed = true; 2556 2556 phydev->duplex = DUPLEX_UNKNOWN; 2557 - phydev->pause = 0; 2558 - phydev->asym_pause = 0; 2557 + phydev->pause = false; 2558 + phydev->asym_pause = false; 2559 2559 2560 2560 if (phydev->autoneg == AUTONEG_ENABLE && phydev->autoneg_complete) { 2561 2561 lpa = phy_read(phydev, MII_LPA);
+2 -2
include/linux/phy.h
··· 666 666 /* The most recently read link state */ 667 667 unsigned link:1; 668 668 unsigned autoneg_complete:1; 669 + bool pause:1; 670 + bool asym_pause:1; 669 671 670 672 /* Interrupts are enabled */ 671 673 unsigned interrupts:1; ··· 692 690 int speed; 693 691 int duplex; 694 692 int port; 695 - int pause; 696 - int asym_pause; 697 693 u8 master_slave_get; 698 694 u8 master_slave_set; 699 695 u8 master_slave_state;