- 10 9月, 2012 1 次提交
-
-
由 Jean Delvare 提交于
If kernel is compiled with CONFIG_PROVE_LOCKING the validator raises an error when a multiplexer is removed via sysfs and sub-clients are connected to it. This is a false positive. Documentation/lockdep-design.txt recommends to handle this via calls to mutex_lock_nested(). Based on an earlier fix from Michael Lawnick. Note that the extra code resolves to nothing unless CONFIG_DEBUG_LOCK_ALLOC=y. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Michael Lawnick <ml.lawnick@gmx.de>
-
- 24 7月, 2012 2 次提交
-
-
由 Laurent Pinchart 提交于
Adapter drivers might support only a subset of the SMBus operations natively. Those drivers currently have to manually emulate unsupported operations using I2C. Make the i2c_smbus_xfer() function fall back to i2c_smbus_xfer_emulated() when the adapter's .smbus_xfer() operation returns -EOPNOTSUPP, like it already does when the .smbus_xfer() operation isn't available at all. [JD: Minor optimization.] Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Laurent Pinchart 提交于
SCCB is a serial communication bus developed by Omnivision. Its 2-wire mode is very similar to SMBus byte data transactions, but requires the controller to ignore the ACK bit and to insert a stop condition after each message. Add a device SCCB flag and a message stop flag to be passed to controller drivers. [JD: Kill rogue definition in go7007 driver.] Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 30 6月, 2012 1 次提交
-
-
由 Jean Delvare 提交于
Some drivers (in particular for TV cards) need exclusive access to their I2C buses for specific operations. Export an unlocked flavor of i2c_transfer to give them full control. The unlocked flavor has the following limitations: * Obviously, caller must hold the i2c adapter lock. * No debug messages are logged. We don't want to log messages while holding a rt_mutex. * No check is done on the existence of adap->algo->master_xfer. It is thus the caller's responsibility to ensure that the function is OK to call. Signed-off-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 12 5月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
This converts a struct device * to a struct i2c_adapter * while verifying that the device really is an I2C adapter. Just like i2c_verify_client. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 27 3月, 2012 1 次提交
-
-
由 Jean Delvare 提交于
Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 16 3月, 2012 1 次提交
-
-
由 Wolfram Sang 提交于
Fix that. Also convert this and the related comment to proper commenting style. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 23 11月, 2011 1 次提交
-
-
由 Jean Delvare 提交于
10-bit addresses overlap with traditional 7-bit addresses, leading in device name collisions. Add an arbitrary offset to 10-bit addresses to prevent this collision. The offset was chosen so that the address is still easily recognizable. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NWolfram Sang <w.sang@pengutronix.de>
-
- 25 7月, 2011 1 次提交
-
-
由 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>
-
- 17 4月, 2011 1 次提交
-
-
由 Jean Delvare 提交于
When warning on the use of deprecated i2c_driver methods attach_adapter and detach_adapter, mention the name of the driver which needs to be updated. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- 31 3月, 2011 1 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
- 20 3月, 2011 3 次提交
-
-
由 Jean Delvare 提交于
The last legitimate user of i2c_driver.attach_adapter and .detach_adapter is gone, so we can finally deprecate these callbacks. The last few drivers which still use these will have to be updated to make use of standard I2C device instantiation ways instead. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Introduce i2c_for_each_dev(), an i2c device iterator with proper locking for use by i2c-dev. This is needed so that we can get rid of the attach_adapter and detach_adapter legacy callback functions. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Rename the parameter of i2c_get_adapter() to "nr", to make it clear we are passing an adapter number and not an adapter ID (which have gone away by now.) Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 22 1月, 2011 1 次提交
-
-
由 Grant Likely 提交于
Having conditional around the of_match_table and the of_node pointers turns out to make driver code use ugly #ifdef blocks. Drop the conditionals and remove the #ifdef blocks from the affected drivers. Also tidy up minor whitespace issues within the same hunks. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 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
-
- 11 1月, 2011 1 次提交
-
-
由 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>
-
- 16 11月, 2010 1 次提交
-
-
由 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>
-
- 25 10月, 2010 3 次提交
-
-
由 Jean Delvare 提交于
Check the class flags before allocating the temporary i2c_client structure, to avoid allocating it when we don't need it. Also optimize the inner loop a bit. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
-
由 Jean Delvare 提交于
The "new_device" sysfs interface has been there for quite some time now, nobody complained about it so it must be good enough. Time to remove the warning and call it stable. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMichael Lawnick <ml.lawnick@gmx.de>
-
由 Jean Delvare 提交于
This makes the calling site's code clearer IMHO. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMichael Lawnick <ml.lawnick@gmx.de>
-
- 30 9月, 2010 3 次提交
-
-
由 Grant Likely 提交于
Commit 959e85f7, "i2c: add OF-style registration and binding" caused a module dependency loop where of_i2c.c calls functions in i2c-core, and i2c-core calls of_i2c_register_devices() in of_i2c. This means that when i2c support is built as a module when CONFIG_OF is set, then neither i2c_core nor of_i2c are able to be loaded. This patch fixes the problem by moving the of_i2c_register_devices() calls back into the device drivers. Device drivers already specifically request the core code to parse the device tree for devices anyway by setting the of_node pointer, so it isn't a big deal to also call the registration function. The drivers just become slightly more verbose. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Rajendra Nayak 提交于
For devices which are not adapted to runtime PM a call to pm_runtime_suspended always returns true. Hence the pm_runtime_suspended checks below prevent legacy suspend from getting called. So do a pm_runtime_suspended check only for devices with a dev_pm_ops populated (which hence do not rely on the legacy suspend.) Signed-off-by: NRajendra Nayak <rnayak@ti.com> Acked-by: NRafael J. Wysocki <rjw@sisk.pl> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Vishwanath BS 提交于
In current i2c core driver, call to pm_runtime_set_active from i2c_device_pm_resume will unconditionally enable i2c module and increment child count of the parent. Because of this, in CPU Idle path, i2c does not idle, preventing Core to enter retention. Also i2c module will not be suspended upon system suspend as pm_runtime_set_suspended is not called from i2c_device_pm_suspend. This issue is fixed by removing pm_runtime_set_active call from resume path which is not necessary. This fix has been tested on OMAP4430. Signed-off-by: NPartha Basak <p-basak2@ti.com> Signed-off-by: NVishwanath BS <vishwanath.bs@ti.com> Acked-by: NRafael J. Wysocki <rjw@sisk.pl> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 12 8月, 2010 7 次提交
-
-
由 Michael Lawnick 提交于
Add multiplexed bus core support. I2C multiplexer and switches like pca954x get instantiated as new adapters per port. Signed-off-by: NMichael Lawnick <ml.lawnick@gmx.de> Acked-by: NRodolfo Giometti <giometti@linux.it> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Moving userspace-instantiated clients to separate lists wasn't nearly enough to avoid deadlocks in multiplexed bus cases. We also want to have a dedicated mutex to protect each list. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Michael Lawnick <ml.lawnick@gmx.de>
-
由 Jean Delvare 提交于
Make i2c_default_probe self-sufficient, so that callers don't have to do functionality checks themselves. This ensures everything is and will stay consistent. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Now that bus_for_each_drv() is no longer __must_check, we can drop the dummy variable that was used to store the returned value. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Justin P. Mattock <justinmattock@gmail.com>
-
由 Jean Delvare 提交于
Uninline i2c adapter locking helper functions, move them to i2c-core, and use them in i2c-core itself. The functions are still exported for external users. This makes future updates to the locking model (which will be needed for multiplexing support) possible and transparent. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Michael Lawnick <ml.lawnick@gmx.de>
-
由 Jean Delvare 提交于
Now that i2c-core offers the possibility to provide custom probing function for I2C devices, let's make use of it. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Jean Delvare 提交于
The probe method used by i2c_new_probed_device() may not be suitable for all cases. Let the caller provide its own, optional probe function. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 10 7月, 2010 1 次提交
-
-
由 Jean Delvare 提交于
The new unified probing function differs from the original code, and the preliminary test whether probing is possible must be updated accordingly. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 06 7月, 2010 1 次提交
-
-
由 Grant Likely 提交于
This patch adds OF hooks to the i2c core so that devices can automatically be registered based on device tree data. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 03 6月, 2010 4 次提交
-
-
由 Jean Delvare 提交于
Otherwise it's not clear what it is checking. Also move the function to save a forward declaration. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Move strict I2C address validity check to a single function, and document the reserved I2C addresses there. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Hans Verkuil <hverkuil@xs4all.nl>
-
由 Jean Delvare 提交于
Do basic address validity checks when a client is being registered. We already had checks in place for devices which are being detected, but not for devices which are simply instantiated. This is a very basic check. We don't want to do strict checking here because some devices are known to infringe the I2C address constraints (e.g. IR receivers at 7-bit address 0x7a while this value is supposedly reserved for 10-bit addresses.) So we assume the caller knows what it is doing. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Matthieu Castet <castet.matthieu@free.fr>
-
由 Jean Delvare 提交于
Use the same I2C device presence detection code for legacy and new device detection functions. This is more consistent and makes the code smaller. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Matthieu Castet <castet.matthieu@free.fr>
-
- 22 5月, 2010 1 次提交
-
-
由 Farid Hammane 提交于
Fix up coding style issues found by the checkpatch.pl tool. Signed-off-by: NFarid Hammane <farid.hammane@gmail.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-