An error occurred fetching the project authors.
- 03 Nov, 2017 1 commit
-
-
Colin Ian King authored
The pointer sci is assigned but never read, hence it is redundant and can be removed. Cleans up clang warning: drivers/spi/spi-s3c64xx.c:791:2: warning: Value stored to 'sci' is never read Signed-off-by:
Colin Ian King <colin.king@canonical.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 13 Feb, 2017 1 commit
-
-
Andi Shyti authored
Commit a92e7c3d ("spi: s3c64xx: consider the case when the CS line is not connected") introduced an inconsistency between the binding, where the disconnected CS line was marked as 'no-cs-readback', and the driver. The driver is erroneously checking for that attribute with property name of 'broken-cs'. Check for 'no-cs-readback' in the driver as well. Fixes: a92e7c3d ("spi: s3c64xx: consider the case when the CS line is not connected") Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Reviewed-by:
Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by:
Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
-
- 17 Jan, 2017 1 commit
-
-
Dan Carpenter authored
We accidentally mixed up freeing the rx and tx channels which would a leak and an oops. Fixes: 3d63a47a ("spi: s3c64xx: Don't request/release DMA channels for each SPI transfer") Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Acked-by:
Marek Szyprowski <m.szyprowski@samsung.com> Acked-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 09 Jan, 2017 1 commit
-
-
Marek Szyprowski authored
Requesting a DMA channel might be a time consuming operation, so there is no need to acquire and release DMA channel for each SPI transfer. DMA channels can be requested during driver probe and kept all the time, also because there are no shared nor dynamically allocated channels on Samsung S3C/S5P/Exynos platforms. While moving dma_requrest_slave_channel calls, lets switch to dma_request_slave_channel_reason(), which returns error codes on failure, which can be properly propagated to the caller (this for example defers SPI probe when DMA controller is not yet available). Signed-off-by:
Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by:
Andi Shyti <andi.shyti@samsung.com> Tested-by:
Andi Shyti <andi.shyti@samsung.com> Reviewed-by:
Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 17 Nov, 2016 1 commit
-
-
Sylwester Nawrocki authored
All related platforms use either devicetree or the DMA slave map API for mapping DMA channels to DMA slaves so we can now stop using platform_data for passing DMA details. Signed-off-by:
Sylwester Nawrocki <s.nawrocki@samsung.com> Tested-by:
Andi Shyti <andi.shyti@samsung.com> Tested-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by:
Mark Brown <broonie@kernel.org> Acked-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Vinod Koul <vinod.koul@intel.com>
-
- 14 Jul, 2016 5 commits
-
-
Andi Shyti authored
Patch a9e93e8 has erroneously removed some comments which are important to understand why the bus frequency is multiplied by two during the spi transfer. Reword the previous comment to a more appropriate message. Suggested-by:
Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Reviewed-by:
Michael Turquette <mturquette@baylibre.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Andi Shyti authored
The new compatible is related to the Samsung Exynos5433 SoC. The difference between the previous is that in the exynos5433 the SPI controller is driven by three clocks instead of only one. The new clock (ioclk) is controlling the input/output clock whenever the controller is slave or master. The presence of the clock line is detected from the compatibility structure (exynos5433_spi_port_config) as a boolean value. The probe function checks whether the ioclk is present and if so, it acquires. The runtime suspend and resume functions will handle the clock enabling and disabling as well. Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Reviewed-by:
Michael Turquette <mturquette@baylibre.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Andi Shyti authored
If clk_prepare_enable() fails do not return -EBUSY but use the value provided by the function itself. Suggested-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Reviewed-by:
Michael Turquette <mturquette@baylibre.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Andi Shyti authored
The goto labels of the style of err4: err3: err2: err1: are complex to insert in between new errors without renaming all the goto statements. Replace the errX naming style to meaningful names in order to make it easier to insert new goto exit points. Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by:
Michael Turquette <mturquette@baylibre.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Wei Yongjun authored
Once a spi_master_get() call succeeds, we need an additional spi_master_put() call to free the memory, otherwise we will leak a reference to master. Fix by removing the unnecessary spi_master_get() call. Signed-off-by:
Wei Yongjun <yongjun_wei@trendmicro.com.cn> Reviewed-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 07 Jul, 2016 1 commit
-
-
Andi Shyti authored
When the clock is coming from the cmu it is not required to be disabled and then re-enabled in order to change the rate. Besides, some exynos chipsets (e.g. exynos5433) do not deliver any to the SFR if one from the pclk ("spi" in this case) or sclk ("busclk") is disabled. Remove the clock disabling/enabling to avoid falling into this situation. Signed-off-by:
Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 04 Jul, 2016 1 commit
-
-
Dan Carpenter authored
It generates a static checker warning if an if statement isn't indented. I think the code is fine except for the white space issue. Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 29 Jun, 2016 4 commits
-
-
Andi Shyti authored
The whole function is inside an 'if' statement ("!is_polling(sdd)"). Check the opposite of that statement at the beginning and exit, this way we can have one level less of indentation. Remove the goto paths as they are redundant. Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Andi Shyti authored
At the start of the transfer, the spi_config function is called twice, the first time when the 3c64xx_spi_prepare_message is called and the second time with the s3c64xx_spi_transfer_one, both called from the spi framework. Remove the first call at the prepare message because in that point we don't have the imformation about "bit per word" and frequency. Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Andi Shyti authored
When the CS line is not connected, it is not needed to enable or disable the chip selection functionality from the s3c64xx devices in order to perform a transfer. Set the CS controller logically always enabled already during initialization (by writing '0' in the S3C64XX_SPI_SLAVE_SEL register) and never disable it. Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Andi Shyti authored
To enable/disable the CS line, the driver performs a writel in the S3C64XX_SPI_SLAVE_SEL registers. Group the register's configuration in a single function. Signed-off-by:
Andi Shyti <andi.shyti@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 30 Dec, 2015 1 commit
-
-
Sylwester Nawrocki authored
s5pv210 and exynos4 are now DT only platforms hence these entries can now be safely removed from the match table. Signed-off-by:
Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 18 Nov, 2015 1 commit
-
-
Arnd Bergmann authored
The s3c64xx platform data already contains a pointer to the DMA filter function, but not to the associated data. This simplifies the code and makes it more generic by passing the data along with the filter function like we do for other drivers. Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 16 Sep, 2015 1 commit
-
-
Jarkko Nikula authored
SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by:
Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 14 Sep, 2015 4 commits
-
-
Heiner Kallweit authored
Simplify s3c64xx_spi_remove by replacing the clock disabling with calling runtime PM suspend which does the same. Waking up the device if it was suspended wouldn't be strictly needed for this driver but using pm_runtime_get_sync is cleaner and makes s3c64xx_spi_remove more consistent with the runtime PM handling in s3c64xx_spi_setup. pm_runtime_force_suspend does most of the work for us: disabling the clocks, disabling runtime PM and setting it to "suspended" state. Signed-off-by:
Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Heiner Kallweit authored
The runtime PM suspend / resume handlers take care of the enabling/ disabling the clocks already. Therefore replace the duplicated clock handling with pm_runtime_force_suspend/resume. Signed-off-by:
Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Heiner Kallweit authored
Extend the driver to make full use of runtime PM autosuspend. Before only the SPI core was instructed to use autosuspend by setting master->auto_runtime_pm. Nevertheless due to the missing pm_runtime_use_autosuspend call autosuspend wasn't active. Signed-off-by:
Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Heiner Kallweit authored
Fix missing runtime PM cleanup if driver registration fails. Signed-off-by:
Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by:
Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 28 Jul, 2015 1 commit
-
-
Michal Suchanek authored
Printing the FIFO depth does not add much noise in the log and can be useful for debugging transfer issues. Signed-off-by:
Michal Suchanek <hramrach@gmail.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 01 May, 2015 1 commit
-
-
Krzysztof Kozlowski authored
The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by:
Krzysztof Kozlowski <k.kozlowski.k@gmail.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 24 Feb, 2015 1 commit
-
-
Andre Przywara authored
The Exynos 7 arm64 support now allows the S3C64xx SPI driver to be compiled into an ARM64 kernel, so the cast from the [rt]x_dmach int variable to a void* in this driver now triggers a warning. Add a long cast to silence the compiler. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 22 Dec, 2014 1 commit
-
-
Jarkko Nikula authored
Signed-off-by:
Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 12 Dec, 2014 1 commit
-
-
Rafael J. Wysocki authored
After commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to depend on CONFIG_PM. Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under drivers/spi/. Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by:
Mark Brown <broonie@kernel.org>
-
- 07 Dec, 2014 1 commit
-
-
Mark Brown authored
The device already asks the core to hold a runtime PM reference while it is active so it is redundant to open code that in the driver itself. Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 26 Nov, 2014 1 commit
-
-
Padmavathi Venna authored
Exynos7 SPI controller supports only the auto Selection of CS toggle mode and Exynos7 SoC includes six SPI controllers. Add support for these changes in Exynos7 SPI controller driver. Signed-off-by:
Padmavathi Venna <padma.v@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 20 Oct, 2014 1 commit
-
-
Wolfram Sang authored
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 17 Jul, 2014 2 commits
-
-
Naveen Krishna Chatradhi authored
The s3c64xx SPI driver uses a custom DT binding to specify the GPIO used to drive the chip select (CS) line instead of using the generic "cs-gpios" property already defined in: Documentation/devicetree/bindings/spi/spi-bus.txt. It's unfortunate that drivers are not using standard bindings and creating custom ones instead but in most cases this can't be changed without breaking Device Tree backward compatibility. But in the case of this driver, its DT binding has been broken for more than a year. Since after commit (dated June, 21 2013): 3146beec ("spi: s3c64xx: Added provision for dedicated cs pin") DT backward compatibility was broken and nobody noticed until now when the commit was reverted. So it seems to be safe to change the binding to use the standard SPI "cs-gpios" property instead of using a custom one just for this driver. This patch also allows boards that don't use a GPIO pin for the CS to work with the driver since the SPI core will take care of setting spi->cs_gpio to -ENOENT if a board wants to use the built in CS instead of a GPIO as explained in the SPI bus DT binding: Documentation/devicetree/bindings/spi/spi-bus.txt. For non-DT platforms, spi->cs_gpio will be set to -ENOENT as well unless they specify a GPIO pin in their platform data. So both native and GPIO chip select is also supported for legacy boards. The above use case was what motivated commit 3146beec which broke the DT binding backward compatibility in the first place. Signed-off-by:
Naveen Krishna Chatradhi <ch.naveen@samsung.com> [javier.martinez@collabora.co.uk: split changes and improve commit message] Signed-off-by:
Javier Martinez Canillas <javier.martinez@collabora.co.uk> Reviewed-by:
Tomasz Figa <t.figa@samsung.com> Signed-off-by:
Mark Brown <broonie@linaro.org>
-
Javier Martinez Canillas authored
This reverts commit 3146beec. This commit resulted in a DT backward compatibility breakage. Some devices use the native chip select (CS) instead of a GPIO pin to drive the CS line. But the SPI driver made it mandatory to specify a GPIO pin in the SPI device node controller-data. So, using the built-in CS was not possible with the driver. Commit 3146beec tried to fix that by adding a "cs-gpio" property which could be defined in the SPI device node to make the driver request the GPIO from the controller-data node. Unfortunately that changed the old DT binding semantics since now it's mandatory to have the "cs-gpio" property defined in the SPI device node in order to use a GPIO pin to drive the CS. As an example, a SPI device was defined before the commit with: spi@12d20000 { slave-node@0 { controller-data { cs-gpio = <&gpb1 2 0>; } } } and after the commit, the following DTS snippet must be used: spi@12d20000 { cs-gpio; slave-node@0 { controller-data { cs-gpio = <&gpb1 2 0>; } } } So, after commit 3146beec the driver does not look for the GPIO by default and it only looks for it if the top level "cs-gpio" property is defined while the default used to be the opposite. To always request the GPIO defined in the controller-data node. This means that old FDT that of course didn't have this added "cs-gpio" DT property in the SPI node broke after this change. The offending commit can't be reverted cleanly since more than a year have passed and other changes were made in the meantime but this patch partially reverts the driver to it's original state so old FDT can work again. This patch will break Device Trees that were relying on the new behavior of course but the patch should be reverted because: a) There aren't DTS in mainline that use this new property. b) They were relying on a behavior that broke DT compatibility. c) The new binding is awkard, needing two properties with the same name (cs-gpio) on different nodes is confusing at least. d) The new property was not added to the DT binding doc: Documentation/devicetree/bindings/spi/spi-samsung.txt Signed-off-by:
Javier Martinez Canillas <javier.martinez@collabora.co.uk> Reviewed-by:
Tomasz Figa <t.figa@samsung.com> Signed-off-by:
Mark Brown <broonie@linaro.org>
-
- 12 Jul, 2014 1 commit
-
-
Kukjin Kim authored
This patch removes sp5c100 related spi because of no more support s5pc100 SoC. Cc: Mark Brown <broonie@linaro.org> Signed-off-by:
Kukjin Kim <kgene.kim@samsung.com>
-
- 07 Jul, 2014 1 commit
-
-
Kukjin Kim authored
This patch removes s5p64x0 related spi because of no more support for s5p64x0 SoCs. Meanwhile, cleanup SPI DT bindings for s5p6440-spi, it should be s5p64x0-spi instead. Cc: Mark Brown <broonie@linaro.org> Signed-off-by:
Kukjin Kim <kgene.kim@samsung.com>
-
- 29 Apr, 2014 1 commit
-
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Mark Brown <broonie@linaro.org>
-
- 14 Apr, 2014 1 commit
-
-
Axel Lin authored
Signed-off-by:
Axel Lin <axel.lin@ingics.com> Signed-off-by:
Mark Brown <broonie@linaro.org>
-
- 25 Feb, 2014 1 commit
-
-
Axel Lin authored
spi core will handle validating transfer length since commit 4d94bd21 "spi: core: Validate length of the transfers in message". So remove the same checking in this driver. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Signed-off-by:
Mark Brown <broonie@linaro.org>
-
- 07 Feb, 2014 2 commits
-
-
Mark Brown authored
Remove functions that only had an effect when using S3C_DMA and inline dmaengine_terminate_all() since it's pointless to have a function which expands to a single function call. Signed-off-by:
Mark Brown <broonie@linaro.org>
-
Mark Brown authored
All the platforms which use the old S3C_DMA API have now been converted to dmaengine so we can remove the legacy code from the driver, simplifying maintenance. Signed-off-by:
Mark Brown <broonie@linaro.org>
-