hsi: omap_ssi_port: use normal module refcounting
[sfrench/cifs-2.6.git] / drivers / hsi / controllers / omap_ssi_port.c
index b8693f0b27fe05295690b39533c563ff4477ab6c..29aea0b9336071b05ce2efed2fe7590997b472dc 100644 (file)
@@ -1116,8 +1116,7 @@ static int __init ssi_port_probe(struct platform_device *pd)
 
        dev_dbg(&pd->dev, "init ssi port...\n");
 
 
        dev_dbg(&pd->dev, "init ssi port...\n");
 
-       err = ref_module(THIS_MODULE, ssi->owner);
-       if (err) {
+       if (!try_module_get(ssi->owner)) {
                dev_err(&pd->dev, "could not increment parent module refcount (err=%d)\n",
                        err);
                return -ENODEV;
                dev_err(&pd->dev, "could not increment parent module refcount (err=%d)\n",
                        err);
                return -ENODEV;
@@ -1254,6 +1253,7 @@ static int __exit ssi_port_remove(struct platform_device *pd)
 
        omap_ssi->port[omap_port->port_id] = NULL;
        platform_set_drvdata(pd, NULL);
 
        omap_ssi->port[omap_port->port_id] = NULL;
        platform_set_drvdata(pd, NULL);
+       module_put(ssi->owner);
        pm_runtime_disable(&pd->dev);
 
        return 0;
        pm_runtime_disable(&pd->dev);
 
        return 0;