- 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>
-
- 23 8月, 2013 1 次提交
-
-
由 Wolfram Sang 提交于
I2C of helpers used to live in of_i2c.c but experience (from SPI) shows that it is much cleaner to have this in the core. This also removes a circular dependency between the helpers and the core, and so we can finally register child nodes in the core instead of doing this manually in each driver. So, fix the drivers and documentation, too. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 18 5月, 2013 1 次提交
-
-
由 Wolfram Sang 提交于
devm_ioremap_resource does sanity checks on the given resource. No need to duplicate this in the driver. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NStephen Warren <swarren@nvidia.com> Acked-by: NBarry Song <Baohua.Song@csr.com>
-
- 24 3月, 2013 1 次提交
-
-
由 Stephen Warren 提交于
Tegra only supports, and always enables, device tree. Remove all ifdefs and runtime checks for DT support from the driver. Platform data is therefore no longer required. Delete the header that defines it. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 22 3月, 2013 1 次提交
-
-
由 Laxman Dewangan 提交于
NVIDIA's Tegra SoC allows read/write of controller register only if controller clock is enabled. System hangs if read/write happens to registers without enabling clock. clk_prepare_enable() can be fail due to unknown reason and hence adding check for return value of this function. If this function success then only access register otherwise return to caller with error. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org
-
- 16 2月, 2013 1 次提交
-
-
由 Laxman Dewangan 提交于
If timeout error occurs in the i2c transfer then it was dumping warning of call stack. Remove the warning dump as there is may be possibility that some slave devices are busy and not responding the i2c communication. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <wolfram@the-dreams.de>
-
- 29 1月, 2013 1 次提交
-
-
由 Prashant Gaikwad 提交于
Migrate Tegra clock support to drivers/clk/tegra, this involves moving: 1. definition of tegra_cpu_car_ops to clk.c 2. definition of reset functions to clk-peripheral.c 3. change parent of cpu clock. 4. Remove legacy clock initialization. 5. Initialize clocks using DT. 6. Remove all instance of mach/clk.h Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com> [swarren: use to_clk_periph_gate().] Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 28 1月, 2013 1 次提交
-
-
由 Laxman Dewangan 提交于
NVIDIA's Tegra114 has following enhanced feature in i2c controller: - Enable/disable control for per packet transfer complete interrupt. Earlier SoCs could not disable this. - Single clock source for standard/fast and HS mode clock speed. The clock divisor for fast/standard mode is added into the i2c controller to meet the HS and standard/fast mode of clock speed from single source. Add support for the above feature to make it functional on T114 SOCs. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 25 1月, 2013 1 次提交
-
-
由 Thierry Reding 提交于
Convert all uses of devm_request_and_ioremap() to the newly introduced devm_ioremap_resource() which provides more consistent error handling. devm_ioremap_resource() provides its own error messages so all explicit error messages can be removed from the failure code paths. Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 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>
-
- 02 11月, 2012 1 次提交
-
-
由 Laxman Dewangan 提交于
When watching the irqs name of tegra i2c, all instances irq name shows as tegra_i2c. Passing the device name properly to have the irq names with instance like tegra-i2c.0, tegra-i2c.1 etc. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Acked-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 14 9月, 2012 3 次提交
-
-
由 Laxman Dewangan 提交于
Tegra I2C driver enables the fast clock during initialization and does not disable till driver removed. Enable this clock before transfer and disable after transfer done. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Laxman Dewangan 提交于
Tegra20 i2c controller does not support the continue transfer which implements the I2C_M_NOSTART functionality of i2c protocol mangling. Removing the I2C_M_NOSTART functionality support for Tegra20. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Laxman Dewangan 提交于
Tegra's i2c controller require two clock sources named as div_clk and fast_clk. This change make sure that driver pass the correct clock's name when it acquires clock handle. Also change the variable name to reflect the correct clock handles. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 19 8月, 2012 1 次提交
-
-
由 Laxman Dewangan 提交于
The CONFIG_PM doesn't actually enable any of the PM callbacks, it only allows to enable CONFIG_PM_SLEEP and CONFIG_PM_RUNTIME. This means if CONFIG_PM is used to protect system sleep callbacks then it may end up unreferenced if only runtime PM is enabled. Hence protecting sleep callbacks with CONFIG_PM_SLEEP. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 24 7月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
This reverts commit 7c86d44c. Stephen says: IIRC, I proposed it before solely to solve some suspend/resume ordering issues, and Colin Cross NAKd it. These days, deferred probe should make this change unnecessary. Reported-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 12 7月, 2012 5 次提交
-
-
由 Laxman Dewangan 提交于
To provide the late suspend and early resume for i2c driver, convert the suspend/resume as suspend-> suspend_noirq resume -> resume_noirq Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> [wsa: fixed up to match previous pm_ops change] Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Rafael J. Wysocki 提交于
Make the Tegra I2C controller driver define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct platform_driver. Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl> Acked-by: NLaxman Dewangan <ldewangan@nvidia.com> [wsa] adapt to of_match_ptr change Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Laxman Dewangan 提交于
In place of defining match_table for non-DT based as NULL, use of_match_ptr() for initialzing the of_match_table. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Laxman Dewangan 提交于
Use clk_disable_unprepare() inplace of clk_disable(). This was missed as part of moving clock enable/disable to prepare/unprepare for using the common clock framework. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Laxman Dewangan 提交于
Remove unused member variable "iomem" of the i2c device structure. This variable becomes unused when converted all allocation to devm_* in following change: i2c: tegra: make all resource allocation through devm_* Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 08 7月, 2012 4 次提交
-
-
由 Laxman Dewangan 提交于
Use the devm_* for the memory region allocation, interrupt request, clock handler request. By doing this, it does not require to explicitly free it and hence saving some code. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Laxman Dewangan 提交于
Adding support for functionality I2C_M_NOSTART. When multiple message transfer request made through i2c and if any message is flagged with I2C_M_NOSTART then it will not send the start/repeat-start and address of that message i.e. sends data directly. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Laxman Dewangan 提交于
The Tegra i2c driver supports the I2C_M_IGNORE_NAK and hence returning I2C_FUNC_PROTOCOL_MANGLING as supported functionality. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Laxman Dewangan 提交于
The Tegra PPSB (an peripheral bus) queues writes transactions. In order to guarantee that writes have completed before a certain time, a read transaction to a register on the same bus must be executed. This is necessary in situations such as when clearing an interrupt status or enable, so that when returning from an interrupt handler, the HW has already de-asserted its interrupt status output, which will avoid spurious interrupts. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 12 6月, 2012 1 次提交
-
-
由 Prashant Gaikwad 提交于
Use clk_prepare/clk_unprepare as required by the generic clk framework. Cc: w.sang@pengutronix.de Cc: linux-i2c@vger.kernel.org Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 12 5月, 2012 2 次提交
-
-
由 Laxman Dewangan 提交于
The notification of the transfer complete by calling complete() should be done after clearing all interrupt status. This avoids the race condition of misconfigure the i2c controller in multi-core environment. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Acked-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: stable@kernel.org
-
由 Laxman Dewangan 提交于
The slave address of device to be configured in packet header as follows: 7 bit address: PacketHeader3[7:1] 10 bit address: PacketHeader3[9:0] Fixing the code to make packet header3 properly. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Acked-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 23 4月, 2012 1 次提交
-
-
由 Alok Chauhan 提交于
NACK interrupt is generated before I2C controller generates the STOP condition on bus. Because of this reset of controller is happening before I2C controller could complete STOP condition. So wait for some time before resetting the controller so that STOP condition has delivered properly on bus. Added delay of 2 clock period before resetting the controller in case of NACK error. Signed-off-by: NAlok Chauhan <alokc@nvidia.com> Acked-by: NStephen Warren <swarren@wwwdotorg.org> [wsa: Reworded the commit msg and code comment a bit] Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 08 3月, 2012 1 次提交
-
-
由 Alok Chauhan 提交于
The write is not necessary and may cause the I2C controller to misbehave. With this fix, I2C on Tegra30 works (at least, running i2cdump repeatedly on the WM8903 on Cardhu's I2C5/DVC bus). Signed-off-by: NAlok Chauhan <alokc@nvidia.com> [swarren: Reworded commit description] Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 07 2月, 2012 1 次提交
-
-
由 Shubhrajyoti Datta 提交于
It was originally missed in the __devinit/__devexit annotations. Signed-off-by: NShubhrajyoti D <shubhrajyoti@ti.com> Acked-by: NStephen Warren <swarren@nvidia.com> Acked-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 20 12月, 2011 2 次提交
-
-
由 Stephen Warren 提交于
One of the Tegra I2C blocks is inside the DVC (Digital Voltage Controller) block. This block is identical to the rest of the I2C blocks, except that it only supports master mode, it has registers moved around, and it needs some extra init to get it into I2C mode. The register moves are handled by i2c_readl and i2c_writel This patch adds a new compatible value for controllers of this "DVC" type; I figured that this approach was reasonable, as opposed to adding an is-dvc property under the existing compatible value, since the HW truly is different. v2: Call of_device_is_compatible() to determine is_dvc, instead of storing the flag in tegra_i2c_of_match[]'s .data field. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen Warren 提交于
This fixes some section mismatch build warnings. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 01 11月, 2011 1 次提交
-
-
由 Paul Gortmaker 提交于
These files use interfaces from linux/module.h, so they must include that file to avoid build errors when the implicit presence of module.h is removed. [with i2c-pxa-pci.c fix from Randy Dunlap <rdunlap@xenotime.net>] Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
-
- 29 10月, 2011 1 次提交
-
-
由 Olof Johansson 提交于
drivers/i2c/busses/i2c-tegra.c:585:7: warning: incorrect type in assignment (different address spaces) drivers/i2c/busses/i2c-tegra.c:585:7: expected void *base drivers/i2c/busses/i2c-tegra.c:585:7: got void [noderef] <asn:2>* drivers/i2c/busses/i2c-tegra.c:619:16: warning: incorrect type in assignment (different address spaces) drivers/i2c/busses/i2c-tegra.c:619:16: expected void [noderef] <asn:2>*base drivers/i2c/busses/i2c-tegra.c:619:16: got void *base drivers/i2c/busses/i2c-tegra.c:689:10: warning: incorrect type in argument 1 (different address spaces) drivers/i2c/busses/i2c-tegra.c:689:10: expected void volatile [noderef] <asn:2>*addr drivers/i2c/busses/i2c-tegra.c:689:10: got void *base Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by; Stephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 07 9月, 2011 3 次提交
-
-
由 Doug Anderson 提交于
In tegra_i2c_fill_tx_fifo, once we have finished pushing all the bytes to the I2C hardware controller, the interrupt might happen before we have updated i2c_dev->msg_buf_remaining at the end of the function. Then, in tegra_i2c_isr, we will call again tegra_i2c_fill_tx_fifo triggering weird behaviour. This has been shown to happen under real conditions. Signed-off-by: NDoug Anderson <dianders@chromium.org> Tested-by: NVincent Palatin <vpalatin@chromium.org> Acked-by: NRhyland Klein <rklein@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Mike Rapoport 提交于
Signed-off-by: NMike Rapoport <mike@compulab.co.il> Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 John Bonesio 提交于
This patch was intended to be part of 7ca2d1a105a239e300b937e9c41a10a4bd08f569 "i2c: Tegra: Add DeviceTree support". However, an early version of that patch, which was missing a chunk, was applied to next-i2c. This change is that missing chunk. Signed-off-by: NJohn Bonesio <bones@secretlab.ca> Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 27 7月, 2011 1 次提交
-
-
由 John Bonesio 提交于
This patch modifies the tegra i2c driver so that it can be initiailized using the device tree along with the devices connected to the i2c bus. Signed-off-by: NJohn Bonesio <bones@secretlab.ca> Acked-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NOIof Johansson <olof@lixom.net> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 28 6月, 2011 1 次提交
-
-
由 Stephen Warren 提交于
On Tegra, we should always use the "new" I2C slave controller, to avoid issues with the old controller. This was implemented in commit 65a1a0ac "i2c: tegra: Enable new slave mode." There is currently no driver for the Tegra I2C slave controller upstream. Additionally, the controller cannot be completely disabled. Instead, we need to: a) Set I2C_SL_CNFG_NACK to make the controller automatically NACK any incoming transactions. b) The controller's definition of NACK isn't identical to the I2C protocol's definition. Specifically, it will perform a standard NACK, but *also* continue to hold the clock line low in expectation of receiving more data. This can hang the bus, or at least cause transaction timeouts, if something starts a transaction that matches the controller's slave address. Since the default address is 0x00, the general call address, this does occur in practice. To avoid this, we explicitly program a slave address that is reserved for future expansion. For current boards, this guarantees the address will never be used. If a future board ever needs to use this address, we can add platform data to determine a board-specific safe address. 0xfc is picked by this patch. This patch is based on a change previously posted by: Wei Ni <wni@nvidia.com> http://www.spinics.net/lists/linux-i2c/msg05437.html In turned based on internal changes by: Bharat Nihalani <bnihalani@nvidia.com> A semantically equivalent change has been contained in the various ChromeOS kernels for a while. I tested this change on top of 3.0-rc2 on Harmony, and interacted with the WM8903 I2C-based audio codec. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-