- 28 9月, 2010 1 次提交
-
-
由 Jon Povey 提交于
When setting up to transmit, a race exists between the ISR and i2c_davinci_xfer_msg() trying to load the first byte and adjust counters. This is mostly visible for transmits > 1 byte long. The hardware starts sending immediately that MDR is loaded. IMR trickery doesn't work because if we start sending, finish the first byte and an XRDY event occurs before we load IMR to unmask it, we never get an interrupt, and we timeout. Move the MDR load after DXR,IMR loads to avoid this race without locking. Tested on DM355 connected to Techwell TW2836 and Wolfson WM8985 Signed-off-by: NJon Povey <jon.povey@racelogic.co.uk> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 06 8月, 2010 6 次提交
-
-
由 Philby John 提交于
Come out of i2c time out condition by following the bus recovery procedure outlined in the i2c protocol v3 spec. The kernel must be robust enough to gracefully recover from i2c bus failure without having to reset the machine. This is done by first NACKing the slave, pulsing the SCL line 9 times and then sending the stop command. This patch has been tested on a DM6446 and DM355 Signed-off-by: NPhilby John <pjohn@in.mvista.com> Signed-off-by: NSrinivasan, Nageswari <nageswari@ti.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Chaithrika U S 提交于
Add cpufreq support for DaVinci I2C driver. Tested on DA850/OMAP-L138 EVM. Signed-off-by: NChaithrika U S <chaithrika@ti.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Chaithrika U S 提交于
Add suspend and resume callbacks to DaVinci I2C driver. This has been tested on DA850/OMAP-L138 EVM. Signed-off-by: NChaithrika U S <chaithrika@ti.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Chaithrika U S 提交于
Add i2c reset control and clock divider calculation functions which will be useful for power management features. Signed-off-by: NChaithrika U S <chaithrika@ti.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Chaithrika U S 提交于
Cleanup the DaVinci I2C driver. Remove MOD_REG_BIT macro. Also use ioremap instead of IO_ADDRESS macro. Signed-off-by: NChaithrika U S <chaithrika@ti.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Dirk Behme 提交于
This fixes Oops at kernel startup while "scanning" for TLV320AIC23IDx addresses. Additional fix from Sudhakar Rajashekhara: I think 'first byte set' should come after the write because an I2C transaction is being carried out before configuring the I2C mode register (which has bits to configure Master, Start condition etc), which causes undefined behavior. Signed-off-by: NSudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: NAlexander Vasiliev <alexvasiljev@gmail.com> Signed-off-by: NBrad Griffis <bgriffis@ti.com> Signed-off-by: NDirk Behme <dirk.behme@gmail.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 30 3月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: NTejun Heo <tj@kernel.org> Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
-
- 15 7月, 2009 3 次提交
-
-
由 Julia Lawall 提交于
Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 David Brownell 提交于
Make i2c-davinci cope properly with "i2cdetect": don't spew syslog spam on perfectly normal behaviors, or respond to any address other than the one reserved for the SMBus host. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Kevin Hilman 提交于
DaVinci core code has converted to the new clkdev API so clock name strings are not needed. Instead, just the a 'struct device' pointer is needed. Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 29 3月, 2009 1 次提交
-
-
由 Jean Delvare 提交于
Properly set the adapter timeout value in jiffies, and then use that value in the driver, rather than a hard-coded constant. Signed-off-by: NJean Delvare <khali@linux-fr.org> Tested-by: NTroy Kisky <troy.kisky@boundarydevices.com> Cc: Kevin Hilman <khilman@mvista.com>
-
- 07 8月, 2008 3 次提交
-
-
由 Russell King 提交于
This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Remove includes of asm/hardware.h in addition to asm/arch/hardware.h. Then, since asm/hardware.h only exists to include asm/arch/hardware.h, update everything to directly include asm/arch/hardware.h and remove asm/hardware.h. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
There are 43 includes of asm/mach-types.h by files that don't reference anything from that file. Remove these unnecessary includes. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 15 7月, 2008 5 次提交
-
-
由 Troy Kisky 提交于
If an interrupt happens before an I2c master read/write, complete is called on uninitialized structure. Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: NKevin Hilman <khilman@mvista.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Troy Kisky 提交于
If wait_for_completion_interruptible_timeout exits due to a signal, the i2c bus was locking up. Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: NKevin Hilman <khilman@mvista.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Troy Kisky 提交于
Interrupts are enabled at the point where the DAVINCI_I2C_IVR_REG is read, so unless an interrupt happened just at that moment, no interrupt would be pending. Even though documentation implies you should do this, I see no reason. If slave support is added, this read would cause a hard to reproduce bug. Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: NKevin Hilman <khilman@mvista.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Troy Kisky 提交于
Previously the dev_dbg only printed if no error. Printing also on an error is more useful Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: NKevin Hilman <khilman@mvista.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Troy Kisky 提交于
Ensure psc value gives a clock between 7-12 MHz Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: NKevin Hilman <khilman@mvista.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 23 4月, 2008 2 次提交
-
-
由 Kay Sievers 提交于
Since 43cc71ee, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable I2C platform drivers, to allow module auto loading. [ db: add some more drivers ] Signed-off-by: NKay Sievers <kay.sievers@vrfy.org> Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Harvey Harrison 提交于
__FUNCTION__ is gcc-specific, use __func__. Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 11 4月, 2008 1 次提交
-
-
由 Troy Kisky 提交于
DAVINCI_I2C_STR_REG is a write 1 to clear register, so don't use a read/modify/write cycle. Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Acked-by: NDirk Behme <dirk.behme@gmail.com> Signed-off-by: NKevin Hilman <khilman@mvista.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 28 1月, 2008 1 次提交
-
-
由 Jean Delvare 提交于
I2C adapter drivers are supposed to handle retries on nack by themselves if they do, so there's no point in setting .retries if they don't. As this retry mechanism is going away (at least in its current form), clean this up now so that we don't get build failures later. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 12 12月, 2007 1 次提交
-
-
由 Joe Perches 提交于
Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 14 10月, 2007 1 次提交
-
-
由 Vladimir Barinov 提交于
Signed-off-by: NVladimir Barinov <vbarinov@ru.mvista.com> Acked-by: NTrilok Soni <soni.trilok@gmail.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-