- 07 6月, 2017 2 次提交
-
-
由 Arvind Yadav 提交于
clk_prepare_enable() can fail here and we must check its return value. Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Arvind Yadav 提交于
If CONFIG_OF is disable, it'll through compilation warning. drivers/spi/spi-davinci.c: In function ‘spi_davinci_get_pdata’: drivers/spi/spi-davinci.c:880:2: warning: return makes pointer from integer without a cast [enabled by default] return -ENODEV; drivers/spi/spi-davinci.c: In function ‘davinci_spi_probe’: drivers/spi/spi-davinci.c:919:7: warning: assignment makes integer from pointer without a cast [enabled by default] ret = spi_davinci_get_pdata(pdev, dspi); Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com> Changes in v2: Add fix for both the warning. Changes in v1: It has fix for first warning. Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 18 3月, 2017 1 次提交
-
-
由 Frode Isaksen 提交于
Add explanation about using the the rx buffer as the dummy tx buffer. Signed-off-by: NFrode Isaksen <fisaksen@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 16 3月, 2017 3 次提交
-
-
由 Frode Isaksen 提交于
Using vmalloc'ed buffers will fail since daVinci has VIVT cache and only the kernel lowmem virtual address is invalidated/flushed when performing DMA. The virtual address returned from vmalloc() is not invalidated/flushed and may contain stale data when returning from spi_sync(). Fixes errors when running UBIFS over SPI NOR. Revert this when all upper layer users of vmalloc'ed buffers sent to SPI handles cache flushing/invalidating. Signed-off-by: NFrode Isaksen <fisaksen@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Frode Isaksen 提交于
Higher bitrate and lower CPU load if using PIO in this case. Signed-off-by: NFrode Isaksen <fisaksen@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Frode Isaksen 提交于
When doing rx-only transfer, the transfer will fail if the number of SG entries exceeds 20. This happens because the eDMA DMA engine is limited to 20 SG entries in one transaction, and when the DMA transcation is resumed (which takes > 150us), rx errors occurs because the slave is still transmitting. Fix this by using the rx buffer as the dummy tx buffer, so that resuming the rx transcation happens at the same time as resuming the tx transcation. Signed-off-by: NFrode Isaksen <fisaksen@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 3月, 2017 2 次提交
-
-
由 Fabien Parent 提交于
When booting with DT the SPI driver is always using the SPI_IO_TYPE_INTR mode to transfer data even if DMA channels are defined in the DT. This commit changes the behaviour to select the SPI_IO_TYPE_DMA mode if DMA channels are defined in the DT and will keep SPI_IO_TYPE_INTR if the channels are not defined in it. Signed-off-by: NFabien Parent <fparent@baylibre.com> Signed-off-by: NFrode Isaksen <fisaksen@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Fabien Parent 提交于
Uppers layers like MTD can pass vmalloc'd buffers to the SPI driver, and the current implementation will fail to map these kind of buffers. The SPI framework is able to detect the best way to handle and map buffers. This commit updates the davinci SPI driver in order to use the SPI framework to handle the DMA mapping of buffers coming from an upper layer. Signed-off-by: NFabien Parent <fparent@baylibre.com> Signed-off-by: NFrode Isaksen <fisaksen@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 1月, 2017 1 次提交
-
-
由 Kevin Hilman 提交于
The correct error checking for dma_map_single() is to use dma_mapping_error(). Signed-off-by: NKevin Hilman <khilman@baylibre.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 4月, 2016 1 次提交
-
-
由 Peter Ujfalusi 提交于
With the new dma_request_chan() the client driver does not need to look for the DMA resource and it does not need to pass filter_fn anymore. By switching to the new API the driver can now support deferred probing against DMA. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 12月, 2015 2 次提交
-
-
由 Sekhar Nori 提交于
Use dev_err() for reporting errors rather than dev_dbg(). Signed-off-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Sekhar Nori 提交于
davinci_spi_bufs() uses wait_for_completion_interruptible() without bothering to handle -ERESTARTSYS. Due to this, sometime, it returns prematurely when a signal is received. Since the return value is never checked, userspace eventually receives a spurious -EIO. To fix this, use un-interruptible wait_for_completion_timeout(). Signed-off-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 17 10月, 2015 1 次提交
-
-
由 Luis de Bethencourt 提交于
Use spi->cs_gpio directly to remove the following build warning: drivers/spi/spi-davinci.c:219:6: warning: 'gpio' may be used uninitialized in this function Signed-off-by: NLuis de Bethencourt <luisbg@osg.samsung.com> Suggested-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 26 9月, 2015 1 次提交
-
-
由 Andrzej Hajda 提交于
The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 25 7月, 2015 2 次提交
-
-
由 Franklin S Cooper Jr 提交于
Currently the pre-scaler limit is incorrect. The value differs slightly for various devices so a single value can't be used. Using the compatible field select the correct pre-scaler limit. Add new compatible field value for Keystone devices to support their unique pre-scaler limit value. Signed-off-by: NFranklin S Cooper Jr <fcooper@ti.com> Reviewed-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Franklin S Cooper Jr 提交于
Within davinci_spi_get_prescale() the prescale has two meanings. First one being the calculated prescale value and then at the end translates it to the prescale value that will be written to the SPI register. At first glance this can be confusing especially when comparing the minimum prescale value against what is seen in the TRM. To simplify things make it clear that the calculated prescale value will always be based on the value that will be written into the SPI register. Signed-off-by: NFranklin S Cooper Jr <fcooper@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 11 6月, 2015 1 次提交
-
-
由 Murali Karicheri 提交于
SPI hardware spec for Keystone specify a lower value of 0 for pre-scale divider which determine what max value of spi clock (spi-max-frequency) the device can support. This translates to a clock divider of 2. So fix the lower limit value used for the boundary check in davinci_spi_get_prescale() function to 1 so that a maximum of spi device clock rate / 2 is possible to be set for spi-max-frequency. Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com> Acked-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 22 12月, 2014 1 次提交
-
-
由 Jarkko Nikula 提交于
Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 20 10月, 2014 1 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 17 9月, 2014 2 次提交
-
-
由 Murali Karicheri 提交于
This patch adds ability to configure delay between transmission of words over SPI bus if it's required by SPI slave devices. New optional SPI slave property: - ti,spi-word-delay : delay between transmission of words (SPIFMTn.WDELAY, SPIDAT1.WDEL) Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com> Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Grygorii Strashko 提交于
Remove empty function davinci_spi_cleanup(). Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 14 9月, 2014 1 次提交
-
-
由 Grygorii Strashko 提交于
Now CS GPIOs are requested from struct spi_master.setup() callback and that causes failures when Client SPI device is getting accessed through SPIDEV driver. The failure happens, because .setup() callback may be called many times from IOCTL handler and when it's called second time gpio_request() will fail and return -EBUSY. Hence, fix it by moving CS GPIOs requesting code in .probe(). Reported-by: NMurali Karicheri <m-karicheri2@ti.com> Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 04 9月, 2014 1 次提交
-
-
由 Jingoo Han 提交于
Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations WARNING: quoted string split across lines Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 22 8月, 2014 1 次提交
-
-
由 Grygorii Strashko 提交于
The driver should not touch CS lines if SPI_NO_CS flag is set. This patch fixes it as this functionality was broken accidentally by commit a88e34ea ("spi: davinci: add support to configure gpio cs through dt"). Fixes: a88e34ea ("spi: davinci: add support to configure gpio cs through dt") Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 02 8月, 2014 2 次提交
-
-
由 Grygorii Strashko 提交于
Rework Davinci SPI driver to store GPIO CS number in cs_gpio field of SPI device structure (spi_device) for both DT and non-DT cases. This will make Davinci SPI driver code simpler and allows to reuse more SPI core functionality. Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Murali Karicheri 提交于
Currently driver supports only configuration of GPIO CS through platform data. This patch enhances the driver to configure GPIO CS through DT. Also update the DT binding documentation to reflect the availability of cs-gpios. Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com> Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 01 8月, 2014 1 次提交
-
-
由 Murali Karicheri 提交于
Currently, the driver defines SPI_MAX_CHIPSELECT as 2 and use per device array bytes_per_word based on this. This breaks if num_chipselect per device is greater than 2. This patch fix this and allocate memory for this array based on num_chipselect. It's preparation patch to enable GPIO CS feature for Davinci SPI. Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com> Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 06 2月, 2014 2 次提交
-
-
由 Axel Lin 提交于
It's pointless to use of_match_ptr within CONFIG_OF guard. Use of_match_ptr around davinci_spi_of_match when setting .of_match_table. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Axel Lin 提交于
spi_master_get_devdata() never returns NULL when spi_alloc_master() success, so remove NULL test for dspi. We have ensured master is not NULL before assigning it to dspi->bitbang.master. So also remove NULL test for dspi->bitbang.master. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 17 1月, 2014 1 次提交
-
-
由 Axel Lin 提交于
The implementation in spi_setup() already set spi->bits_per_word = 8 when spi->bits_per_word is 0 before calling spi->master->setup. So we don't need to do it again in setup() callback. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NMarek Vasut <marex@denx.de> Acked-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 18 12月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use devm_*() functions to make cleanup paths simpler. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 24 11月, 2013 1 次提交
-
-
由 Santosh Shilimkar 提交于
With CONFIG_ARM_LPAE=y spi driver throws below warning drivers/spi/spi-davinci.c: In function ‘davinci_spi_probe’: drivers/spi/spi-davinci.c:965:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘resource_size_t’ [-Wformat] drivers/spi/spi-davinci.c:965:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘resource_size_t’ [-Wformat] Lets use '%pa' to properly print 'resource_size_t' type variables. Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 11月, 2013 1 次提交
-
-
由 Wolfram Sang 提交于
Use this new function to make code more comprehensible, since we are reinitialzing the completion, not initializing. [akpm@linux-foundation.org: linux-next resyncs] Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: Linus Walleij <linus.walleij@linaro.org> (personally at LCE13) Cc: Ingo Molnar <mingo@kernel.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 07 10月, 2013 1 次提交
-
-
由 Axel Lin 提交于
Many drivers that use bitbang library have a leak on probe error paths. This is because once a spi_master_get() call succeeds, we need an additional spi_master_put() call to free the memory. Fix this issue by moving the code taking a reference to master to spi_bitbang_start(), so spi_bitbang_start() will take a reference to master on success. With this change, the caller is responsible for calling spi_bitbang_stop() to decrement the reference and spi_master_put() as counterpart of spi_alloc_master() to prevent a memory leak. So now we have below patten for drivers using bitbang library: probe: spi_alloc_master -> Init reference count to 1 spi_bitbang_start -> Increment reference count remove: spi_bitbang_stop -> Decrement reference count spi_master_put -> Decrement reference count (reference count reaches 0) Fixup all users accordingly. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Suggested-by: NUwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> Acked-by: NUwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 17 9月, 2013 2 次提交
-
-
由 Axel Lin 提交于
Many drivers that use bitbang library have a leak on probe error paths. This is because once a spi_master_get() call succeeds, we need an additional spi_master_put() call to free the memory. Fix this issue by moving the code taking a reference to master to spi_bitbang_start(), so spi_bitbang_start() will take a reference to master on success. With this change, the caller is responsible for calling spi_bitbang_stop() to decrement the reference and spi_master_put() as counterpart of spi_alloc_master() to prevent a memory leak. So now we have below patten for drivers using bitbang library: probe: spi_alloc_master -> Init reference count to 1 spi_bitbang_start -> Increment reference count remove: spi_bitbang_stop -> Decrement reference count spi_master_put -> Decrement reference count (reference count reaches 0) Fixup all users accordingly. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Suggested-by: NUwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> Acked-by: NUwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Sachin Kamat 提交于
'prescale' contains the return value of davinci_spi_get_prescale() which is a signed integer. Convert 'prescale' to integer to silence the following warning: drivers/spi/spi-davinci.c:318 davinci_spi_setup_transfer() warn: unsigned 'prescale' is never less than zero. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 29 8月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 30 7月, 2013 1 次提交
-
-
由 Christian Eggers 提交于
Commit 048177ce (spi: spi-davinci: convert to DMA engine API) introduced a regression: dma_map_single() is called with direction DMA_FROM_DEVICE for rx and for tx. Signed-off-by: NChristian Eggers <ceggers@gmx.de> Acked-by: NMatt Porter <mporter@ti.com> Signed-off-by: NMark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org # v3.7.x+
-
- 30 5月, 2013 1 次提交
-
-
由 Stephen Warren 提交于
Fill in the recently added spi_master.bits_per_word_mask field in as many drivers as possible. Make related cleanups, such as removing any redundant error-checking, or empty setup callbacks. Signed-off-by: NStephen Warren <swarren@wwwdotorg.org> Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 23 5月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev, so we can directly pass a struct platform_device. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-