325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. From 2d6edad4b2da1991f74e7b02053eeb4a043b887f Mon Sep 17 00:00:00 2001
  2. From: Arend Van Spriel <[email protected]>
  3. Date: Tue, 20 Feb 2018 00:14:25 +0100
  4. Subject: [PATCH] brcmfmac: remove duplicate pointer variable from
  5. brcmf_sdio_firmware_callback()
  6. In brcmf_sdio_firmware_callback() two pointer variables were used
  7. pointing to the same construct. Get rid of sdiodev variable.
  8. Signed-off-by: Arend van Spriel <[email protected]>
  9. Signed-off-by: Kalle Valo <[email protected]>
  10. ---
  11. .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 37 +++++++++++-----------
  12. 1 file changed, 18 insertions(+), 19 deletions(-)
  13. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  14. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  15. @@ -4039,9 +4039,8 @@ static void brcmf_sdio_firmware_callback
  16. void *nvram, u32 nvram_len)
  17. {
  18. struct brcmf_bus *bus_if = dev_get_drvdata(dev);
  19. - struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
  20. - struct brcmf_sdio *bus = sdiodev->bus;
  21. - struct brcmf_sdio_dev *sdiod = bus->sdiodev;
  22. + struct brcmf_sdio_dev *sdiod = bus_if->bus_priv.sdio;
  23. + struct brcmf_sdio *bus = sdiod->bus;
  24. struct brcmf_core *core = bus->sdio_core;
  25. u8 saveclk;
  26. @@ -4061,7 +4060,7 @@ static void brcmf_sdio_firmware_callback
  27. bus->sdcnt.tickcnt = 0;
  28. brcmf_sdio_wd_timer(bus, true);
  29. - sdio_claim_host(sdiodev->func1);
  30. + sdio_claim_host(sdiod->func1);
  31. /* Make sure backplane clock is on, needed to generate F2 interrupt */
  32. brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
  33. @@ -4069,9 +4068,9 @@ static void brcmf_sdio_firmware_callback
  34. goto release;
  35. /* Force clocks on backplane to be sure F2 interrupt propagates */
  36. - saveclk = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, &err);
  37. + saveclk = brcmf_sdiod_readb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR, &err);
  38. if (!err) {
  39. - brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
  40. + brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR,
  41. (saveclk | SBSDIO_FORCE_HT), &err);
  42. }
  43. if (err) {
  44. @@ -4083,7 +4082,7 @@ static void brcmf_sdio_firmware_callback
  45. brcmf_sdiod_writel(sdiod, core->base + SD_REG(tosbmailboxdata),
  46. SDPCM_PROT_VERSION << SMB_DATA_VERSION_SHIFT, NULL);
  47. - err = sdio_enable_func(sdiodev->func2);
  48. + err = sdio_enable_func(sdiod->func2);
  49. brcmf_dbg(INFO, "enable F2: err=%d\n", err);
  50. @@ -4095,10 +4094,10 @@ static void brcmf_sdio_firmware_callback
  51. bus->hostintmask, NULL);
  52. - brcmf_sdiod_writeb(sdiodev, SBSDIO_WATERMARK, 8, &err);
  53. + brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK, 8, &err);
  54. } else {
  55. /* Disable F2 again */
  56. - sdio_disable_func(sdiodev->func2);
  57. + sdio_disable_func(sdiod->func2);
  58. goto release;
  59. }
  60. @@ -4106,7 +4105,7 @@ static void brcmf_sdio_firmware_callback
  61. brcmf_sdio_sr_init(bus);
  62. } else {
  63. /* Restore previous clock setting */
  64. - brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
  65. + brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR,
  66. saveclk, &err);
  67. }
  68. @@ -4114,7 +4113,7 @@ static void brcmf_sdio_firmware_callback
  69. /* Allow full data communication using DPC from now on. */
  70. brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA);
  71. - err = brcmf_sdiod_intr_register(sdiodev);
  72. + err = brcmf_sdiod_intr_register(sdiod);
  73. if (err != 0)
  74. brcmf_err("intr register failed:%d\n", err);
  75. }
  76. @@ -4123,16 +4122,16 @@ static void brcmf_sdio_firmware_callback
  77. if (err != 0)
  78. brcmf_sdio_clkctl(bus, CLK_NONE, false);
  79. - sdio_release_host(sdiodev->func1);
  80. + sdio_release_host(sdiod->func1);
  81. /* Assign bus interface call back */
  82. - sdiodev->bus_if->dev = sdiodev->dev;
  83. - sdiodev->bus_if->ops = &brcmf_sdio_bus_ops;
  84. - sdiodev->bus_if->chip = bus->ci->chip;
  85. - sdiodev->bus_if->chiprev = bus->ci->chiprev;
  86. + sdiod->bus_if->dev = sdiod->dev;
  87. + sdiod->bus_if->ops = &brcmf_sdio_bus_ops;
  88. + sdiod->bus_if->chip = bus->ci->chip;
  89. + sdiod->bus_if->chiprev = bus->ci->chiprev;
  90. /* Attach to the common layer, reserve hdr space */
  91. - err = brcmf_attach(sdiodev->dev, sdiodev->settings);
  92. + err = brcmf_attach(sdiod->dev, sdiod->settings);
  93. if (err != 0) {
  94. brcmf_err("brcmf_attach failed\n");
  95. goto fail;
  96. @@ -4142,10 +4141,10 @@ static void brcmf_sdio_firmware_callback
  97. return;
  98. release:
  99. - sdio_release_host(sdiodev->func1);
  100. + sdio_release_host(sdiod->func1);
  101. fail:
  102. brcmf_dbg(TRACE, "failed: dev=%s, err=%d\n", dev_name(dev), err);
  103. - device_release_driver(&sdiodev->func2->dev);
  104. + device_release_driver(&sdiod->func2->dev);
  105. device_release_driver(dev);
  106. }