Message ID | 20211216032612.3798573-1-davidm@egauge.net |
---|---|
State | Superseded |
Headers | show |
Series | wilc1000: Convert static "chipid" variable to device-local variable | expand |
David Mosberger-Tang <davidm@egauge.net> wrote: > Move "chipid" variable into the per-driver structure so the code > doesn't break if more than one wilc1000 module is present. > > Signed-off-by: David Mosberger-Tang <davidm@egauge.net> Failed to apply, please rebase on top of wireless-drivers-next. Recorded preimage for 'drivers/net/wireless/microchip/wilc1000/netdev.h' error: Failed to merge in the changes. hint: Use 'git am --show-current-patch' to see the failed patch Applying: wilc1000: Convert static "chipid" variable to device-local variable Using index info to reconstruct a base tree... M drivers/net/wireless/microchip/wilc1000/netdev.h M drivers/net/wireless/microchip/wilc1000/wlan.c Falling back to patching base and 3-way merge... Auto-merging drivers/net/wireless/microchip/wilc1000/wlan.c Auto-merging drivers/net/wireless/microchip/wilc1000/netdev.h CONFLICT (content): Merge conflict in drivers/net/wireless/microchip/wilc1000/netdev.h Patch failed at 0001 wilc1000: Convert static "chipid" variable to device-local variable Patch set to Changes Requested.
diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.h b/drivers/net/wireless/microchip/wilc1000/netdev.h index b9a88b3e322f..41a92a1368ab 100644 --- a/drivers/net/wireless/microchip/wilc1000/netdev.h +++ b/drivers/net/wireless/microchip/wilc1000/netdev.h @@ -212,6 +212,7 @@ struct wilc { s8 mac_status; struct clk *rtc_clk; bool initialized; + u32 chipid; int dev_irq_num; int close; u8 vif_num; diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c index 1aa4236a2fe4..c8e103500235 100644 --- a/drivers/net/wireless/microchip/wilc1000/wlan.c +++ b/drivers/net/wireless/microchip/wilc1000/wlan.c @@ -1443,31 +1443,30 @@ static int init_chip(struct net_device *dev) u32 wilc_get_chipid(struct wilc *wilc, bool update) { - static u32 chipid; - u32 tempchipid = 0; + u32 chipid = 0; u32 rfrevid = 0; - if (chipid == 0 || update) { - wilc->hif_func->hif_read_reg(wilc, WILC_CHIPID, &tempchipid); + if (wilc->chipid == 0 || update) { + wilc->hif_func->hif_read_reg(wilc, WILC_CHIPID, &chipid); wilc->hif_func->hif_read_reg(wilc, WILC_RF_REVISION_ID, &rfrevid); - if (!is_wilc1000(tempchipid)) { - chipid = 0; - return chipid; + if (!is_wilc1000(chipid)) { + wilc->chipid = 0; + return wilc->chipid; } - if (tempchipid == WILC_1000_BASE_ID_2A) { /* 0x1002A0 */ + if (chipid == WILC_1000_BASE_ID_2A) { /* 0x1002A0 */ if (rfrevid != 0x1) - tempchipid = WILC_1000_BASE_ID_2A_REV1; - } else if (tempchipid == WILC_1000_BASE_ID_2B) { /* 0x1002B0 */ + chipid = WILC_1000_BASE_ID_2A_REV1; + } else if (chipid == WILC_1000_BASE_ID_2B) { /* 0x1002B0 */ if (rfrevid == 0x4) - tempchipid = WILC_1000_BASE_ID_2B_REV1; + chipid = WILC_1000_BASE_ID_2B_REV1; else if (rfrevid != 0x3) - tempchipid = WILC_1000_BASE_ID_2B_REV2; + chipid = WILC_1000_BASE_ID_2B_REV2; } - chipid = tempchipid; + wilc->chipid = chipid; } - return chipid; + return wilc->chipid; } int wilc_wlan_init(struct net_device *dev)
Move "chipid" variable into the per-driver structure so the code doesn't break if more than one wilc1000 module is present. Signed-off-by: David Mosberger-Tang <davidm@egauge.net> --- .../net/wireless/microchip/wilc1000/netdev.h | 1 + .../net/wireless/microchip/wilc1000/wlan.c | 27 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-)