- 17 5月, 2014 1 次提交
-
-
由 George Spelvin 提交于
This eliminates a 1-bit left shift in every single caller, and makes the inner loop of the CRC computation more efficient. Renamed crc7 to crc7_be (big-endian) since the interface changed. Also purged #include <linux/crc7.h> from files that don't use it at all. Signed-off-by: NGeorge Spelvin <linux@horizon.com> Reviewed-by: NPavel Machek <pavel@ucw.cz> Acked-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 01 5月, 2014 1 次提交
-
-
由 Christian Engelmayer 提交于
Coverity CID 986698 reports leakage of struct wlcore_platdev_data in the probe functions of both the SPI/SDIO interfaces. The structure passed to platform_device_add_data() is dynamically allocated and only freed in the error paths, however, platform_device_add_data() adds a copy of the platform specific data to the device. Move the temporary struct that is kmemdup'ed to the stack. This issue exists since afb43e6d (wlcore: remove if_ops from platform_data). Signed-off-by: NChristian Engelmayer <cengelma@gmx.at> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 04 3月, 2014 1 次提交
-
-
由 Silvan Jegen 提交于
Instead of an explicit cast, use the min_t macro. Signed-off-by: NSilvan Jegen <s.jegen@gmail.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 27 9月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. This is a cosmetic change to make the code simpler and enhance the readability. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 17 6月, 2013 1 次提交
-
-
由 Peter Huewe 提交于
Removing some boilerplate by using module_spi_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: NPeter Huewe <peterhuewe@gmx.de> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 12 2月, 2013 1 次提交
-
-
由 Luciano Coelho 提交于
In commit 0d2e7a5c (wireless: Remove unnecessary alloc/OOM messages, alloc cleanups) OOM messages after alloc were removed from the wlcore modules. Commit afb43e6d (wlcore: remove if_ops from platform_data) reintroduced a couple of those. This patch removes them. Signed-off-by: NLuciano Coelho <coelho@ti.com> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 08 2月, 2013 3 次提交
-
-
由 Luciano Coelho 提交于
The platform devices can be created by both wlcore_sdio and wlcore_spi. Theoretically, if both are connected to the same board, there will be a conflict. Reported-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Just a small cleanup to use the pointer provided by wlcore_pdev_data instead of using a separate pointer then copying. Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
We can't pass pointers from the platform data to the modules, because with DT it cannot be done. Those pointers are not set by the board files anyway. It's the bus modules that set them, so they can be safely removed from the platform data without changing any board files. Create a new structure that the bus modules pass to wlcore. This structure contains the if_ops pointers and a pointer to the actual platform data. Signed-off-by: NLuciano Coelho <coelho@ti.com> Reviewed-by: NFelipe Balbi <balbi@ti.com>
-
- 05 2月, 2013 1 次提交
-
-
由 Joe Perches 提交于
alloc failures already get standardized OOM messages and a dump_stack. Convert kzalloc's with multiplies to kcalloc. Convert kmalloc's with multiplies to kmalloc_array. Remove now unused variables. Remove unnecessary memset after kzalloc->kcalloc. Whitespace cleanups for these changes. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 07 12月, 2012 1 次提交
-
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Luciano Coelho <coelho@ti.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 17 11月, 2012 2 次提交
-
-
In corner case for wl12xx_spi_raw_write() when len == SPI_AGGR_BUFFER_SIZE we don't setup correctly spi transfer_list. Next we will have garbage and strange errors reported by SPI framework (eg. wrong speed_hz, failed to transfer one message from queue) when iterate transfer_list. Signed-off-by: NJanusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: NLuciano Coelho <luca@coelho.fi>
-
由 Wei Yongjun 提交于
platform_device_unregister() only calls platform_device_del() and platform_device_put(), thus use platform_device_unregister() to simplify the code. Also the documents in platform.c shows that platform_device_del and platform_device_put must _only_ be externally called in error cases. All other usage is a bug. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NLuciano Coelho <luca@coelho.fi>
-
- 27 9月, 2012 1 次提交
-
-
由 Arik Nemtsov 提交于
Limit SPI transmissions to the wl12xx max buffer size, as only 12xx was tested with SPI. This allows us to remove the global aggregation buffer constant. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <luca@coelho.fi>
-
- 11 7月, 2012 1 次提交
-
-
由 Luciano Coelho 提交于
We have some API changes and new features in the new firmwares that are not compatible with older drivers. Increase the version of the FW filenames for wl12xx to 5. Additionally, remove the duplicate definitions from wlcore_i.h and remove the MODULE_FIRMWARE macro calls from the SDIO and SPI modules, since they're irrelevant there. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 22 6月, 2012 2 次提交
-
-
由 Ido Yariv 提交于
All io functions' return values should be propagated and handled. Add a __must_check annotation to verify that the return values are checked and to avoid future mistakes. Signed-off-by: NIdo Yariv <ido@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Ido Yariv 提交于
While bus operations may fail, either due to HW or FW issues, these are never propagated to higher layers. As a result, the core driver has no way of knowing that the operations failed, and will only recover if high level logic requires it (e.g. no command completion). Change read/write bus operations to return errors to let higher layer functionality handle these. Signed-off-by: NIdo Yariv <ido@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 12 4月, 2012 4 次提交
-
-
由 Luciano Coelho 提交于
Add register tables support in wlcore, add some new IO functions to read and write to chip-specific register and data addresses. Move some common register values from wl12xx to wlcore and add the registers table to wl12xx. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
In order to add chip-specific operations and prepare for future elements that need to be set by the lower driver, move the wl1271 structure to the wlcore.h file and add an empty placeholder for the operations structure. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Rename the wl12xx driver directory to wlcore as an initial step towards the split of the driver into wlcore and wl12xx. We just rename the directory first to keep git blame happy. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Move wl12xx and wl1251 modules into a new drivers/net/wireless/ti directory. Add a TI WLAN Kconfig option and Makefile to support this change. Signed-off-by: NLuciano Coelho <coelho@ti.com> Cc: John W. Linville <linville@tuxdriver.com>
-
- 15 2月, 2012 2 次提交
-
-
由 Eliad Peller 提交于
wl12xx uses different fw for single-role and multi-role scenarios (due to lack of space, some of the fw advanced features are disabled in the multi-role fw). Add checks on add_interfae and remove_interface in order to determine whether a fw switch is needed (and initiate recovery in this case). Signed-off-by: NEliad Peller <eliad@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Eliad Peller 提交于
A special PLT firmware is used for calibration. Add multiple fw support by introducing a new fw_type member, representing the currently saved fw (the actual fw state can be determined by wl->state). Signed-off-by: NGery Kahn <geryk@ti.com> Signed-off-by: NEliad Peller <eliad@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 29 11月, 2011 1 次提交
-
-
由 Lars-Peter Clausen 提交于
In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // <smpl> @@ identifier _driver; @@ struct spi_driver _driver = { .driver = { - .bus = &spi_bus_type, }, }; // </smpl> Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Cc: Dan Williams <dcbw@redhat.com> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: Christian Lamparter <chunkeey@googlemail.com> Cc: Luciano Coelho <coelho@ti.com> Cc: libertas-dev@lists.infradead.org Cc: linux-wireless@vger.kernel.org Acked-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 12 10月, 2011 1 次提交
-
-
由 Luciano Coelho 提交于
There's no need to have the bus name included in the platform device name that we create. The core driver doesn't need to know about the type of bus it uses. Any differences between the buses that need to be handled differently in the core, can be passed in the platform data (as the pwr_in_suspend boolean does). Use "wl12xx" for the device name in both bus drivers. Rename the platform driver name to "wl12xx_driver", just to differentiate from the platform device names. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 11 10月, 2011 5 次提交
-
-
由 Luciano Coelho 提交于
To prevent a useless dependency between the spi module and the wl12xx module, we need to replace the wl1271_error macros with dev_err. At the same time, remove the SPI data hexdump, since this produces way too much data and is not particularly useful. There's no print_hex_dump() equivalent for dynamic debug, so it's hard to control when the dumps are printed out. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Separate the debugging macros and other definitions to a new debug.h file. This is be needed because the sdio and spi modules don't need to depend on the wl12xx module anymore, but still need to include wl12xx.h. Currently they do depend on it, because of the debugging global that wl12xx exports. A future patch will remove this dependency. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Felipe Balbi 提交于
Move all common parts from sdio.c and spi.c to main.c, since they now can be handled as part of the platform driver. Signed-off-by: NFelipe Balbi <balbi@ti.com> [forward-ported, cleaned-up and rephrased commit message] [added a bunch of fixes and a new pdata element] [moved some new code into main.c as well] Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Felipe Balbi 提交于
The platform device will be used to match the platform driver that will be implemented by the core module. Signed-off-by: NFelipe Balbi <balbi@ti.com> [forward-ported, cleaned-up and rephrased commit message] [call platform_device_add() instead of platform_device_register()] [store alloc'ed device platform directly in glue->core] [fixed the length of memset(res...)] Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Felipe Balbi 提交于
In order to fully abstract the bus, we need to save the device structure *beside* wl1271, instead of inside it. This will help re-structuring the driver so that we avoid the duplicated code in the bus modules. Signed-off-by: NFelipe Balbi <balbi@ti.com> [forward-ported and cleaned up and rephrased commit message] Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 22 8月, 2011 1 次提交
-
-
由 Arik Nemtsov 提交于
Firmware >= 6/7.3.0.0.75 (wl127x/wl128x) supports both STA and AP roles. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NEliad Peller <eliad@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 27 6月, 2011 1 次提交
-
-
由 Felipe Balbi 提交于
Those have little value. Remove those to make the driver less noisy. Signed-off-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 07 6月, 2011 1 次提交
-
-
由 Alexey Dobriyan 提交于
* remove interrupt.g inclusion from netdevice.h -- not needed * fixup fallout, add interrupt.h and hardirq.h back where needed. Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 19 4月, 2011 5 次提交
-
-
由 Ido Yariv 提交于
Some platforms are incapable of triggering on level interrupts. Add a platform quirks member in the platform data structure, as well as an edge interrupt quirk which can be set on such platforms. When the interrupt is requested with IRQF_TRIGGER_RISING, IRQF_ONESHOT cannot be used, as we might miss interrupts that occur after the FW status is cleared and before the threaded interrupt handler exits. Moreover, when IRQF_ONESHOT is not set, iterating more than once in the threaded interrupt handler introduces a few race conditions between this handler and the hardirq handler. Currently this is worked around by limiting the loop to one iteration only. This workaround has an impact on performance. To remove to this restriction, the race conditions will need to be addressed. Signed-off-by: NIdo Yariv <ido@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Choose a different FW for AP-mode wl127x and wl128x chips, base on chip ID at boot time. Signed-off-by: NArik Nemtsov <arik@wizery.com> Reviewed-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Shahar Levi 提交于
Boot sequence support FREF clock and TCXO clock. WL128x has two clocks input - TCXO and FREF. TCXO is the main clock of the device, while FREF is used to sync between the GPS and the cellular modem. Auto-detection checks where TCXO is 32.736MHz or 16.368MHz, in that case the FREF will be used as the WLAN/BT main clock. [Use clock enumeration as defined in linux/wl12xx.h; remove unnecessary else block in wl128x_switch_fref; remove unnecessary change in main.c; remove some unnecessary debug prints and comments; fix potential use of uninitialized value (pll_config) -- Luca] Signed-off-by: NShahar Levi <shahar_levi@ti.com> Reviewed-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Add the the set_block_size op in the SDIO and in the SPI modules. Since it is only used with SDIO, just explicitly set the op to NULL in spi.c Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Shahar Levi 提交于
Definitions to support wl128x: - New FW file name - Chip ID - New PLL Configuration Algorithm macros that will be used at wl128x boot stage - Rename NVS macro name: wl127x and wl128x are using the same NVS file name. However, the ini parameters between them are different. The driver will validate the correct NVS size in wl1271_boot_upload_nvs(). [Cleaned up some of the definitions. -- Luca] Signed-off-by: NShahar Levi <shahar_levi@ti.com> Reviewed-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 05 4月, 2011 1 次提交
-
-
由 Luciano Coelho 提交于
The MODULE_AUTHOR() macro in the main module (wl12xx) has been updated to reflect one of the author's new email address, but the wl12xx_spi and wl12xx_sdio modules haven't been updated. This patches updates them. Signed-off-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 03 3月, 2011 1 次提交
-
-
由 Ido Yariv 提交于
The interrupt of the wl12xx is a level interrupt in nature, since the interrupt line is not auto-reset. However, since resetting the interrupt requires bus transactions, this cannot be done from an interrupt context. Thus, requesting a level interrupt would require to disable the irq and re-enable it after the HW is acknowledged. Since we now request a threaded irq, this can also be done by specifying the IRQF_ONESHOT flag. Triggering on an edge can be problematic in some platforms, if the sampling frequency is not sufficient for detecting very frequent interrupts. In case an interrupt is missed, the driver will hang as the interrupt line will stay high until it is acknowledged by the driver, which will never happen. Fix this by requesting a level triggered interrupt, with the IRQF_ONESHOT flag. Signed-off-by: NIdo Yariv <ido@wizery.com> Reviewed-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-