msm: smd_tty: Add smd4 tty device
Add smd4 tty device to the list of smd tty devices and initialize
Signed-off-by: Angshuman Sarkar <angshuman@codeaurora.org>
diff --git a/arch/arm/mach-msm/smd_tty.c b/arch/arm/mach-msm/smd_tty.c
index bfc4150..6f151cb 100644
--- a/arch/arm/mach-msm/smd_tty.c
+++ b/arch/arm/mach-msm/smd_tty.c
@@ -67,6 +67,7 @@
[1] = "APPS_FM",
[2] = "APPS_RIVA_BT_ACL",
[3] = "APPS_RIVA_BT_CMD",
+ [4] = "MBALBRIDGE",
[7] = "DATA1",
[21] = "DATA21",
[27] = "GPSNMEA",
@@ -78,6 +79,7 @@
[1] = SMD_APPS_WCNSS,
[2] = SMD_APPS_WCNSS,
[3] = SMD_APPS_WCNSS,
+ [4] = SMD_APPS_MODEM,
[7] = SMD_APPS_MODEM,
[21] = SMD_APPS_MODEM,
[27] = SMD_APPS_MODEM,
@@ -459,6 +461,9 @@
else if (!strncmp(pdev->name, smd_ch_name[3],
strnlen(smd_ch_name[3], SMD_MAX_CH_NAME_LEN)))
complete_all(&smd_tty[3].ch_allocated);
+ else if (!strncmp(pdev->name, smd_ch_name[4],
+ strnlen(smd_ch_name[4], SMD_MAX_CH_NAME_LEN)))
+ complete_all(&smd_tty[4].ch_allocated);
else if (!strncmp(pdev->name, smd_ch_name[7],
strnlen(smd_ch_name[7], SMD_MAX_CH_NAME_LEN)))
complete_all(&smd_tty[7].ch_allocated);
@@ -510,6 +515,7 @@
tty_register_device(smd_tty_driver, 1, 0);
tty_register_device(smd_tty_driver, 2, 0);
tty_register_device(smd_tty_driver, 3, 0);
+ tty_register_device(smd_tty_driver, 4, 0);
tty_register_device(smd_tty_driver, 7, 0);
tty_register_device(smd_tty_driver, 21, 0);
tty_register_device(smd_tty_driver, 27, 0);
@@ -519,6 +525,7 @@
init_completion(&smd_tty[1].ch_allocated);
init_completion(&smd_tty[2].ch_allocated);
init_completion(&smd_tty[3].ch_allocated);
+ init_completion(&smd_tty[4].ch_allocated);
init_completion(&smd_tty[7].ch_allocated);
init_completion(&smd_tty[21].ch_allocated);
init_completion(&smd_tty[27].ch_allocated);
@@ -572,6 +579,15 @@
ret = platform_driver_register(&smd_tty[3].driver);
if (ret)
goto unreg2;
+ smd_tty[4].driver.probe = smd_tty_dummy_probe;
+ smd_tty[4].driver.driver.name = smd_ch_name[4];
+ smd_tty[4].driver.driver.owner = THIS_MODULE;
+ spin_lock_init(&smd_tty[4].reset_lock);
+ smd_tty[4].is_open = 0;
+ init_waitqueue_head(&smd_tty[4].ch_opened_wait_queue);
+ ret = platform_driver_register(&smd_tty[4].driver);
+ if (ret)
+ goto unreg3;
smd_tty[7].driver.probe = smd_tty_dummy_probe;
smd_tty[7].driver.driver.name = smd_ch_name[7];
smd_tty[7].driver.driver.owner = THIS_MODULE;
@@ -580,7 +596,7 @@
init_waitqueue_head(&smd_tty[7].ch_opened_wait_queue);
ret = platform_driver_register(&smd_tty[7].driver);
if (ret)
- goto unreg3;
+ goto unreg4;
smd_tty[21].driver.probe = smd_tty_dummy_probe;
smd_tty[21].driver.driver.name = smd_ch_name[21];
smd_tty[21].driver.driver.owner = THIS_MODULE;
@@ -618,6 +634,8 @@
platform_driver_unregister(&smd_tty[21].driver);
unreg7:
platform_driver_unregister(&smd_tty[7].driver);
+unreg4:
+ platform_driver_unregister(&smd_tty[4].driver);
unreg3:
platform_driver_unregister(&smd_tty[3].driver);
unreg2: