Skip to content

Commit b357d7b

Browse files
arndbsre
authored andcommitted
hsi: omap_ssi_port: use normal module refcounting
The ref_module() function is used for internal housekeeping of the module code, it's not normally used by subsystems or device drivers, and the use of ref_module in the omap_ssi_port driver causes a link build error when modules are disabled: hsi/controllers/omap_ssi_port.c: In function 'ssi_port_probe': hsi/controllers/omap_ssi_port.c:1119:2: error: implicit declaration of function 'ref_module' [-Werror=implicit-function-declaration] This changes the omap_ssi_port driver to use try_module_get() and module_put() instead, which is the normal way to ensure that the driver providing a device used in another module does not go away. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Sebastian Reichel <sre@kernel.org> Cc: Carlos Chinea <carlos.chinea@nokia.com> Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> Signed-off-by: Sebastian Reichel <sre@kernel.org>
1 parent 518e162 commit b357d7b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/hsi/controllers/omap_ssi_port.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,8 +1116,7 @@ static int __init ssi_port_probe(struct platform_device *pd)
11161116

11171117
dev_dbg(&pd->dev, "init ssi port...\n");
11181118

1119-
err = ref_module(THIS_MODULE, ssi->owner);
1120-
if (err) {
1119+
if (!try_module_get(ssi->owner)) {
11211120
dev_err(&pd->dev, "could not increment parent module refcount (err=%d)\n",
11221121
err);
11231122
return -ENODEV;
@@ -1254,6 +1253,7 @@ static int __exit ssi_port_remove(struct platform_device *pd)
12541253

12551254
omap_ssi->port[omap_port->port_id] = NULL;
12561255
platform_set_drvdata(pd, NULL);
1256+
module_put(ssi->owner);
12571257
pm_runtime_disable(&pd->dev);
12581258

12591259
return 0;

0 commit comments

Comments
 (0)