- 21 1月, 2013 1 次提交
-
-
由 Marek Vasut 提交于
The init_completion() call does reinit not only the variable carrying the flag that the completion finished, but also initialized the waitqueue associated with the completion. On the contrary, the INIT_COMPLETION() call only reinits the flag. In case there was anything still stuck in the waitqueue, subsequent call to init_completion() would be able to create possible race condition. This patch uses the proper function and moves init_completion() into .probe() call of the driver, to be issued only once. Note that such scenario is impossible, since two threads can never enter the mxs_i2c_xfer_msg(), since whole this section is protected by mutex in I2C core. This by no means allows this issue to exit though. Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 23 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> Acked-by: Peter Korsgaard <peter.korsgaard@barco.com> (for ocores and mux-gpio) Acked-by: Havard Skinnemoen <hskinnemoen@gmail.com> (for i2c-gpio) Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> (for puf3) Acked-by: Barry Song <baohua.song@csr.com> (for sirf) Reviewed-by: NJean Delvare <khali@linux-fr.org> [wsa: Fixed "foo* bar" flaws while we are here] Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 23 11月, 2012 3 次提交
-
-
由 Marek Vasut 提交于
Properly terminate the DMA transfer in case the DMA PIO transfer or setup fails for any reason. Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Marek Vasut 提交于
There is no reason to disable the I2C SMBus quick mode on this IP block. Enable it. This essentially fixes the problem with the "i2c-detect" command for probing the bus. Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Marek Vasut 提交于
Properly terminate the DMA transfer in case the DMA PIO transfer or setup fails for any reason. Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 02 11月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
This I2C master can do DMA and PIOQUEUE (PIO with FIFO). Originally, only PIOQUEUE was supported and it had issues, then DMA support was added this cycle. The original intention was to keep PIOQUEUE since it has less overhead what is nice for small transfers. However, runtime switching between PIOQEUE and DMA depending on the transfer size never worked despite a lot of trying. Since PIOQUEUE mode itself was flaky (polling at places where interrupts failed to work) and the implementation also imposed a size limit for transfers, it is best to remove the support, so users don't fall over its limitations. It also makes the driver a lot cleaner and more robust. If somebody really wants less overhead, plain PIO mode could still be implemented with the addidtional advantage that this mode is also available on MX23, too. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Reviewed-by: NMarek Vasut <marex@denx.de>
-
- 08 10月, 2012 1 次提交
-
-
由 Marek Vasut 提交于
This patch implements DMA support into mxs-i2c. DMA transfers are now enabled via DT. The DMA operation is enabled by default. Signed-off-by: NMarek Vasut <marex@denx.de> Tested-by: NFabio Estevam <fabio.estevam@freescale.com> [wsa: rebased to 3.6-rc7] Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 12 9月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
Commit cd4f2d4a (i2c: mxs: Set I2C timing registers for mxs-i2c) only covered the case for devicetree and made platform_data based boards bail out with -EINVAL. Correctly support the latter one, too. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 13 7月, 2012 1 次提交
-
-
由 Marek Vasut 提交于
This patch configures the I2C bus timing registers according to information passed via DT. Currently, 100kHz and 400kHz modes are supported. The TIMING2 register value is wrong in the documentation for i.MX28! This was found and fixed by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 09 7月, 2012 1 次提交
-
-
由 Marc Kleine-Budde 提交于
This patch mutes the false positive compiler warning: drivers/i2c/busses/i2c-mxs.c: In function 'mxs_i2c_xfer_msg': drivers/i2c/busses/i2c-mxs.c:206:8: warning: 'data' may be used uninitialized in this function [-Wuninitialized] drivers/i2c/busses/i2c-mxs.c:196:6: note: 'data' was declared here Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 13 5月, 2012 1 次提交
-
-
由 Shawn Guo 提交于
Add device tree probe support for i2c-mxs driver. So far, it's only been tested on imx28. Signed-off-by: NShawn Guo <shawn.guo@linaro.org> Acked-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 12 5月, 2012 1 次提交
-
-
由 Shawn Guo 提交于
Cc: linux-i2c@vger.kernel.org Cc: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
-
- 27 4月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
Since the last fixes to this driver ensure now the queue termination is done correctly, we can finally disable the queue after a transfer without problems. The gain is that it will only be reenabled after the next transfer is fully set up. Before, the queue was running all the time and if the setup of the next message was interrupted by another thread, an incomplete buffer could have been sent, padded with zeroes. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 26 4月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
After an error interrupt setting cmd->err, I see another interrupt that the data engine is empty which clears cmd->err before being processed. So, clear cmd->err at the beginning of a transfer only to handle these consecutive interrupts. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 21 4月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
The former mach specific reset_block function has been converted to a global one. Use the new one to remove mach dependency from the driver. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 25 2月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
The hardware generates an interrupt for every completed command in the queue while the code assumed that it will only generate one interrupt when the queue is empty. So, explicitly check if the queue is really empty. This patch fixed problems which occurred due to high traffic on the bus. While we are here, move the completion-initialization after the parameter error checking. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Lothar Waßmann <LW@KARO-electronics.de> Cc: stable@kernel.org
-
- 31 3月, 2011 1 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
- 21 3月, 2011 1 次提交
-
-
由 Sascha Hauer 提交于
mxs_reset_block() clears the PIO_QUEUE_MODE bit. So we have to set it again after a controller reset. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 23 2月, 2011 1 次提交
-
-
由 Wolfram Sang 提交于
Currently only supporting the PIOQUEUE-mode, because DMA-support for this platform is not yet in mainline. When it becomes available and support has been added to this driver, it will also be suitable for i.MX23 and STMP3xxx. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-