2
0

325-v4.17-0006-brcmfmac-remove-brcmf_bus_started-from-bus-api.patch 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. From de2a3027f6f15e2f6558dc4d178282ccc1f054db Mon Sep 17 00:00:00 2001
  2. From: Arend Van Spriel <[email protected]>
  3. Date: Tue, 20 Feb 2018 00:14:23 +0100
  4. Subject: [PATCH] brcmfmac: remove brcmf_bus_started() from bus api
  5. No longer needed to call this in bus layer so make it static and call
  6. it in the last phase of brcmf_attach() instead.
  7. Reviewed-by: Hante Meuleman <[email protected]>
  8. Reviewed-by: Pieter-Paul Giesberts <[email protected]>
  9. Reviewed-by: Franky Lin <[email protected]>
  10. Signed-off-by: Arend van Spriel <[email protected]>
  11. Signed-off-by: Kalle Valo <[email protected]>
  12. ---
  13. .../net/wireless/broadcom/brcm80211/brcmfmac/bus.h | 1 -
  14. .../wireless/broadcom/brcm80211/brcmfmac/core.c | 14 +++++++----
  15. .../wireless/broadcom/brcm80211/brcmfmac/pcie.c | 20 +---------------
  16. .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 10 ++------
  17. .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c | 28 ++++------------------
  18. 5 files changed, 16 insertions(+), 57 deletions(-)
  19. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
  20. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
  21. @@ -253,7 +253,6 @@ void brcmf_dev_reset(struct device *dev)
  22. /* Configure the "global" bus state used by upper layers */
  23. void brcmf_bus_change_state(struct brcmf_bus *bus, enum brcmf_bus_state state);
  24. -int brcmf_bus_started(struct device *dev);
  25. s32 brcmf_iovar_data_set(struct device *dev, char *name, void *data, u32 len);
  26. void brcmf_bus_add_txhdrlen(struct device *dev, uint len);
  27. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
  28. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
  29. @@ -1022,11 +1022,10 @@ static int brcmf_revinfo_read(struct seq
  30. return 0;
  31. }
  32. -int brcmf_bus_started(struct device *dev)
  33. +static int brcmf_bus_started(struct brcmf_pub *drvr)
  34. {
  35. int ret = -1;
  36. - struct brcmf_bus *bus_if = dev_get_drvdata(dev);
  37. - struct brcmf_pub *drvr = bus_if->drvr;
  38. + struct brcmf_bus *bus_if = drvr->bus_if;
  39. struct brcmf_if *ifp;
  40. struct brcmf_if *p2p_ifp;
  41. @@ -1043,7 +1042,7 @@ int brcmf_bus_started(struct device *dev
  42. brcmf_bus_change_state(bus_if, BRCMF_BUS_UP);
  43. /* do bus specific preinit here */
  44. - ret = brcmf_bus_preinit(ifp->drvr->bus_if);
  45. + ret = brcmf_bus_preinit(bus_if);
  46. if (ret < 0)
  47. goto fail;
  48. @@ -1163,7 +1162,12 @@ int brcmf_attach(struct device *dev, str
  49. /* attach firmware event handler */
  50. brcmf_fweh_attach(drvr);
  51. - return ret;
  52. + ret = brcmf_bus_started(drvr);
  53. + if (ret != 0) {
  54. + brcmf_err("dongle is not responding: err=%d\n", ret);
  55. + goto fail;
  56. + }
  57. + return 0;
  58. fail:
  59. brcmf_detach(dev);
  60. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
  61. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
  62. @@ -1581,24 +1581,6 @@ static void brcmf_pcie_release_resource(
  63. }
  64. -static int brcmf_pcie_attach_bus(struct brcmf_pciedev_info *devinfo)
  65. -{
  66. - int ret;
  67. -
  68. - /* Attach to the common driver interface */
  69. - ret = brcmf_attach(&devinfo->pdev->dev, devinfo->settings);
  70. - if (ret) {
  71. - brcmf_err("brcmf_attach failed\n");
  72. - } else {
  73. - ret = brcmf_bus_started(&devinfo->pdev->dev);
  74. - if (ret)
  75. - brcmf_err("dongle is not responding\n");
  76. - }
  77. -
  78. - return ret;
  79. -}
  80. -
  81. -
  82. static u32 brcmf_pcie_buscore_prep_addr(const struct pci_dev *pdev, u32 addr)
  83. {
  84. u32 ret_addr;
  85. @@ -1735,7 +1717,7 @@ static void brcmf_pcie_setup(struct devi
  86. init_waitqueue_head(&devinfo->mbdata_resp_wait);
  87. brcmf_pcie_intr_enable(devinfo);
  88. - if (brcmf_pcie_attach_bus(devinfo) == 0)
  89. + if (brcmf_attach(&devinfo->pdev->dev, devinfo->settings) == 0)
  90. return;
  91. brcmf_pcie_bus_console_read(devinfo);
  92. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  93. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  94. @@ -3422,6 +3422,8 @@ static int brcmf_sdio_bus_preinit(struct
  95. if (bus->rxbuf)
  96. bus->rxblen = value;
  97. + brcmf_sdio_debugfs_create(bus);
  98. +
  99. /* the commands below use the terms tx and rx from
  100. * a device perspective, ie. bus:txglom affects the
  101. * bus transfers from device to host.
  102. @@ -4136,14 +4138,6 @@ static void brcmf_sdio_firmware_callback
  103. goto fail;
  104. }
  105. - brcmf_sdio_debugfs_create(bus);
  106. -
  107. - err = brcmf_bus_started(dev);
  108. - if (err != 0) {
  109. - brcmf_err("dongle is not responding\n");
  110. - goto fail;
  111. - }
  112. -
  113. /* ready */
  114. return;
  115. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
  116. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
  117. @@ -1155,27 +1155,6 @@ static const struct brcmf_bus_ops brcmf_
  118. .get_fwname = brcmf_usb_get_fwname,
  119. };
  120. -static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo)
  121. -{
  122. - int ret;
  123. -
  124. - /* Attach to the common driver interface */
  125. - ret = brcmf_attach(devinfo->dev, devinfo->settings);
  126. - if (ret) {
  127. - brcmf_err("brcmf_attach failed\n");
  128. - return ret;
  129. - }
  130. -
  131. - ret = brcmf_bus_started(devinfo->dev);
  132. - if (ret)
  133. - goto fail;
  134. -
  135. - return 0;
  136. -fail:
  137. - brcmf_detach(devinfo->dev);
  138. - return ret;
  139. -}
  140. -
  141. static void brcmf_usb_probe_phase2(struct device *dev, int ret,
  142. const struct firmware *fw,
  143. void *nvram, u32 nvlen)
  144. @@ -1203,7 +1182,8 @@ static void brcmf_usb_probe_phase2(struc
  145. if (ret)
  146. goto error;
  147. - ret = brcmf_usb_bus_setup(devinfo);
  148. + /* Attach to the common driver interface */
  149. + ret = brcmf_attach(devinfo->dev, devinfo->settings);
  150. if (ret)
  151. goto error;
  152. @@ -1253,7 +1233,7 @@ static int brcmf_usb_probe_cb(struct brc
  153. }
  154. if (!brcmf_usb_dlneeded(devinfo)) {
  155. - ret = brcmf_usb_bus_setup(devinfo);
  156. + ret = brcmf_attach(devinfo->dev, devinfo->settings);
  157. if (ret)
  158. goto fail;
  159. /* we are done */
  160. @@ -1456,7 +1436,7 @@ static int brcmf_usb_resume(struct usb_i
  161. brcmf_dbg(USB, "Enter\n");
  162. if (!devinfo->wowl_enabled)
  163. - return brcmf_usb_bus_setup(devinfo);
  164. + return brcmf_attach(devinfo->dev, devinfo->settings);
  165. devinfo->bus_pub.state = BRCMFMAC_USB_STATE_UP;
  166. brcmf_usb_rx_fill_all(devinfo);