[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <554B22B0.6080708@broadcom.com>
Date: Thu, 7 May 2015 10:30:40 +0200
From: Arend van Spriel <arend@...adcom.com>
To: "Fu, Zhonghui" <zhonghui.fu@...ux.intel.com>
CC: "brudley@...adcom.com" <brudley@...adcom.com>,
Franky Lin <frankyl@...adcom.com>,
"meuleman@...adcom.com" <meuleman@...adcom.com>,
Kalle Valo <kvalo@...eaurora.org>,
"pieterpg@...adcom.com" <pieterpg@...adcom.com>,
"hdegoede@...hat.com" <hdegoede@...hat.com>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"brcm80211-dev-list@...adcom.com" <brcm80211-dev-list@...adcom.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] brcmfmac: prohibit ACPI power management for brcmfmac
driver
On 05/07/15 04:07, Fu, Zhonghui wrote:
>
> Hi,
>
> Any comments are welcome.
Having some time to spare while spending my vacation so here it is.
> Thanks,
> Zhonghui
>
> On 2015/5/3 23:26, Fu, Zhonghui wrote:
>> ACPI will manage WiFi chip's power state during suspend/resume
>> process on some tablet platforms(such as ASUS T100TA). This is
>> not supported by brcmfmac driver now, and the context of WiFi
>> chip will be damaged after resume. This patch informs ACPI not
>> to manage WiFi chip's power state.
>>
>> Signed-off-by: Zhonghui Fu<zhonghui.fu@...ux.intel.com>
>> ---
>> Changes in v2:
>> - Another implementation.
>>
>> drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 8 ++++++++
>> 1 files changed, 8 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
>> index 9b508bd..6c519e3 100644
>> --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
>> +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
>> @@ -33,6 +33,7 @@
>> #include<linux/suspend.h>
>> #include<linux/errno.h>
>> #include<linux/module.h>
>> +#include<linux/acpi.h>
>> #include<net/cfg80211.h>
>>
>> #include<defs.h>
>> @@ -1114,6 +1115,8 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
>> int err;
>> struct brcmf_sdio_dev *sdiodev;
>> struct brcmf_bus *bus_if;
>> + struct device *dev;
>> + struct acpi_device *adev;
>>
>> brcmf_dbg(SDIO, "Enter\n");
>> brcmf_dbg(SDIO, "Class=%x\n", func->class);
>> @@ -1121,6 +1124,11 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func,
>> brcmf_dbg(SDIO, "sdio device ID: 0x%04x\n", func->device);
>> brcmf_dbg(SDIO, "Function#: %d\n", func->num);
>>
>> + /* prohibit ACPI power management for this device */
>> + dev =&func->dev;
>> + if (adev = ACPI_COMPANION(dev))
While I understand what you are doing here it makes someone reading the
code wonder whether a mistake has been made. So I would prefer to have
the assignment separate for the if statement.
For the update patch you may add:
Acked-by: Arend van Spriel <arend@...adcom.com>
Regards,
Arend
>> + adev->flags.power_manageable = 0;
>> +
>> /* Consume func num 1 but dont do anything with it. */
>> if (func->num == 1)
>> return 0;
>> -- 1.7.1
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists