Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fae1989 authored by Sebastian Reichel's avatar Sebastian Reichel
Browse files

HSI: omap_ssi: built omap_ssi and omap_ssi_port into one module



Merge omap_ssi and omap_ssi_port into one module. This
fixes problems with module cycle dependencies introduced
by future patches.

Acked-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
parent 2a57aba8
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -12,8 +12,3 @@ config OMAP_SSI
	  If you say Y here, you will enable the OMAP SSI hardware driver.

	  If unsure, say N.

config OMAP_SSI_PORT
	tristate
	default m if OMAP_SSI=m
	default y if OMAP_SSI=y
+2 −2
Original line number Diff line number Diff line
@@ -2,5 +2,5 @@
# Makefile for HSI controllers drivers
#

omap_ssi-objs		+= omap_ssi_core.o omap_ssi_port.o
obj-$(CONFIG_OMAP_SSI)	+= omap_ssi.o
obj-$(CONFIG_OMAP_SSI_PORT)	+= omap_ssi_port.o
+2 −0
Original line number Diff line number Diff line
@@ -164,4 +164,6 @@ struct omap_ssi_controller {
#endif
};

extern struct platform_driver ssi_port_pdriver;

#endif /* __LINUX_HSI_OMAP_SSI_H__ */
+16 −1
Original line number Diff line number Diff line
@@ -605,7 +605,22 @@ static struct platform_driver ssi_pdriver = {
	},
};

module_platform_driver(ssi_pdriver);
static int __init ssi_init(void) {
	int ret;

	ret = platform_driver_register(&ssi_pdriver);
	if (ret)
		return ret;

	return platform_driver_register(&ssi_port_pdriver);
}
module_init(ssi_init);

static void __exit ssi_exit(void) {
	platform_driver_unregister(&ssi_port_pdriver);
	platform_driver_unregister(&ssi_pdriver);
}
module_exit(ssi_exit);

MODULE_ALIAS("platform:omap_ssi");
MODULE_AUTHOR("Carlos Chinea <carlos.chinea@nokia.com>");
+1 −15
Original line number Diff line number Diff line
@@ -1117,11 +1117,6 @@ static int ssi_port_probe(struct platform_device *pd)

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

	if (!try_module_get(ssi->owner)) {
		dev_err(&pd->dev, "could not increment parent module refcount\n");
		return -ENODEV;
	}

	if (!ssi->port || !omap_ssi->port) {
		dev_err(&pd->dev, "ssi controller not initialized!\n");
		err = -ENODEV;
@@ -1242,7 +1237,6 @@ static int ssi_port_remove(struct platform_device *pd)

	omap_ssi->port[omap_port->port_id] = NULL;
	platform_set_drvdata(pd, NULL);
	module_put(ssi->owner);
	pm_runtime_disable(&pd->dev);

	return 0;
@@ -1369,7 +1363,7 @@ MODULE_DEVICE_TABLE(of, omap_ssi_port_of_match);
#define omap_ssi_port_of_match NULL
#endif

static struct platform_driver ssi_port_pdriver = {
struct platform_driver ssi_port_pdriver = {
	.probe = ssi_port_probe,
	.remove	= ssi_port_remove,
	.driver	= {
@@ -1378,11 +1372,3 @@ static struct platform_driver ssi_port_pdriver = {
		.pm	= DEV_PM_OPS,
	},
};

module_platform_driver(ssi_port_pdriver);

MODULE_ALIAS("platform:omap_ssi_port");
MODULE_AUTHOR("Carlos Chinea <carlos.chinea@nokia.com>");
MODULE_AUTHOR("Sebastian Reichel <sre@kernel.org>");
MODULE_DESCRIPTION("Synchronous Serial Interface Port Driver");
MODULE_LICENSE("GPL v2");