- 23 2月, 2011 2 次提交
-
-
由 Kevin Hilman 提交于
When runtime PM is enabled, each OMAP i2c device is suspended after each i2c xfer. However, there are two cases when the static suspend methods must be used to ensure the devices are suspended: 1) runtime PM is disabled, either at compile time or dynamically via /sys/devices/.../power/control. 2) an i2c client driver uses i2c during it's suspend callback, thus leaving the i2c driver active (NOTE: runtime suspend transitions are disabled during system suspend, so i2c activity during system suspend will runtime resume the device, but not runtime (re)suspend it.) Since the actual work to suspend the device is handled by the subsytem, call the bus methods to take care of it. NOTE: This takes care of a known suspend problem on OMAP3 where the TWL RTC driver does i2c xfers during its suspend path leaving the i2c driver in an active state (since runtime suspend transistions are disabled.) Signed-off-by: NKevin Hilman <khilman@ti.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Wolfram Sang 提交于
Use strlcpy instead of strncpy. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Linus Walleij <linus.walleij@stericsson.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 15 1月, 2011 3 次提交
-
-
由 Mark Brown 提交于
Since the PM core wishes to transition away from the legacy suspend and resume methods and since removing them makes using PM core features like runtime PM much easier start warning when a driver is registered using the legacy methods. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Mark Brown 提交于
When devices use dev_pm_ops the I2C API is implementing standard functionality for integration with runtime PM and for checking for the presence of a per device op. The PM core provides pm_generic_ functions implementing this behaviour - use them to reduce coupling with future PM updates. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Remove real devices first and dummy devices last. This gives device driver which instantiated dummy devices themselves a chance to clean them up before we do. Signed-off-by: NJean Delvare <khali@linux-fr.org> Tested-by: NHans Verkuil <hverkuil@xs4all.nl> Cc: stable@kernel.org
-
- 14 1月, 2011 1 次提交
-
-
由 Andres Salomon 提交于
The SCx200 ACB driver supports ISA hardware as well as PCI. The PCI hardware is CS5535/CS5536 based, and the device that it grabs is handled by the cs5535-mfd driver. This converts the SCx200 driver to use a platform_driver rather than the previous PCI hackery. The driver used to manually track the iface list (via linked list); now it only does this for ISA devices. PCI ifaces are handled through standard driver model lists. It's unclear what happens in case of errors in the old ISA code; rather than pretending the code actually cares, I've dropped the (implicit) ignorance of return values and marked it with a comment. Signed-off-by: NAndres Salomon <dilinger@queued.net> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 13 1月, 2011 2 次提交
-
-
由 Michael Hennerich 提交于
Some systems using this bus sometimes have very basic devices such as regulators on the bus, so the I2C bus master needs to be loaded early. This also matches the behavior of many other I2C bus master drivers. Therefore initialize via subsys_initcall(). Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Michael Hennerich 提交于
Faulty slave devices might drive SDA low after a transfer finishes. So, when this scenario is detected, have the master generate up to 9 extra clocks until the SDA is properly released. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 11 1月, 2011 6 次提交
-
-
由 Jean Delvare 提交于
Helper functions for I2C and SMBus transactions don't modify the i2c_client that is passed to them, so it can be marked const. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
The I2C specification explicitly describes both SDA and SCL as bidirectional lines. An I2C master with a read-only SCL is thus not compliant. If a slow slave stretches the clock, errors will happen, so the bus can't be considered as reliable. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Use a function pointer to decide whether to call i2c_add_adapter or i2c_add_numbered_adapter. This makes the code more compact than the current strategy of having the common code in a separate function. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Peter Korsgaard 提交于
Add an i2c mux driver providing access to i2c bus segments using a hardware MUX sitting on a master bus and controlled through gpio pins. E.G. something like: ---------- ---------- Bus segment 1 - - - - - | | SCL/SDA | |-------------- | | | |------------| | | | | | Bus segment 2 | | | Linux | GPIO 1..N | MUX |--------------- Devices | |------------| | | | | | | | Bus segment M | | | |---------------| | ---------- ---------- - - - - - SCL/SDA of the master I2C bus is multiplexed to bus segment 1..M according to the settings of the GPIO pins 1..N. Signed-off-by: NPeter Korsgaard <peter.korsgaard@barco.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Joe Perches 提交于
Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Ben Hutchings 提交于
Commit 5a0e3ad6 added direct inclusion of <linux/slab.h> to those source files that appeared to need it, but somehow missed this. On most architectures <linux/slab.h> is still indirectly included, but there are exceptions such as alpha. Signed-off-by: NBen Hutchings <ben@decadent.org.uk> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 04 1月, 2011 8 次提交
-
-
由 Rodolfo Giometti 提交于
As stated into file include/linux/i2c.h we must send a repeated START between messages in the same xfer groupset: * Except when I2C "protocol mangling" is used, all I2C adapters implement * the standard rules for I2C transactions. Each transaction begins with a * START. That is followed by the slave address, and a bit encoding read * versus write. Then follow all the data bytes, possibly including a byte * with SMBus PEC. The transfer terminates with a NAK, or when all those * bytes have been transferred and ACKed. If this is the last message in a * group, it is followed by a STOP. Otherwise it is followed by the next * @i2c_msg transaction segment, beginning with a (repeated) START. Signed-off-by: NRodolfo Giometti <giometti@linux.it> Signed-off-by: NMauro Barella <mbarella@vds-it.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
The Nomadik I2C adapter does not provide a name for the struct passed into i2c_add_numbered_adapter() causing a regression on 2.6.37-rc3 due to commit 2236baa7 adding sanity checks for adapters. Fix this by providing a name proper. Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Samu Onkalo 提交于
Ordinary I2C read consist of two messages. First a write operation to tell register address and then read operation to get data. CPU wake up latency is set and removed twice in read case. Set latency requirement before the message processing loop and remove the requirement after the loop to remove latency adjustment operations between the messages. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com> Acked-by: NPaul Walmsley <paul@pwsan.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Tomoya MORINAGA 提交于
I2C driver for Intel EG20T PCH Signed-off-by: NTomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Reviewed-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NQi Wang <qi.wang@intel.com> [ben-linux@fluff.org: reworded commit message] Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jonas Bonn 提交于
This puts some documentation for the device tree configuration at the head of the driver file. Hopefully this can get moved to a common area for this type of documentation at a later date; unfortunately, there isn't really such a place in the kernel tree at this time. Furthermore, the regstep and clock-frequency parameters are really bus parameters and should probably be passed to the driver in a better way. Consider that a TODO. Signed-off-by: NJonas Bonn <jonas@southpole.se> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jonas Bonn 提交于
This patch converts the i2c-cores driver to use devres routines for resource allocation. Signed-off-by: NJonas Bonn <jonas@southpole.se> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jonas Bonn 提交于
This patch adapts the i2c-ocores driver for being defined and configured via a device tree description. The device tree bits need to be protected by CONFIG_OF guards as this is still an optional feature. Signed-off-by: NJonas Bonn <jonas@southpole.se> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Aaro Koskinen 提交于
Eliminate unnecessary casts and the following sparse warnings: drivers/i2c/busses/i2c-iop3xx.c:65:9: warning: incorrect type in argument 1 (different base types) drivers/i2c/busses/i2c-iop3xx.c:65:9: expected void const volatile [noderef] <asn:2>*<noident> drivers/i2c/busses/i2c-iop3xx.c:65:9: got unsigned int [ the previous warning is repeated 18 times ] drivers/i2c/busses/i2c-iop3xx.c:456:33: warning: cast removes address space of expression Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 21 12月, 2010 1 次提交
-
-
由 Benoit Cousson 提交于
The convention for omap device naming is omap_XXX. Rename the device and driver name in order to stick to this naming convention. Change device name in clock nodes as well. Signed-off-by: NBenoit Cousson <b-cousson@ti.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Rajendra Nayak <rnayak@ti.com> Cc: Ben Dooks <ben-i2c@fluff.org> Acked-by: NPaul Walmsley <paul@pwsan.com> Acked-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NTony Lindgren <tony@atomide.com>
-
- 15 12月, 2010 1 次提交
-
-
由 Alan Cox 提交于
This gets caught by the new sanity check code. Instead of the slash use a different symbol. This was originally found by Major Lee who proposed a rather more complex patch which changed the name according to the chip type. On the basis that we are in a late -rc and making Linus grumpy isn't always a good idea (however fun) this is a simple alternative. Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 22 11月, 2010 2 次提交
-
-
由 Arnaud Lacombe 提交于
Signed-off-by: NArnaud Lacombe <lacombar@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Arnaud Lacombe 提交于
This reverts commit 0a57274e. Signed-off-by: NArnaud Lacombe <lacombar@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 16 11月, 2010 2 次提交
-
-
由 Jean Delvare 提交于
Make sure I2C adapters being registered have the required struct fields set. If they don't, problems will happen later. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
It's about time to make it clear that i2c_adapter.id is deprecated. Hopefully this will remind the last user to move over to a different strategy. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NJarod Wilson <jarod@redhat.com> Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com> Acked-by: NHans Verkuil <hverkuil@xs4all.nl>
-
- 10 11月, 2010 1 次提交
-
-
由 Rajendra Nayak 提交于
This patch converts the i2c driver to use PM runtime apis Signed-off-by: NRajendra Nayak <rnayak@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Jean Delvare <khali@linux-fr.org> Acked-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 02 11月, 2010 1 次提交
-
-
由 Uwe Kleine-König 提交于
"gadget", "through", "command", "maintain", "maintain", "controller", "address", "between", "initiali[zs]e", "instead", "function", "select", "already", "equal", "access", "management", "hierarchy", "registration", "interest", "relative", "memory", "offset", "already", Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 01 11月, 2010 3 次提交
-
-
由 David Woodhouse 提交于
These are the extra 'Integrated Device Function' SMBus controllers found on the Patsburg chipset. Mention the absence of slave mode support. Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 David Woodhouse 提交于
It's poor form to keep driver state in global variables rather than per-instance. It never really mattered in practice when there was only one controller on the chipset, but the latest chipsets do have more than one controller, so now we care. Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Seth Heasley 提交于
Add support for the Intel Patsburg PCH SMBus Controller. Signed-off-by: NSeth Heasley <seth.heasley@intel.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 30 10月, 2010 1 次提交
-
-
由 Randy Dunlap 提交于
i2c-intel-mid driver uses PCI data structs and interfaces, so it should depend on PCI. Fixes these build errors: drivers/i2c/busses/i2c-intel-mid.c:977: error: implicit declaration of function 'pci_request_region' drivers/i2c/busses/i2c-intel-mid.c:1077: error: implicit declaration of function 'pci_release_region' Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com> Cc: Ba Zheng <zheng.ba@intel.com> Cc: Jean Delvare <khali@linux-fr.org> Cc: Ben Dooks <ben-linux@fluff.org> Cc: linux-i2c@vger.kernel.org Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 28 10月, 2010 1 次提交
-
-
由 Alan Cox 提交于
(Updated to address Ben's comments. With regard to the message segment restriction it's not something we hit on the actual platform so while I will investigate that further I don't think its a blocker to submission. At worst its a spot over-restrictive) From: Wen Wang <wen.w.wang@intel.com> Initial release of the driver. Updated and verified on hardware. Cleaned up as follows Alan Cox: Squash down the switches into tables, and use the PCI ident field. We could perhaps take this further and put the platform and port number into this. uint32t -> u32 bracketing of case statements spacing and '!' usage Check the speed (which is now 0/1/2) is valid and ignore otherwise. Fix remaining problems/suggestions from Jean's review Fix items from Ben's review Arjan van de Ven: Initial power management hooks Yong Wang <youg.y.wang@intel.com>: Shared IRQ support Wen Wang <wen.w.wang@intel.com>: D3 support Fixes for OCT test runs Interrupt optimisations Hong Liu <hong.liu@intel.com> The runtime PM code is working on the wrong device (i2c_adapter->dev). The correct one should be pci_dev->dev. This breaks attached i2c slave devices with runtime PM enabled. Slave device needs to runtime resume parent device before runtime resuming itself, but we always get error since we don't have pm_runtime callback for i2c_adapter->dev. Bin Yang <bin.yang@intel.com>: Update speed table Saadi Maalem <saadi.maalem@intel.com>: Clear all interrupts in the hardware init Celine Chotard <celinex.chotard@intel.com>: Correct ordering of clear/disable of IRQs Signed-off-by: NWen Wang <wen.w.wang@intel.com> Signed-off-by: NYong Wang <yong.y.wang@intel.com> Signed-off-by: NHong Liu <hong.liu@intel.com> Signed-off-by: NBin Yang <bin.yang@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
- 27 10月, 2010 1 次提交
-
-
由 Dzianis Kahanovich 提交于
NULL-terminating pci_device_id in pch_dma.c and scx200_acb.c for appying MODULE_DEVICE_TABLE (to publish modalias-es). Signed-off-by: NDzianis Kahanovich <mahatma@eu.by> Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
-
- 25 10月, 2010 4 次提交
-
-
由 Nobuhiro Iwamatsu 提交于
ctrl_* is deprecated. We should to use __raw_*. Signed-off-by: NNobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
-
由 Linus Walleij 提交于
We were missing a transfer delay in one execution path leading to hangs and the bus timeout was too low leading to errors under stress tests. Acked-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NSundar R Iyer <sundar.iyer@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
We can do smbus emulation so flag this and drop the duplicate flags implied from smbus emulation. Acked-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NSundar R Iyer <sundar.iyer@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
This makes sure the Nomadik I2C bus driver silicon is only clocked when really needed, saving some microamps here and there when there is no I2C traffic. Acked-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NSundar R Iyer <sundar.iyer@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-