- 22 6月, 2009 2 次提交
-
-
由 Michael Trimarchi 提交于
When a process tries to read/write a disconnected i2c device, it receives a signal (e.g. ctrl-c) and the kernel gets stuck. BUG: soft lockup - CPU#0 stuck for 61s! [I2CEEpromTest:392] NIP: c01628f8 LR: c01628f0 CTR: c00177cc REGS: c39abd70 TRAP: 0901 Not tainted (2.6.25.7-alcore) MSR: 00009032 <EE,ME,IR,DR> CR: 42042048 XER: 20000000 TASK = c3889bd0[392] 'I2CEEpromTest' THREAD: c39aa000 GPR00: 00009000 c39abe20 c3889bd0 c39075c8 c39abe28 00000001 00000000 00000001 GPR08: c3889bd0 c39075c8 00009032 c39abe34 00002437 NIP [c01628f8] cpm_i2c_xfer+0x5fc/0x6d0 LR [c01628f0] cpm_i2c_xfer+0x5f4/0x6d0 Call Trace: [c39abe20] [c0162924] cpm_i2c_xfer+0x628/0x6d0 (unreliable) [c39abe90] [c015f6a0] i2c_transfer+0x88/0xb4 [c39abeb0] [c0160164] i2c_master_recv+0x48/0x6c [c39abed0] [c01618dc] i2cdev_read+0x50/0xe4 [c39abef0] [c0068b24] vfs_read+0xc4/0x108 [c39abf10] [c0068f4c] sys_read+0x4c/0x90 [c39abf40] [c000d348] ret_from_syscall+0x0/0x38 Instruction dump: 3bc00064 92610010 3bf201c8 92810014 3b61 This happen because though the wait_event_interruptible_timeout takes the signals into account, the driver does not handle them. We propose to change the wait_event_interruptible_timeout with wait_event_timeout, leaving the signals to be handled in other points on the upper layers. Signed-off-by: NBruno Morelli <bruno@evidence.eu.com> Signed-off-by: NMichael Trimarchi <michael@evidence.eu.com> Acked-by: NJochen Friedrich <jochen@scram.de> [ben-linux@fluff.org: fix title for patch] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Tony Lindgren 提交于
Hi Ben, Can you please queue this fix? Thanks, Tony >From ffe2b2cdf6283770b70a197e3748c6b40a1006be Mon Sep 17 00:00:00 2001 From: Tony Lindgren <tony@atomide.com> Date: Wed, 17 Jun 2009 13:14:23 +0300 Subject: [PATCH] i2c-omap: Fix build breaking typo in cpu_is_omap_2430 Commit 84bf2c86 introduced a typo, it should be cpu_is_omap2430 instead. The typo was probably caused by a mismerge. Without this patch all omaps fail to build with: error: implicit declaration of function 'cpu_is_omap_2430' Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 17 6月, 2009 6 次提交
-
-
由 Wolfgang Denk 提交于
So far, MPC512x used mpc512x_find_ips_freq() to get the bus frequency, while MPC52xx used mpc52xx_find_ipb_freq(). Despite the different clock names (IPS vs. IPB) the code was identical. Use common code for both processor families. Signed-off-by: NWolfgang Denk <wd@denx.de> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Linus Walleij 提交于
This makes the stu300 driver for the ST Micro ST DDC I2C bus driver depend on MACH_U300, new platforms reusing this I2C driver will need to add in a similar dependency. Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> [ben-linux@fluff.org: re-aranged subject line] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Ben Dooks 提交于
Change the usage of res->end-res->start to resource_size(), missed by the last patch to change this. Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
This replace all instances in the i2c busses tree of res->end - res->start + 1 with the handy macro resource_size(res) from ioport.h (coming in from platform_device.h). This was created with a simple sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g' Then manually replacing the PXA redefiniton of the same kind of macro manually. Recompiled some ARM defconfigs I could find to make a rough test so it shouldn't break anything, though I couldn't see exactly which configs you need for all the drivers. Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
This adds support for the ST Microelectronics DDC I2C bus driver. This bus is used in the U300 architecture recently added to RMK:s ARM tree. Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Reviewed-by: NBen Dooks <ben-linux@fluff.org> Reviewed-by: NJean Delvare <khali@linus-fr.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Mike Frysinger 提交于
Rather than relying on some of the headers implicitly pulling in io.h, pull it in explicitly our self for ioremap() and friends. Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 16 6月, 2009 2 次提交
-
-
由 Harald Welte 提交于
The south bridge of the VIA VX855 chipset has a different PCI Device ID so i2c-viapro.c needs to be updated with this. Signed-off-by: NHarald Welte <HaraldWelte@viatech.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
There's no point in giving the I2C bus of Voodoo3 adapters a class value, there's no video chip driver checking for it anymore. If support is ever needed, the video device should be instantiated explicitly rather than probed. To the best of my knowledge the only video chip that can be found on these boards is a BT869 video encoder, for which no support exists currently. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NKrzysztof Helt <krzysztof.h1@wp.pl>
-
- 13 6月, 2009 8 次提交
-
-
由 Richard Röjfors 提交于
There is sometimes a need for the ocores driver to add devices to the bus when installed. i2c_register_board_info can not always be used, because the I2C devices are not known at an early state, they could for instance be connected on a I2C bus on a PCI device which has the Open Cores IP. i2c_new_device can not be used in all cases either since the resulting bus nummer might be unknown. The solution is the pass a list of I2C devices in the platform data to the Open Cores driver. This is useful for MFD drivers. Signed-off-by: NRichard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Ben Dooks 提交于
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: NBen Dooks <ben-linux@fluff.org>
-
由 Aaro Koskinen 提交于
Use longer noise filter period for fast and standard mode. Based on an earlier patch by Eero Nurkkala. Signed-off-by: NAaro Koskinen <aaro.koskinen@nokia.com> Acked-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Aaro Koskinen 提交于
Fix scll/sclh calculations for HS and fast modes. Currently the driver uses equal (roughly) low/high times which will result in too short low time. OMAP3430 TRM gives the following equations: F/S: tLow = (scll + 7) * internal_clk tHigh = (sclh + 5) * internal_clk HS: tLow = (scll + 7) * fclk tHigh = (sclh + 5) * fclk Furthermore, the I2C specification sets the following minimum values for HS tLow/tHigh for capacitive bus loads 100 pF (maximum speed 3400) and 400 pF (maximum speed 1700): speed tLow tHigh 3400 160 ns 60 ns 1700 320 ns 120 ns and for F/S: speed tLow tHigh 400 1300 ns 600 ns 100 4700 ns 4000 ns By using duty cycles 33/66 (HS, F) and 50/50 (S) we stay above these minimum values. Signed-off-by: NAaro Koskinen <aaro.koskinen@nokia.com> Acked-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Michael Hennerich 提交于
Some drivers need i2c_smbus_read_i2c_block_data() functionality, so add support for it to the Blackfin I2C bus driver. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> [ben-linux@fluff.org: shortened subject] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Frank Shew 提交于
We have a custom BF537 board with an I2C RTC (MAX DS3231) running uclinux 2007R1 for some time. Recently during migration to 2008R1.5-RC3 we losted access to the RTC. The RTC driver calls 'i2c_transfer()' which in turns calls 'bfin_twi_master_xfer()' in i2c-bfin-twi.c. Compared with 2007R1, it looks like the 2008R1.5 version of i2c-bin-twi.c has a new mode 'TWI_I2C-MODE_REPEAT' which corresponds to the Repeat Start Condition described in the HRM. However, according to the HRM, at XMIT or RECV interrupt and when the data count is 0, not only is the RESTART bit supposed to be set, but MDIR must also be set if the next operation is a receive sequence, and cleared if not. Currently there is no code that looks at the I2C_M_RD bit in the flag from the next cur_msg and set/clear the MDIR flag accordingly at the same time that the RSTART bit is set. Instead, MDIR is set or cleared (by OR'ing with 0?) after the RESTART bit has been cleared during handling of MCOMP interrupt. It appears that this is causing our failure with reading the RTC, as a quick patch to set/clear MDIR when RESTART is set seem to solve our problem. Signed-off-by: NFrank Shew <fshew@geometrics.com> Signed-off-by: NSonic Zhang <sonic.zhang@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBryan Wu <cooloney@kernel.org> [ben-linux@fluff.org: shorted subject] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Sonic Zhang 提交于
Avoid rewrite TWI MASTER_CTL reg when issue next message In i2c repeat transfer mode, byte count of next message should be filled into part of the TWI MASTER_CTL reg when interrupt MCOMP of last message transfer is triggered. But, other bits in this reg should not be touched. Signed-off-by: NSonic Zhang <sonic.zhang@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBryan Wu <cooloney@kernel.org> [ben-linux@fluff.org: shorted subject] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Michael Hennerich 提交于
Make sure we don't end up with an invalid CLKDIV=0 in case someone specifies 20kHz SCL or less (5 * 1024 / 20 = 0x100). Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBryan Wu <cooloney@kernel.org> [ben-linux@fluff.org: shortened subject line] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 05 6月, 2009 2 次提交
-
-
由 Eric Miao 提交于
Signed-off-by: NPaul Shen <paul.shen@marvell.com> Signed-off-by: NEric Miao <eric.miao@marvell.com>
-
由 Eric Miao 提交于
Signed-off-by: NEric Miao <eric.miao@marvell.com>
-
- 04 6月, 2009 1 次提交
-
-
由 Sean MacLennan 提交于
The i2c-ibm_iic driver printed messages in an odd order that seemed to list devices before the driver was probed. Here is an example: at24 0-0052: 512 byte 24c04 EEPROM (writable) ibm-iic ef600700.i2c: using standard (100 kHz) mode ad7414 0-004a: chip found This changes the order to print the i2c driver message before scanning for devices so that the logs show the driver, then the devices. Signed-off-by: NSean MacLennan <smaclennan@pikatech.com> Acked-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
-
- 13 5月, 2009 1 次提交
-
-
由 Paul Mundt 提交于
For consistenct naming, and to allow us to fix up some confusion in the SH-Mobile clock framework, amongst other places. Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
-
- 12 5月, 2009 3 次提交
-
-
由 Mark Ware 提交于
Recent DMA changes result in a BUG() when NULL is passed to dma_alloc_coherent in place of a device. Signed-off-by: NMark Ware <mware@elphinstone.net> [ben-linux@fluff.org: fix patch moves] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Mark Brown 提交于
This controller is also present on the S3C64xx series processors so enable the driver in Kconfig for those platforms. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Wolfgang Grandegger 提交于
The clock setting did not work for the MPC52xx due to a stupid bug. Furthermore, the dev info output "clock=0" for old device trees was misleading. This patch fixes both issues. Signed-off-by: NWolfgang Grandegger <wg@grandegger.com> Acked-by: NGrant Likely <grant.likely@secretlab.ca> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 05 5月, 2009 1 次提交
-
-
由 Roel Kluin 提交于
with while (timeout++ < MAX_TIMEOUT); timeout reaches MAX_TIMEOUT + 1 after the loop, so the tests below are off by one. Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 04 5月, 2009 1 次提交
-
-
由 Roel Kluin 提交于
With `while (timeout--)' timeout reaches -1 after the loop, so the tests below are off by one. Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 13 4月, 2009 1 次提交
-
-
由 Jean Delvare 提交于
Support for I2C/DDC was recently added to the tdfxfb driver, which means that the i2c-voodoo3 driver can be deprecated. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
-
- 07 4月, 2009 10 次提交
-
-
由 Wolfram Sang 提交于
'disable_delay' was static which is wrong as it is calculated using the per-device bus speed. This patch turns 'disable_delay' into a per-device variable. Reported-by: NSascha Hauer <s.hauer@pengutronix.de> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: NDarius Augulis <augulis.darius@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Oskar Schirmer 提交于
Support for the s6000 on-chip i2c controller. Signed-off-by: NOskar Schirmer <os@emlix.com> Signed-off-by: NDaniel Glöckner <dg@emlix.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Wolfgang Grandegger 提交于
This patch makes the I2C bus speed configurable by using the I2C node property "clock-frequency". If the property is not defined, the old fixed clock settings will be used for backward comptibility. The generic I2C clock properties, especially the CPU-specific source clock pre-scaler are defined via the OF match table: static const struct of_device_id mpc_i2c_of_match[] = { ... {.compatible = "fsl,mpc8543-i2c", .data = &(struct fsl_i2c_match_data) { .setclock = mpc_i2c_setclock_8xxx, .prescaler = 2, }, }, The "data" field defines the relevant I2C setclock function and the relevant pre-scaler for the I2C source clock frequency. It uses arch-specific tables and functions to determine resonable Freqency Divider Register (fdr) values for MPC83xx, MPC85xx, MPC86xx, MPC5200 and MPC5200B. The i2c->flags field and the corresponding FSL_I2C_DEV_* definitions have been removed as they are obsolete. Signed-off-by: NWolfgang Grandegger <wg@grandegger.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Wolfgang Grandegger 提交于
This patch used the dev_dbg, dev_err, etc. functions for debug and error output instead of printk and pr_debug. Signed-off-by: NWolfgang Grandegger <wg@grandegger.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Wolfgang Grandegger 提交于
Fix errors reported by checkpatch (indention, long lines, trailing white space, etc.). Signed-off-by: NWolfgang Grandegger <wg@grandegger.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Darius Augulis 提交于
Signed-off-by: NDarius Augulis <augulis.darius@gmail.com> [ben-linux@fluff.org: fix minor patch fault in remove] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Mark Brown 提交于
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: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Daniel Silverstone 提交于
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: NSimtec Linux Team <linux@simtec.co.uk> Signed-off-by: NDaniel Silverstone <dsilvers@simtec.co.uk> [ben-linux@fluff.org: tidy subject and description] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Ben Dooks 提交于
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: NBen Dooks <ben@simtec.co.uk>
-
由 Darius Augulis 提交于
Implementation of I2C Adapter/Algorithm Driver for I2C Bus integrated in Freescale's i.MX/MXC processors. Signed-off-by: NDarius Augulis <augulis.darius@gmail.com> Tested-by: NSascha Hauer <s.hauer@pengutronix.de> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 31 3月, 2009 1 次提交
-
-
由 Hans de Goede 提交于
Detect various FSC hwmon IC's based on DMI tables and then let the i2c-i801 driver instantiate the i2c client devices. Note that some of the info in the added table is indentical for all rows, still this is kept in the table to keep the code general and thus (hopefully) easily extensible in the future. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 29 3月, 2009 1 次提交
-
-
由 Flavio Leitner 提交于
Add support for the Broadcom HT1100 LD chipset (SMBus function.) Signed-off-by: NFlavio Leitner <fbl@redhat.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-