From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-lf0-f68.google.com ([209.85.215.68]:33273 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751540AbdBBMRa (ORCPT ); Thu, 2 Feb 2017 07:17:30 -0500 Received: by mail-lf0-f68.google.com with SMTP id x1so1239126lff.0 for ; Thu, 02 Feb 2017 04:17:24 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Kalle Valo Cc: Arend van Spriel , Franky Lin , Hante Meuleman , Pieter-Paul Giesberts , Franky Lin , linux-wireless@vger.kernel.org, brcm80211-dev-list.pdl@broadcom.com, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH V2 3/7] brcmfmac: pcie: store private pointer to struct brcmf_pub Date: Thu, 2 Feb 2017 13:16:55 +0100 Message-Id: <20170202121659.21130-3-zajec5@gmail.com> (sfid-20170202_131734_711779_1FA775D0) In-Reply-To: <20170202121659.21130-1-zajec5@gmail.com> References: <20170202121659.21130-1-zajec5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Rafał Miłecki Getting this pointer in PCIe code is not trivial and requires using dev_get_drvdata helper which adds extra line of code. Having access to this struct is useful for using generic stuff and e.g. improving logging messages. Signed-off-by: Rafał Miłecki --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c index 6fae4cf3f6ab..8a3c6e2e4b38 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -265,6 +265,7 @@ struct brcmf_pciedev_info { void (*write_ptr)(struct brcmf_pciedev_info *devinfo, u32 mem_offset, u16 value); struct brcmf_mp_device *settings; + struct brcmf_pub *pub; }; struct brcmf_pcie_ringbuf { @@ -1564,14 +1565,18 @@ static void brcmf_pcie_release_resource(struct brcmf_pciedev_info *devinfo) static int brcmf_pcie_attach_bus(struct brcmf_pciedev_info *devinfo) { + struct device *dev = &devinfo->pdev->dev; + struct brcmf_bus *bus = dev_get_drvdata(dev); int ret; /* Attach to the common driver interface */ - ret = brcmf_attach(&devinfo->pdev->dev, devinfo->settings); + ret = brcmf_attach(dev, devinfo->settings); if (ret) { brcmf_err("brcmf_attach failed\n"); } else { - ret = brcmf_bus_started(&devinfo->pdev->dev); + devinfo->pub = bus->drvr; + + ret = brcmf_bus_started(dev); if (ret) brcmf_err("dongle is not responding\n"); } -- 2.11.0