- 16 5月, 2012 4 次提交
-
-
由 Franky Lin 提交于
Both brcmf_sdcard_cfg_read/write and brcmf_sdcard_reg_read/write are used as interface functions for register access of SDIO WiFi dongle. A unified interface brcmf_sdio_regr/w is introduced in this patch in order to simplify the interface and keep the complexity within the lower layer. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
brcmf_sdcard_set_sbaddr_window configures 3 registers on SDIO function misc bank to change current silicon backplane programming window. This patch makes it call brcmf_sdioh_request_byte directly in order to prepare for the write register interface unification. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
The size parameter for brcmf_sdcard_reg_write is always 4. Remove it to make the code cleaner. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
The size parameter for brcmf_sdcard_reg_read is always 4. Remove it to make the code neat. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 09 5月, 2012 4 次提交
-
-
由 Franky Lin 提交于
Some sdio host controllers do not support real in band interrupt. Software polling mode as a replacement is not fast enough for high throughput and new features. Also some in band interrupts do not support host wake up on embedded platform even when they are real physical interrupts. Therefore out of band (oob) interrupt mechanism is implemented for these scenarios. To provide oob irq number and flags used for irq registration in brcmfmac, a platform device contains irq resource must be registered in board specific code. Here is an example of platform device structure: struct resource brcmf_sdio_res[] = { { .start = GPIO_BRCMF_SDIO_OOB_NUM, .end = GPIO_BRCMF_SDIO_OOB_NUM, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, } }; struct platform_device brcmf_sdio_device = { .name = "brcmf_sdio_pd", .id = -1, .num_resources = ARRAY_SIZE(brcmf_sdio_res), .resource = brcmf_sdio_res, }; Reviewed-by: Npieter-paul giesberts <pieterpg@broadcom.com> Reviewed-by: Narend van spriel <arend@broadcom.com> Signed-off-by: Nfranky lin <frankyl@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
For out of band interrupt which is going to be introduced shortly, the interrupt register function must be called after firmware is downloaded. This patch moves it from brcmf_sdbrcm_probe to brcmf_sdbrcm_bus_init. Reviewed-by: Npieter-paul giesberts <pieterpg@broadcom.com> Reviewed-by: Narend van spriel <arend@broadcom.com> Signed-off-by: Nfranky lin <frankyl@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
Bus state should be the correct flag for bus status. Use it instead of result from previous function call for backplane clock switch. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
brcmf_sdbrcm_isr doesn't access to the dongle through SDIO bus. Stop releasing and claiming host in irq handler to eliminate any potential risk. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 03 5月, 2012 1 次提交
-
-
由 Franky Lin 提交于
dpc_tl_lock is not acquired in the error handle code for bus down. But it's unlocked using spin_unlock_irqrestore after finishing task list walk down. Grab the lock before breaking the loop to avoid a double unlock. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 28 4月, 2012 2 次提交
-
-
由 Franky Lin 提交于
dpc takes care of all data packets transmissions for sdio function 2. It is possible that it misses some completion events when the traffic is heavy or it's running on a slow cpu. A linked list is introduced to make sure dpc is invoked whenever needed. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
SDIO stack doesn't have a structure for function 0. The structure pointer stored in card->sdio_func[0] is actually for function 1. With current implementation the register read/write is applied to function 1. This pathch fixes the issue. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Reviewed-by: NFlorian Fainelli <florian@openwrt.org> Reviewed-by: NJohannes Berg <johannes@sipsolutions.net> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 14 4月, 2012 5 次提交
-
-
由 Franky Lin 提交于
BRCMF_C_UP is the command that asks the firmware to enable RF of dongle. Some firmware initialization steps must be performed during RF is down. Postpone BRCMF_C_UP firing until brcmf_netdev_open get called to ensure firmware have enough time to finish initialization. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
A header extension is introduced in the received frame to provide extra space for dongle information. This won't affect current supported chipset since the data_offset is 0. But it's necessary for adding support for future chipset. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The primary net device was registered with a primary mac address and upon IFUP it was set to match the actual mac address from the device. This patch changes that and moves the brcmf_add_if() call to the common part of the driver. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The mac address for the primary interface was handled different from the other interfaces. The code has been restructured such that the brcmf_net_attach function treats the interfaces equal. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The function brcmf_net_attach() is only used within dhd_linux.c so it does not need to be extern. This patch makes the function static. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 14 3月, 2012 1 次提交
-
-
由 Johannes Berg 提交于
The cfg80211_inform_bss() timestamp argument is intended to be the TSF, not any form of host timestamp. Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 06 3月, 2012 5 次提交
-
-
由 Arend van Spriel 提交于
As indicated in [1] on netdev mailing list drivers should not block on the init_module() syscall. This patch defers the actual driver registration to a workqueue so the init_module() syscall can complete without delay. [1] http://article.gmane.org/gmane.linux.network/217729/Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The module init function of brcmfmac calls init functions for SDIO and USB doing driver registration. This patch removes terminating the module init when a driver registration for one host interface fails. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The usb code defines a structure for counting statistics. However, it should use the statistics entry provided in brcmf_bus as that is exposed to the net_device. The usb private statistics counter only remains with counters for control packets between driver and usb device. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
Several fields in this structure are only written once or not used at all. Remaining two fields have been moved and brcmf_usb_attrib definition has been removed. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: NKan Yan <kanyan@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
In brcmf_usb_up() the variable devinfo was checked for being a NULL pointer, but this can not happen. Also the check was done after dereferencing the pointer. This patch removes the check. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: NKan Yan <kanyan@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 28 2月, 2012 2 次提交
-
-
由 Rafał Miłecki 提交于
Also don't use so generic BRCMF_USB_FW_NAME as we may need different firmwares in the future. Signed-off-by: NRafał Miłecki <zajec5@gmail.com> Acked-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Dan Carpenter 提交于
There were two dereferencing before checking for NULL static checker complaints in this new file. The list cursor is never NULL so that check can be removed. I moved the other dereference after the check. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 23 2月, 2012 10 次提交
-
-
由 Arend van Spriel 提交于
The sdio driver part uses firmware name brcmfmac.bin. With addition of usb this name is too generic. This patch renames the filename to brcmfmac-sdio.bin. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
This patch extends the use of the brcmfmac driver with support for chipsets with a USB host interface. The first chipsets supported are the bcm43235, bcm43236, and bcm43238 for which firmware has been submitted. This driver change has been successfully built for x86, x86_64, ppc64, arm_le, and mips_be. It has been tested successfully on x86 and x86_64. Cc: M. Lambert <lambertm@westman.wave.ca> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: NKan Yan <kanyan@broadcom.com> Reviewed-by: NAlwin Beukers <alwin@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
This function is executed within irq context. The call spin_unlock_irq does enable interrupts which is not desired in the irq context. This patch replaces them using the spin_loc_irqsave and spin_unlock_irqrestore functions. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NKan Yan <kanyan@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
As the function is called from atomic context it should not do the kzalloc call with GFP_KERNEL. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NKan Yan <kanyan@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The bus state is updated in the sdio bus init function, but it is better to do it when the brcmf_bus_start() function is completed successfully. The brcmf_netdev_open() function will return -EAGAIN until the state is updated instead of calling brcmf_bus_start() to avoid reentering that function. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The function brcmf_sdbrcm_bus_init() always returned success except for firmware download failure. However, also when enabling SDIO function 2 is failing the function should return failure. This patch fixes that. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The module_init/exit functions are moved to dhd_linux.c to prepare for supporting multiple host interface types. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
The fields bus_priv and drvr are defined as void pointer. It is preferred to have specific types for compiler type checking. To prepare for other bus types the bus_priv field is defined as a union containing the sdio bus private structure reference. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Franky Lin 提交于
INIT_WORK only gets called after brcmf_proto_attach returns success. This dependency should be annotated in brcmf_detach to avoid any error. Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: NFranky Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Arend van Spriel 提交于
This patch resolves the following smatch issues: wl_cfg80211.c +1377 brcmf_cfg80211_connect(65) warn: min_t truncates here '(sme->ssid_len)' (4294967295 vs 9223372036854775807) dhd_sdio.c +1275 brcmf_sdbrcm_rxglom(156) warn: min_t truncates here '(pfirst->len)' (2147483647 vs 4294967295) dhd_sdio.c +1457 brcmf_sdbrcm_rxglom(338) warn: min_t truncates here '(pfirst->len)' (2147483647 vs 4294967295) bcmsdh_sdmmc.c +300 brcmf_sdioh_request_buffer(10) warn: variable dereferenced before check 'pkt' (see line 295) Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: NArend van Spriel <arend@broadcom.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 13 2月, 2012 1 次提交
-
-
由 Joe Perches 提交于
Booleans should not be compared to true or false but be directly tested or tested with !. Done via cocci script: @@ bool t; @@ - t == true + t @@ bool t; @@ - t != true + !t @@ bool t; @@ - t == false + !t @@ bool t; @@ - t != false + t Signed-off-by: NJoe Perches <joe@perches.com> Reviewed-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 25 1月, 2012 5 次提交
-
-
由 Joe Perches 提交于
Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Joe Perches 提交于
Convert printks to pr_<level> Prefix logging with pr_fmt. Use ##__VA_ARGS__ in some WL_ logging macros. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Joe Perches 提交于
Use pr_debug to allow dynamic debugging to work. Move an #endif to allow brcmf_dbg_hex_dump to be outside the #if/#endif block. Move a const char* declaration to be inside a pr_debug so the function doesn't need a #if/#endif block. Don't use temporaries in debugging functions so the code can be optimized away. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Joe Perches 提交于
This doesn't do anything anymore. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Joe Perches 提交于
Reduce the number of #ifdef DEBUG uses by adding a dbg_hex_dump routine which has the appropriate #ifdef DEBUG test. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-