8ebe661dd2ab16e2e9c272ed5c86019c7407b9a1 |
|
09-Dec-2011 |
Tushar Behera <tushar.behera@linaro.org> |
i2c-s3c2410: Fix return code of s3c24xx_i2c_parse_dt_gpio s3c24xx_i2c_parse_dt_gpio is called when cfg_gpio is not defined in the platform data of the i2c device. When DT is not enabled, the above function always returns -EINVAL. Since there can be some i2c devices which don't need to configure any gpio lines, the probe of such devices would fail here. Changing the default return value to success would fix this issue. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
37de03ea1246c8280f6c8c6f61ea98973e9b9448 |
|
09-Dec-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
i2c: i2c-s3c2410: Add a cpu_relax() to busy wait for bus idle Be a bit more friendly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
3945fe9314af718946f71185901c28dd349469c7 |
|
01-Nov-2011 |
Ben Dooks <ben-linux@fluff.org> |
Merge branches 'for-32/i2c/nomadik', 'for-32/i2c/s3c2410-dt' and 'for-32/i2c/tegra-iomem' into for-linus/i2c-3.2
|
5a5f50802f5a31b9e15de8df40d5621af970a560 |
|
13-Sep-2011 |
Thomas Abraham <thomas.abraham@linaro.org> |
i2c-s3c2410: Add device tree support Add device tree probe support for Samsung's s3c2410 i2c driver. Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
4fd81eb2d64295ab038a3ea9d44e0eac85a6648c |
|
13-Sep-2011 |
Thomas Abraham <thomas.abraham@linaro.org> |
i2c-s3c2410: Keep a copy of platform data and use it The platform data is copied into driver's private data and the copy is used for all access to the platform data. This simpifies the addition of device tree support for the i2c-s3c2410 driver. Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
4311051c358ad0e66b68934e7a33cf10ba533466 |
|
21-Sep-2011 |
Yong Zhang <yong.zhang0@gmail.com> |
i2c: irq: Remove IRQF_DISABLED Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
b90ea76542c53300d39e76f72cf583cd0e0b1f68 |
|
23-Jun-2011 |
Jonghwan Choi <jhbird.choi@samsung.com> |
i2c-s3c2410: Remove useless break code Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
19820510c504d5ba572959c67a72d913afc187a6 |
|
23-Jun-2011 |
Huisung Kang <hs1218.kang@samsung.com> |
i2c-s3c2410: Fix typo 'i2s' -> 'i2c' Signed-off-by: Huisung Kang <hs1218.kang@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
e0b11c3c38de5b40301645e4d9f25a167a18990c |
|
28-Oct-2010 |
Ben Dooks <ben-linux@fluff.org> |
Merge branch 'for-2637/i2c/samsung' into next-i2c
|
a8d7be818fbe0f8a4e7dc251712958ca369f9d45 |
|
24-Oct-2010 |
Jean Delvare <khali@linux-fr.org> |
i2c: Remove unneeded inclusions of <linux/i2c-id.h> These drivers don't use anything which is defined in <linux/i2c-id.h>. This header file was never meant to be included directly anyway, and will be deleted soon. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Ben Dooks <ben-linux@fluff.org> Acked-by: Dave Airlie <airlied@linux.ie> Cc: Hans Verkuil <hverkuil@xs4all.nl>
/drivers/i2c/busses/i2c-s3c2410.c
|
d2360b8e845ce0e142e72697a504ee9372421dc3 |
|
15-Jul-2010 |
Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org> |
i2c-s3c2410: Enable i2c clock only when doing some transfert This patch modify the s3c2410 i2c driver behaviour to enable the i2c clock only when needed. I'm not sure if this has a big impact on power usage but at least it's fixing a bug with the uda1380 codec which needs to be hard reset'ed if the i2c clock is enabled before it's powered on (at least on h1940). Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
7031307aefb6048377385dbb0af2dd43bb0190bb |
|
30-Sep-2010 |
MyungJoo Ham <myungjoo.ham@samsung.com> |
i2c-s3c2410: fix calculation of SDA line delay S3C2440 style I2C controller uses PCLK to calculate the SDA line delay. The driver wrongly assumed that this delay is calculated from the frequency that the controller is operating on. This patch fixes this issue. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
2178218027e4da0608219fae1d02e5c88f4e560d |
|
21-May-2010 |
H Hartley Sweeten <hartleys@visionengravers.com> |
i2c: Use <linux/io.h> instead of <asm/io.h> As warned by checkpatch.pl, <linux/io.h> should be used instead of <asm/io.h>. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
1bc2962e530527de829bf4b1eb99f24dc25d1828 |
|
02-Apr-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
i2c-s3c2410: Remove unconditional 1ms delay on each transfer The S3C I2C controller indicates completion of I2C transfers before the bus has a stop condition on it. In order to ensure that we do not attempt to start a new transfer before the bus is idle the driver currently inserts a 1ms delay. This is vastly larger than is generally required and has a visible effect on performance under load, such as when bringing up audio CODECs or reading back status information with non-bulk I2C reads. Replace the sleep with a spin on the IIC status register for up to 1ms. This will busy wait but testing on my SMDK6410 system indicates that the overwhelming majority of transactions complete on the first spin, with maximum latencies of less than 10 spins so the absolute overhead of busy waiting should be at worst comprable to msleep(), and the overall system performance is dramatically improved. The main risk is poor interaction with multimaster systems where we may miss the bus going idle before the next transaction. Defend against this by falling back to the original 1ms delay after 20 spins. The overall effect in my testing is an approximately 20% improvement in kernel startup time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
5a0e3ad6af8660be21ca98a971cd00f331318c05 |
|
24-Mar-2010 |
Tejun Heo <tj@kernel.org> |
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: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
/drivers/i2c/busses/i2c-s3c2410.c
|
471452104b8520337ae2fb48c4e61cd4896e025d |
|
15-Dec-2009 |
Alexey Dobriyan <adobriyan@gmail.com> |
const: constify remaining dev_pm_ops Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
2e6713c7662cc5ebc7346b033c404cb2f708fd51 |
|
30-Jul-2009 |
Rafael J. Wysocki <rjw@sisk.pl> |
Merge branch 'master' into for-linus
|
0e014e92ba93d905bcb39881dce2d38807b90c34 |
|
17-Jul-2009 |
Peter Korsgaard <jacmet@sunsite.dk> |
i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value s3c24xx_i2c_init() was overwriting the IICLC value set just above in s3c24xx_i2c_clockrate() with zero, effectively disabling the platform line control setting. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
6a6c6189b1fef97de9b8b936131fe2085ac42a5a |
|
08-Jul-2009 |
Magnus Damm <damm@igel.co.jp> |
I2C: Rework i2c-s3c2410 suspend_late()/resume() V2 This is V2 of the i2c-s3c2410 dev_pm_ops patch. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume() -> resume() Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
/drivers/i2c/busses/i2c-s3c2410.c
|
933a2aec8d08cda11c4b427ea7930b0e92eb9bc8 |
|
14-Jun-2009 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: use resource_size() Change the usage of res->end-res->start to resource_size(), missed by the last patch to change this. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
7d85ccd816535f56880f7dfdb4de056794376b2c |
|
12-Jun-2009 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: move to using platform idtable to match devices Change to using platform id table to match either of the two supported platform device names in the driver. This simplifies the driver init and exit code Note, log messages will now be prefixed with 's3c-i2c' instead of the driver name, so output will be of the form of: s3c-i2c s3c2440-i2c.0: slave address 0x10 Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
18dc83a6ea483941fb34293c6805a85bbcf0f718 |
|
26-Feb-2009 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
i2c: i2c-s3c2410: Initialise Samsung I2C controller early This is required in order to ensure that core system devices such as voltage regulators attached via I2C are avaiable early in boot. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
c564e6ae6c5aa6e3995ff87ed4a32b4788ad5109 |
|
13-Mar-2009 |
Daniel Silverstone <dsilvers@simtec.co.uk> |
i2c-s3c2410: Simplify bus frequency calculation The platform data for the i2c-s3c2410 driver used to allow a min, max and desired frequency for the I2C bus. This patch reduces it to simply a desired frequency ceiling and corrects all the uses of the platform data appropriately. This means, for example, that on a system with a 66MHz fclk, a request for 100KHz will achieve 65KHz which is safe and acceptable, rather than 378KHz which it would have achieved without this change. Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk> [ben-linux@fluff.org: tidy subject and description] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
a192f7153bb33151f83440cd9c0442233a064bf1 |
|
27-Mar-2009 |
Ben Dooks <ben@simtec.co.uk> |
i2c-s3c2410: sda_delay should be in ns, not clock ticks The sda_delay field should be specified in ns, not in clock ticks as when using cpufreq we could be changing the bus rate. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
/drivers/i2c/busses/i2c-s3c2410.c
|
22e965c2aeb3e636831c8b28f9d7d8e25199891e |
|
07-Jan-2009 |
Jean Delvare <khali@linux-fr.org> |
i2c: Get rid of remaining bus_id access Use dev_name(dev) instead of accessing dev.bus_id directly, as the latter is going away soon. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Kay Sievers <kay.sievers@vrfy.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
c58bd34d00e04df9a0691732086cf8102b20d907 |
|
06-Jan-2009 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge branch 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-omap: fix type of irq handler function i2c-s3c2410: Change IRQ to be plain integer. i2c-s3c2410: Allow more than one i2c-s3c2410 adapter i2c-s3c2410: Remove default platform data. i2c-s3c2410: Use platform data for gpio configuration i2c-s3c2410: Fixup style problems from checkpatch.pl i2c-omap: Enable I2C wakeups for 34xx i2c-omap: reprogram OCP_SYSCONFIG register after reset i2c-omap: convert 'rev1' flag to generic 'rev' u8 i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle() i2c-omap: Clean-up i2c-omap i2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds i2c-omap: Mark init-only functions as __init i2c-omap: Add support for omap34xx i2c-omap: FIFO handling support and broken hw workaround for i2c-omap i2c-omap: Add high-speed support to omap-i2c i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr() i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg Fix up apparently-trivial conflict in drivers/i2c/busses/i2c-s3c2410.c
|
14a3c4ab0e58d143c7928c9eb2f2610205e13bf2 |
|
31-Dec-2008 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits) [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices [ARM] pxafb: cleanup of the timing checking code [ARM] pxafb: cleanup of the color format manipulation code [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset [ARM] pxafb: allow video memory size to be configurable [ARM] pxa: add document on the MFP design and how to use it [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) [ARM] pxa: Update eseries defconfig [ARM] 5352/1: add w90p910-plat config file [ARM] s3c: S3C options should depend on PLAT_S3C [ARM] mv78xx0: implement GPIO and GPIO interrupt support [ARM] Kirkwood: implement GPIO and GPIO interrupt support [ARM] Orion: share GPIO IRQ handling code [ARM] Orion: share GPIO handling code [ARM] s3c: define __io using the typesafe version [ARM] S3C64XX: Ensure CPU_V6 is selected ...
|
e0d1ec97853fa09cf676dc6b51dafd35db12759e |
|
31-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Change IRQ to be plain integer. Change the code to use a plain integer as the holder for the IRQ for the device and use platform_get_irq() to find it. This makes the code slightly neater, and easier to get the IRQ number. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
692acbd3a866a9f84e18a5980b3a97ca52e501b2 |
|
31-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Allow more than one i2c-s3c2410 adapter Newer SoCs such as the S3C6410 have 2 instances of this i2c controller block in and thus require the ability to create two seperate busses from this. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
6a039cabba3ddd556643156ce0a7cd07da456b20 |
|
31-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Remove default platform data. The platform data should now always be present when the device is initialised, so we can remove the default platform data in the driver. All the device initialisation points in the board specific code should already have been changed to initialise this as necessary. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
8be310a6dea491b28f81672752d9d2c7fc25cdd3 |
|
31-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Use platform data for gpio configuration Add a callback to set the gpio configuration for the i2c device instead of a set include. This also allows the remvoal of the machine gpio and hardware files. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
3d0911bfe03b5f077cef32ca644b5756d48affc3 |
|
31-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Fixup style problems from checkpatch.pl Fixup the 36 warnings and errors generated from running checkpatch.pl on the driver. The warnings are too numerous to be listed here. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
be44f01e8af3862767f466f89c12640a2f2b0038 |
|
31-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: fix check for being in suspend. As noted by Julia Lawall <julia@diku.dk>, we can never trigger the check for being in suspend due to the result of !readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN always being 0. Add suspend/resume hooks to stop i2c transactions happening until the driver has been resumed. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
e856359685143a2f65876e7db4e4aa0ef5dce7f0 |
|
03-Nov-2008 |
Ben Dooks <ben-linux@fluff.org> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-moves2
|
da6801e38b7fba28fbdc0ceae6681d5a261a42a6 |
|
30-Oct-2008 |
Julia Lawall <julia@diku.dk> |
i2c-s3c2410: Correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. In particular, the result of !readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN is always 0. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
9498cb79463c9b2abb243a4b0c2ce3ac1853d5b0 |
|
30-Oct-2008 |
Ben Dooks <ben-linux@fluff.org> |
[ARM] S3C: Move i2c headers to arch/arm/plat-s3c/include/plat. Move the i2c headers to arch/arm/plat-s3c/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
a09e64fbc0094e3073dbb09c3b4bfe4ab669244b |
|
05-Aug-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/drivers/i2c/busses/i2c-s3c2410.c
|
4fb8af10d0fd09372d52966b76922b9e82bbc950 |
|
07-Aug-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes
|
be509729356b7433f73df2b9a966674a437fbbc1 |
|
04-Aug-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead 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: Russell King <rmk+kernel@arm.linux.org.uk>
/drivers/i2c/busses/i2c-s3c2410.c
|
61c7cff89224fc5651b5ba5ff2185d19304b2484 |
|
28-Jul-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c: S3C24XX I2C frequency scaling support. Add support for CPU frequency scaling to the S3C24XX I2C driver. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
399dee2371787825a1845de87c0cbee7b7c30ad6 |
|
28-Jul-2008 |
Ben Dooks <ben-linux@fluff.org> |
i2c: S3C2410: Pass the I2C bus number via drivers platform data Allow the platform data to specify the bus bumber that the new I2C bus will be given. This is to allow the use of the board registration mechanism to specify the new style of I2C device registration which allows boards to provide a list of attached devices. Note, as discussed on the mailing list, we have dropped backwards compatibility of adding an dynamic bus number as it should not affect most boards to have the bus pinned to 0 if they have either not specified platform data for driver. Any board supplying platform data will automatically have the bus_num field set to 0, and anyone who needs the driver on a different bus number can supply platform data to set bus_num. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
3401b2fff38fbb8b73ea6bcc69a8370ae5d2a7a0 |
|
14-Jul-2008 |
Jean Delvare <khali@linux-fr.org> |
i2c: Let bus drivers add SPD to their class Let general purpose I2C/SMBus bus drivers add SPD to their class. Once this is done, we will be able to tell the eeprom driver to only probe for SPD EEPROMs and similar on these buses. Note that I took a conservative approach here, adding I2C_CLASS_SPD to many drivers that have no idea whether they can host SPD EEPROMs or not. This is to make sure that the eeprom driver doesn't stop probing buses where SPD EEPROMs or equivalent live. So, bus driver maintainers and users should feel free to remove the SPD class from drivers those buses never have SPD EEPROMs or they don't want the eeprom driver to bind to them. Likewise, feel free to add the SPD class to any bus driver I might have missed. Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
d150a4bbd0e5c6427e66086b139953428680160b |
|
01-Jul-2008 |
Ben Dooks <ben-linux@fluff.org> |
I2C: S3C2410: Add MODULE_ALIAS() for s3c2440 device. Add a MODULE_ALIAS() statement for the i2c-s3c2410 controller to ensure that it can be autoloaded on the S3C2440 systems that we support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
63f5c2891eae6b4dd0538ef094e5f256d6150d7b |
|
01-Jul-2008 |
Ben Dooks <ben-linux@fluff.org> |
I2C: S3C2410: Fixup error codes returned rom a transfer. The driver should be returning -ENXIO for transfers that do not pass the initial address byte stage. Note, also small tidyups to the driver comments in the area. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
2709781be6141798162f1089df728fb218a590df |
|
01-Jul-2008 |
Ben Dooks <ben-linux@fluff.org> |
I2C: S3C2410: Check ACK on byte transmission We should check for the reception of an ACK after transmitting each data byte. The address send has been correctly checking this, but the data write byte state should have also been checking for these failures. As part of the same fix, we remove the ACK checking from the receive path where it should not have been checking for an ACK which our hardware was sending. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
add8eda7f2be781af0224241e870715cf0cfd75a |
|
22-Apr-2008 |
Kay Sievers <kay.sievers@vrfy.org> |
i2c: Fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, 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: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
08882d20932224d5c4500a855a2f4b1216e5f836 |
|
22-Apr-2008 |
Harvey Harrison <harvey.harrison@gmail.com> |
i2c: Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
b5d0b4ba389711183b5af71438fe21b40ee32d6d |
|
14-Aug-2007 |
Ben Dooks <ben@fluff.org> |
i2c-s3c2410: Build fix Fixup the include files after the arch moves that where included in 2.6.23. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
a1ba15832c8f6ac2d5d193a6dbb91bcf7705b732 |
|
22-May-2007 |
Arnaud Patard <arnaud.patard@rtp-net.org> |
i2c-s3c2410: Fix build warning Fix for the following build warning: CC drivers/i2c/busses/i2c-s3c2410.o drivers/i2c/busses/i2c-s3c2410.c: In function 's3c24xx_i2c_probe': drivers/i2c/busses/i2c-s3c2410.c:839: warning: format '%ld' expects type 'long int', but argument 4 has type 'resource_size_t' Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
5b68790cd5e2879067bcbc45b01eeb6081e7d731 |
|
01-May-2007 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Fix bug in releasing driver When compiled as a module, the i2c-s3c2410 driver does not free either the IRQ or the i2c adapter it attached to the system. As part of this fix, move to the usual kernel style of freeing items as part of the probe error path making the remove process easier. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
e00a8cdf325346c531c841ee85c803792db60157 |
|
01-May-2007 |
Ben Dooks <ben-linux@fluff.org> |
i2c-s3c2410: Fix I2C SDA to SCL setup time Fix the setup time for SDA to SCL due to the way the S3C24XX I2C controller works. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
35532d20035d04b0ec28508583a56c7a65c5fa47 |
|
01-May-2007 |
Milind Arun Choudhary <milindchoudhary@gmail.com> |
i2c: SPIN_LOCK_UNLOCKED cleanup SPIN_LOCK_UNLOCKED cleanup, use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
cd354f1ae75e6466a7e31b727faede57a1f89ca5 |
|
14-Feb-2007 |
Tim Schmielau <tim@physik3.uni-rostock.de> |
[PATCH] remove many unneeded #includes of sched.h After Al Viro (finally) succeeded in removing the sched.h #include in module.h recently, it makes sense again to remove other superfluous sched.h includes. There are quite a lot of files which include it but don't actually need anything defined in there. Presumably these includes were once needed for macros that used to live in sched.h, but moved to other header files in the course of cleaning it up. To ease the pain, this time I did not fiddle with any header files and only removed #includes from .c-files, which tend to cause less trouble. Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha, arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig, allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all configs in arch/arm/configs on arm. I also checked that no new warnings were introduced by the patch (actually, some warnings are removed that were emitted by unnecessarily included header files). Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
7d12e780e003f93433d49ce78cfedf4b4c52adc5 |
|
05-Oct-2006 |
David Howells <dhowells@redhat.com> |
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
/drivers/i2c/busses/i2c-s3c2410.c
|
8f9082c5ce0e2c2f7ad0211b0c089f680d2efc11 |
|
03-Sep-2006 |
Jean Delvare <khali@linux-fr.org> |
i2c: Constify i2c_algorithm declarations, part 2 i2c: Constify i2c_algorithm declarations, part 2 Make struct i2c_algorithm declarations const in all i2c bus drivers where it is possible. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
dace145374b8e39aeb920304c358ab5e220341ab |
|
02-Jul-2006 |
Thomas Gleixner <tglx@linutronix.de> |
[PATCH] irq-flags: misc drivers: Use the new IRQF_ constants Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/i2c/busses/i2c-s3c2410.c
|
6ab3d5624e172c553004ecc862bfeac16d9d68b7 |
|
30-Jun-2006 |
Jörn Engel <joern@wohnheim.fh-wedel.de> |
Remove obsolete #include <linux/config.h> Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
f8ce25476d5f12ffa29b885e49c38cd95053437e |
|
07-Jan-2006 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] Move asm/hardware/clock.h to linux/clk.h This is needs to be visible to other architectures using the AMBA bus and peripherals. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/drivers/i2c/busses/i2c-s3c2410.c
|
a8d3584a2df28827094f6338cde1303c467bc1f0 |
|
03-Jan-2006 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] Remove clk_use()/clk_unuse() It seems that clk_use() and clk_unuse() are additional complexity which isn't required anymore. Remove them from the clock framework to avoid the additional confusion which they cause, and update all ARM machine types except for OMAP. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/drivers/i2c/busses/i2c-s3c2410.c
|
3ae5eaec1d2d9c0cf53745352e7d4b152810ba24 |
|
09-Nov-2005 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[DRIVER MODEL] Convert platform drivers to use struct platform_driver This allows us to eliminate the casts in the drivers, and eventually remove the use of the device_driver function pointer methods for platform device drivers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
e32e28edc3d894201e15b19df627af66023aa91f |
|
30-Oct-2005 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[DRIVER MODEL] Add missing driver_unregister in i2c-s3c2410 failure path. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
d052d1beff706920e82c5d55006b08e256b5df09 |
|
29-Oct-2005 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
Create platform_device.h to contain all the platform device details. Convert everyone who uses platform_bus_type to include linux/platform_device.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
0cf3628181660be4e21fe520766dcbc3da9d71c8 |
|
17-Oct-2005 |
Laurent Riffard <laurent.riffard@free.fr> |
[PATCH] Owner field additions to many i2c drivers, 2 of 5 This patch updates the .owner field for various struct xxxx_driver variables, other than pci_driver. Signed-off-by: Laurent Riffard <laurent.riffard@free.fr> Signed-off-by: Jean Delvare <khali@linux-fr> Acked-by: Mark A. Greer <mgreer@mvista.com> Acked-by: Ben Dooks <ben-linux@fluff.org> Acked-by: Deepak Saxena <dsaxena@mvista.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
9480e307cd88ef09ec9294c7d97ebec18e6d2221 |
|
28-Oct-2005 |
Russell King <rmk@arm.linux.org.uk> |
[PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks In PM v1, all devices were called at SUSPEND_DISABLE level. Then all devices were called at SUSPEND_SAVE_STATE level, and finally SUSPEND_POWER_DOWN level. However, with PM v2, to maintain compatibility for platform devices, I arranged for the PM v2 suspend/resume callbacks to call the old PM v1 suspend/resume callbacks three times with each level in order so that existing drivers continued to work. Since this is obsolete infrastructure which is no longer necessary, we can remove it. Here's an (untested) patch to do exactly that. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
975185880d55676b1352047e82a0cb84173c6c28 |
|
11-Aug-2005 |
Jean Delvare <khali@linux-fr.org> |
[PATCH] I2C: Kill i2c_algorithm.name (1/7) The name member of the i2c_algorithm is never used, although all drivers conscientiously fill it. We can drop it completely, this structure doesn't need to have a name. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
44bbe87e9017efa050bb1b506c6822f1f3bb94d7 |
|
04-May-2005 |
Steven Cole <elenstev@mesatop.com> |
[PATCH] Spelling fixes for drivers/i2c. Here are some spelling corrections for drivers/i2c. occured -> occurred intialization -> initialization Everytime -> Every time transfering -> transferring relevent -> relevant continous -> continuous neccessary -> necessary explicitely -> explicitly Celcius -> Celsius differenciate -> differentiate Signed-off-by: Steven Cole <elenstev@mesatop.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
f0bb60e7b1a0a26c25d8cbf81dda7afbc8bd2982 |
|
16-Apr-2005 |
Alexey Dobriyan <adobriyan@mail.ru> |
[PATCH] I2C: drivers/i2c/*: #include <linux/config.h> cleanup Files that don't use CONFIG_* stuff shouldn't include config.h Files that use CONFIG_* stuff should include config.h It's that simple. ;-) Signed-off-by: Alexey Dobriyan <adobriyan@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/i2c/busses/i2c-s3c2410.c
|
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 |
|
17-Apr-2005 |
Linus Torvalds <torvalds@ppc970.osdl.org> |
Linux-2.6.12-rc2 Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
/drivers/i2c/busses/i2c-s3c2410.c
|