311-brcmfmac-dhd_sdio.c-use-existing-atomic_or-primitive.patch 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. From: Vineet Gupta <[email protected]>
  2. Date: Thu, 9 Jul 2015 13:43:18 +0530
  3. Subject: [PATCH] brcmfmac: dhd_sdio.c: use existing atomic_or primitive
  4. There's already a generic implementation so use that instead.
  5. Signed-off-by: Kalle Valo <[email protected]>
  6. ---
  7. --- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
  8. +++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
  9. @@ -2564,15 +2564,6 @@ static inline void brcmf_sdio_clrintr(st
  10. }
  11. }
  12. -static void atomic_orr(int val, atomic_t *v)
  13. -{
  14. - int old_val;
  15. -
  16. - old_val = atomic_read(v);
  17. - while (atomic_cmpxchg(v, old_val, val | old_val) != old_val)
  18. - old_val = atomic_read(v);
  19. -}
  20. -
  21. static int brcmf_sdio_intr_rstatus(struct brcmf_sdio *bus)
  22. {
  23. struct brcmf_core *buscore;
  24. @@ -2595,7 +2586,7 @@ static int brcmf_sdio_intr_rstatus(struc
  25. if (val) {
  26. brcmf_sdiod_regwl(bus->sdiodev, addr, val, &ret);
  27. bus->sdcnt.f1regdata++;
  28. - atomic_orr(val, &bus->intstatus);
  29. + atomic_or(val, &bus->intstatus);
  30. }
  31. return ret;
  32. @@ -2712,7 +2703,7 @@ static void brcmf_sdio_dpc(struct brcmf_
  33. /* Keep still-pending events for next scheduling */
  34. if (intstatus)
  35. - atomic_orr(intstatus, &bus->intstatus);
  36. + atomic_or(intstatus, &bus->intstatus);
  37. brcmf_sdio_clrintr(bus);