- 25 7月, 2011 2 次提交
-
-
由 Grant Likely 提交于
Currently, if an i2c bus driver supports both static and dynamic bus ids, it needs to choose between calling i2c_add_numbered_adapter() and i2c_add_adapter(). This patch makes i2c_add_numbered_adapter() redirect to i2c_add_adapter() if the requested bus id is -1. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 LABBE Corentin 提交于
This is a fix-style patch for i2c-ali1535 (issues reported by checkpatch.pl.) Signed-off-by: NLABBE Corentin <corentin.labbe@geomatys.fr> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 29 6月, 2011 2 次提交
-
-
由 Petri Gynther 提交于
pca954x power-on default is channel 0 connected. If multiple pca954x muxes are connected to the same physical I2C bus, the parent bus will see channel 0 devices behind both muxes by default. This is bad. Scenario: -- pca954x @ 0x70 -- ch 0 (I2C-bus-101) -- EEPROM @ 0x50 | I2C-bus-1 --- | -- pca954x @ 0x71 -- ch 0 (I2C-bus-111) -- EEPROM @ 0x50 1. Load I2C bus driver: creates I2C-bus-1 2. Load pca954x driver: creates virtual I2C-bus-101 and I2C-bus-111 3. Load eeprom driver 4. Try to read EEPROM @ 0x50 on I2C-bus-101. The transaction will also bleed onto I2C-bus-111 because pca954x @ 0x71 channel 0 is connected by default. Fix: Initialize pca954x to disconnected state in pca954x_probe() Signed-off-by: NPetri Gynther <pgynther@google.com> Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: stable@kernel.org
-
由 Jean Delvare 提交于
* Print all error and information messages even when debugging is disabled. * Don't use adapter device to log messages before it is ready. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: stable@kernel.org
-
- 28 6月, 2011 4 次提交
-
-
由 Sonic Zhang 提交于
Sometimes, the first I2C transmit interrupt is not serviced in time (like when higher priority interrupts take too long). Since the RESTART bit is not set before the next I2C clock, when the TWI handler is finally called, the I2C session is aborted (MEM bit is reset) and both SMITSERV and MCOMP int status bits are set. So when this happens, abort the transfer. Reported-by: NIsabelle Leonardi <i.leonardi@detracom.fr> Signed-off-by: NSonic Zhang <sonic.zhang@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jonghwan Choi 提交于
Signed-off-by: NJonghwan Choi <jhbird.choi@samsung.com> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Huisung Kang 提交于
Signed-off-by: NHuisung Kang <hs1218.kang@samsung.com> Signed-off-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 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>
-
- 27 5月, 2011 1 次提交
-
-
由 Samuel Ortiz 提交于
With the addition of a device platform mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Acked-by: NRichard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 25 5月, 2011 17 次提交
-
-
由 Linus Walleij 提交于
Reduce code size in the message transfer function by factoring out a single-message transfer function. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
In case of I2C timeout, reset the HW only after the HW status is read, otherwise the staus will be lost. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
The delay in the driver seems to be not needed, so remove it. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NMarkus Grape <markus.grape@stericsson.com> Tested-by: NPer Persson <per.xb.persson@stericsson.com> Tested-by: NChethan Krishna N <chethan.krishna@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
1) Increase RX FIFO threshold so that there is a reduction in the number of interrupts handled to complete a transaction. 2) Fill TX FIFO in the write function. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
It is seen that i2c-nomadik controller randomly stops generating the interrupts leading to a i2c timeout. As a workaround to this problem, add retries to the on going transfer on failure. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas ABERG <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Rabin Vincent 提交于
Use the pm_runtime API for pins control. Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> [deleted some surplus runtime PM code] Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
Modify the code to: 1)Print the cause of i2c failure only if the status is set to ABORT. 2)Print slave address on send/receive fail, will help in which slave failed. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
Correct the incorrect initialization of adapter timeout not to be in milliseconds, as it needs to be done in jiffies. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 srinidhi kasagar 提交于
The abort cause string itself is an error, so remove the redundant explicit error message. Signed-off-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
The code was returning bad error numbers or just -1 in some cases. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
Add option to have different i2c timeout delay for different i2c buses specified in platform data. Default to the old value unless specified. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jonas Aberg 提交于
This on-chip I2C controller needs to fetch the regulator representing its voltage domain so that it won't be switched off. Signed-off-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jean Delvare 提交于
* Fix white space. * Rename labels to something meaningful. * Prefix defines with PORT_ to avoid collision with macros from <linux/parport.h>. * Add const markers where possible. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Don't let other driver config options influence us, as it makes the code more complex and fragile for a small benefit. There's nothing wrong with instantiating I2C devices even if they don't have a driver. And we're talking about 835 extra bytes in the binary on x86-64, that's hardly worth arguing about. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: David Woodhouse <david.woodhouse@intel.com> Cc: Hans de Goede <hdegoede@redhat.com>
-
由 Jean Delvare 提交于
Scanning the BIOS memory for the apanel information is costly, so avoid doing it on non-Fujitsu machines. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
I don't know if Fujitsu is ever going to produce Patsburg-based machines, but if they do, I'd rather not probe the secondary (IDF) SMBus channels. At least not until we have a good reason for doing so. On a side note, I'm not even sure if it is right to enable detection of HWMON and DDC devices on the IDF channels. Time will tell... Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
由 Seth Heasley 提交于
This patch adds the SMBus controller DeviceID for the Intel Panther Point PCH. Signed-off-by: NSeth Heasley <seth.heasley@intel.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 19 5月, 2011 2 次提交
-
-
由 Jean Delvare 提交于
Haavard's e-mail address at Atmel is no longer valid. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHavard Skinnemoen <hskinnemoen@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Grant Likely 提交于
Commit b826291c, "drivercore/dt: add a match table pointer to struct device" added an of_match pointer to struct device to cache the of_match_table entry discovered at driver match time. This was unsafe because matching is not an atomic operation with probing a driver. If two or more drivers are attempted to be matched to a driver at the same time, then the cached matching entry pointer could get overwritten. This patch reverts the of_match cache pointer and reworks all users to call of_match_device() directly instead. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 13 5月, 2011 1 次提交
-
-
由 Wolfram Sang 提交于
alg_data is already a pointer which must be passed directly. Reported-by: NDieter Ripp <ripp@systecnet.com> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Ben Dooks <ben-i2c@fluff.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 11 5月, 2011 7 次提交
-
-
由 Magnus Damm 提交于
Add support to the i2c-sh_mobile driver for setting the I2C bus speed using platform data. Signed-off-by: NMagnus Damm <damm@opensource.se> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Magnus Damm 提交于
Remove the clock string magic from the i2c-sh_mobile driver now when all platforms support clkdev properly. Signed-off-by: NMagnus Damm <damm@opensource.se> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Tomoya MORINAGA 提交于
Support new device OKI SEMICONDUCTOR ML7223 IOH(Input/Output Hub). The ML7223 IOH is for MP(Media Phone) use. The ML7223 is companion chip for Intel Atom E6xx series. The ML7223 is completely compatible for Intel EG20T PCH. Signed-off-by: NTomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jay Cheng 提交于
This enables debouncing of the I2C lines. The debounce period is 2 * the debounce register field value, in terms of the I2C block's main clock. The Tegra TRM indicates that a setting yielding >50nS is desirable. Hence, a setting of 2 => 4 clocks @ 72MHz => ~55nS. Signed-off-by: NKen Radtke <kradtke@nvidia.com> [swarren: Added commit description body, Fixed 80-column limit, Reverted file permission change] Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Erik Gilling 提交于
A repeated start should be used for all but the last msg in an xfer. The NOSTART flag is for skipping the START frame (addr/rw) Signed-off-by: NErik Gilling <konkers@android.com> Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Todd Poynor 提交于
Re-init the I2C controller when an IRQ arrives with no I2C_INT_STATUS bits set to indicate why the interrupt was sent. Storms of such mystery interrupts are infrequently seen. Dump some more status when these interrupts arrive. Set an error for the current request and wake up the requester (rather than timing out the request or possibly silently ignoring the interrupts). If the I2C block is inside the DVC, also ACK the DVC I2C transfer done interrupt in the ISR error return path, as is done for the normal return path. Signed-off-by: NTodd Poynor <toddpoynor@google.com> [swarren: Fix minor checkpatch whitespace issue, commit tag] Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Kenneth Waters 提交于
For Tegra i2c controller to function properly new slave mode must be enabled. swarren notes: In particular, I found this was needed when working on enabling the Tegra audio driver on the Seaboard board. There are two different PCB layouts for this board; a "clamshell" version, which works just fine without this change, and the original non-clamshell version, which needs this change in order for I2C to operate correctly. Without it, I2C probing fails for some devices, e.g. with: wm8903 0-001a: Device with ID register 0 is not a WM8903 wm8903 0-001a: asoc: failed to probe CODEC wm8903.0-001a: -19 asoc: failed to instantiate card tegra-wm8903: -19 ALSA device list: No soundcards found. Signed-off-by: NRakesh Iyer <riyer@nvidia.com> Cc: stable <stable@kernel.org> Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 02 5月, 2011 2 次提交
-
-
由 Jean Delvare 提交于
Use a standard list with proper locking to handle the list of adapters. Thankfully it only matters on systems with more than one parallel port, which are very rare. Thanks to Lukasz Kapiec for reporting the problem to me. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: stable@kernel.org
-
由 Jean Delvare 提交于
Move the SMBus device ID definitions of recent devices from pci_ids.h to the i2c-i801.c driver file. They don't have to be shared, as they are clearly identified and only used in this driver. In the future, such IDs will go to i2c-i801 directly. This will make adding support for new devices much faster and easier, as it will avoid cross- subsystem patch sets and merge conflicts. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Seth Heasley <seth.heasley@intel.com> Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
- 18 4月, 2011 1 次提交
-
-
由 Guennadi Liakhovetski 提交于
This patch enables I2C driver autoloading on sh-mobile systems. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Reviewed-by: NSimon Horman <horms@verge.net.au> Cc: Magnus Damm <damm@opensource.se> Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
-
- 17 4月, 2011 1 次提交
-
-
由 Alex Deucher 提交于
Apparently some distros set i2c-algo-bit.bit_test to 1 by default. In some cases this causes i2c_bit_add_bus to fail and prevents the i2c bus from being added. In the radeon case, we fail to add the ddc i2c buses which prevents the driver from being able to detect attached monitors. The i2c bus works fine even if bit_test fails. This is likely due to gpio switching that is required and handled in the pre/post_xfer hooks, so call the pre/post_xfer hooks in the bit test as well. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=36221Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: stable@kernel.org [.38 down to .34]
-