LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] i2c: do not try to load modules for of-registered devices
@ 2015-01-16  8:07 Dmitry Torokhov
  2015-01-26 15:53 ` Wolfram Sang
  0 siblings, 1 reply; 2+ messages in thread
From: Dmitry Torokhov @ 2015-01-16  8:07 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c, linux-kernel

Trying to register an I2C device asynchronously (via async_schedule() call)
results in an ugly warning from request_module() warning about potential
deadlock (because request_module tries to wait for async works to
complete). While we could try to switch to request_module_nowait(), other
buses, as well as I2C itself when not using device tree, do not try to load
modules, but rather rely on the standard infrastructure (udev) to execute
module loading, and we should be doing the same.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/i2c/i2c-core.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 39d25a8..706caea 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -1419,8 +1419,6 @@ static struct i2c_client *of_i2c_register_device(struct i2c_adapter *adap,
 	if (of_get_property(node, "wakeup-source", NULL))
 		info.flags |= I2C_CLIENT_WAKE;
 
-	request_module("%s%s", I2C_MODULE_PREFIX, info.type);
-
 	result = i2c_new_device(adap, &info);
 	if (result == NULL) {
 		dev_err(&adap->dev, "of_i2c: Failure registering %s\n",
-- 
2.2.0.rc0.207.ga3a616c


-- 
Dmitry

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] i2c: do not try to load modules for of-registered devices
  2015-01-16  8:07 [PATCH] i2c: do not try to load modules for of-registered devices Dmitry Torokhov
@ 2015-01-26 15:53 ` Wolfram Sang
  0 siblings, 0 replies; 2+ messages in thread
From: Wolfram Sang @ 2015-01-26 15:53 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 694 bytes --]

On Fri, Jan 16, 2015 at 12:07:22AM -0800, Dmitry Torokhov wrote:
> Trying to register an I2C device asynchronously (via async_schedule() call)
> results in an ugly warning from request_module() warning about potential
> deadlock (because request_module tries to wait for async works to
> complete). While we could try to switch to request_module_nowait(), other
> buses, as well as I2C itself when not using device tree, do not try to load
> modules, but rather rely on the standard infrastructure (udev) to execute
> module loading, and we should be doing the same.
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Sounds reasonable. Applied to for-next, thanks!


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-01-26 15:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-16  8:07 [PATCH] i2c: do not try to load modules for of-registered devices Dmitry Torokhov
2015-01-26 15:53 ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).