diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2019-06-03 21:24:38 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-03 15:38:43 -0700 |
commit | 2956870e0ae392c45e0cad70768aecb8b846b3d9 (patch) | |
tree | d5d274ddb3e728081bf2d8f9717a6a48aef1cdae /drivers/net/ethernet/realtek | |
parent | 0a616b327db0676bdf55df0b532406a3fd29a75a (diff) |
r8169: simplify rtl_fw_write_firmware
Similar to rtl_fw_data_ok() we can simplify the code by moving
incrementing the index to the for loop initialization.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/realtek')
-rw-r--r-- | drivers/net/ethernet/realtek/r8169.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 12e2c82eb0b3..5eb0ab0fe7e3 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -2451,7 +2451,7 @@ static void rtl_fw_write_firmware(struct rtl8169_private *tp, int predata = 0, count = 0; size_t index; - for (index = 0; index < pa->size; ) { + for (index = 0; index < pa->size; index++) { u32 action = le32_to_cpu(pa->code[index]); u32 data = action & 0x0000ffff; u32 regno = (action & 0x0fff0000) >> 16; @@ -2464,18 +2464,15 @@ static void rtl_fw_write_firmware(struct rtl8169_private *tp, case PHY_READ: predata = fw_read(tp, regno); count++; - index++; break; case PHY_DATA_OR: predata |= data; - index++; break; case PHY_DATA_AND: predata &= data; - index++; break; case PHY_BJMPN: - index -= regno; + index -= (regno + 1); break; case PHY_MDIO_CHG: if (data == 0) { @@ -2486,39 +2483,33 @@ static void rtl_fw_write_firmware(struct rtl8169_private *tp, fw_read = rtl_fw->mac_mcu_read; } - index++; break; case PHY_CLEAR_READCOUNT: count = 0; - index++; break; case PHY_WRITE: fw_write(tp, regno, data); - index++; break; case PHY_READCOUNT_EQ_SKIP: - index += (count == data) ? 2 : 1; + if (count == data) + index++; break; case PHY_COMP_EQ_SKIPN: if (predata == data) index += regno; - index++; break; case PHY_COMP_NEQ_SKIPN: if (predata != data) index += regno; - index++; break; case PHY_WRITE_PREVIOUS: fw_write(tp, regno, predata); - index++; break; case PHY_SKIPN: - index += regno + 1; + index += regno; break; case PHY_DELAY_MS: mdelay(data); - index++; break; } } |