From fce498bdef8f6179ef477ecdd3b9407e673af640 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Thu, 30 Jan 2020 18:21:15 +0100 Subject: modem boot handlers: pass it the ipc_client struct This enables to use logging inside the handlers: ipc_client_log needs access to the ipc_client struct to work. At this point the ipc_client struct is already available, so it is safe to do that. Signed-off-by: Denis 'GNUtoo' Carikli --- samsung-ipc/devices/galaxys2/galaxys2.c | 38 ++++++++++++++-------------- samsung-ipc/devices/i9300/i9300.c | 28 ++++++++++---------- samsung-ipc/devices/maguro/maguro.c | 10 ++++---- samsung-ipc/devices/n5100/n5100.c | 28 ++++++++++---------- samsung-ipc/devices/n7100/n7100.c | 28 ++++++++++---------- samsung-ipc/devices/piranha/piranha.c | 6 ++--- samsung-ipc/modems/xmm626/xmm626_sec_modem.c | 24 ++++++++++++------ samsung-ipc/modems/xmm626/xmm626_sec_modem.h | 22 ++++++++++------ 8 files changed, 99 insertions(+), 85 deletions(-) diff --git a/samsung-ipc/devices/galaxys2/galaxys2.c b/samsung-ipc/devices/galaxys2/galaxys2.c index d91c1a0..9c641e3 100644 --- a/samsung-ipc/devices/galaxys2/galaxys2.c +++ b/samsung-ipc/devices/galaxys2/galaxys2.c @@ -75,10 +75,10 @@ int galaxys2_boot(struct ipc_client *client) } ipc_client_log(client, "Opened modem link device"); - rc = xmm626_sec_modem_power(modem_boot_fd, 0); - rc |= xmm626_sec_modem_link_control_enable(modem_link_fd, 0); - rc |= xmm626_sec_modem_hci_power(0); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 0); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 0); + rc |= xmm626_sec_modem_link_control_enable(client, modem_link_fd, 0); + rc |= xmm626_sec_modem_hci_power(client, 0); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); @@ -86,10 +86,10 @@ int galaxys2_boot(struct ipc_client *client) } ipc_client_log(client, "Turned the modem off"); - rc = xmm626_sec_modem_power(modem_boot_fd, 1); - rc |= xmm626_sec_modem_link_control_enable(modem_link_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 1); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 1); + rc |= xmm626_sec_modem_link_control_enable(client, modem_link_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); @@ -97,7 +97,7 @@ int galaxys2_boot(struct ipc_client *client) } ipc_client_log(client, "Turned the modem on"); - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -174,37 +174,37 @@ int galaxys2_boot(struct ipc_client *client) usleep(300000); - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); } - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 0); - rc |= xmm626_sec_modem_hci_power(0); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 0); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 0); + rc |= xmm626_sec_modem_hci_power(client, 0); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); goto error; } ipc_client_log(client, "Waited for host wake"); - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 1); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); goto error; } - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -327,7 +327,7 @@ int galaxys2_power_off(__attribute__((unused)) struct ipc_client *client, if (fd < 0) return -1; - rc = xmm626_sec_modem_power(fd, 0); + rc = xmm626_sec_modem_power(client, fd, 0); close(fd); diff --git a/samsung-ipc/devices/i9300/i9300.c b/samsung-ipc/devices/i9300/i9300.c index 1b894d6..07b2b4f 100644 --- a/samsung-ipc/devices/i9300/i9300.c +++ b/samsung-ipc/devices/i9300/i9300.c @@ -75,15 +75,15 @@ int i9300_boot(struct ipc_client *client) } ipc_client_log(client, "Opened modem link device"); - rc = xmm626_sec_modem_hci_power(0); + rc = xmm626_sec_modem_hci_power(client, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } ipc_client_log(client, "Turned the modem off"); - rc = xmm626_sec_modem_power(modem_boot_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); @@ -91,7 +91,7 @@ int i9300_boot(struct ipc_client *client) } ipc_client_log(client, "Turned the modem on"); - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -168,37 +168,37 @@ int i9300_boot(struct ipc_client *client) usleep(300000); - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); } - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 0); - rc |= xmm626_sec_modem_hci_power(0); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 0); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 0); + rc |= xmm626_sec_modem_hci_power(client, 0); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); goto error; } ipc_client_log(client, "Waited for host wake"); - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 1); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); goto error; } - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -321,7 +321,7 @@ int i9300_power_off(__attribute__((unused)) struct ipc_client *client, if (fd < 0) return -1; - rc = xmm626_sec_modem_power(fd, 0); + rc = xmm626_sec_modem_power(client, fd, 0); close(fd); diff --git a/samsung-ipc/devices/maguro/maguro.c b/samsung-ipc/devices/maguro/maguro.c index eee0c0a..797ce43 100644 --- a/samsung-ipc/devices/maguro/maguro.c +++ b/samsung-ipc/devices/maguro/maguro.c @@ -69,14 +69,14 @@ int maguro_boot(struct ipc_client *client) } ipc_client_log(client, "Opened modem boot device"); - rc = xmm626_sec_modem_power(modem_boot_fd, 0); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } ipc_client_log(client, "Turned the modem off"); - rc = xmm626_sec_modem_power(modem_boot_fd, 1); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); goto error; @@ -177,14 +177,14 @@ int maguro_boot(struct ipc_client *client) } ipc_client_log(client, "Sent XMM626 MIPI HW reset"); - rc = xmm626_sec_modem_status_online_wait(modem_boot_fd); + rc = xmm626_sec_modem_status_online_wait(client, modem_boot_fd); if (rc < 0) { ipc_client_log(client, "Waiting for online status failed"); goto error; } ipc_client_log(client, "Waited for online status"); - rc = xmm626_sec_modem_boot_power(modem_boot_fd, 0); + rc = xmm626_sec_modem_boot_power(client, modem_boot_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning modem boot off failed"); goto error; @@ -305,7 +305,7 @@ int maguro_power_off(__attribute__((unused)) struct ipc_client *client, if (fd < 0) return -1; - rc = xmm626_sec_modem_power(fd, 0); + rc = xmm626_sec_modem_power(client, fd, 0); close(fd); diff --git a/samsung-ipc/devices/n5100/n5100.c b/samsung-ipc/devices/n5100/n5100.c index bff8cf4..04a0585 100644 --- a/samsung-ipc/devices/n5100/n5100.c +++ b/samsung-ipc/devices/n5100/n5100.c @@ -76,15 +76,15 @@ int n5100_boot(struct ipc_client *client) } ipc_client_log(client, "Opened modem link device"); - rc = xmm626_sec_modem_hci_power(0); + rc = xmm626_sec_modem_hci_power(client, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } ipc_client_log(client, "Turned the modem off"); - rc = xmm626_sec_modem_power(modem_boot_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); @@ -92,7 +92,7 @@ int n5100_boot(struct ipc_client *client) } ipc_client_log(client, "Turned the modem on"); - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -169,37 +169,37 @@ int n5100_boot(struct ipc_client *client) usleep(300000); - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); } - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 0); - rc |= xmm626_sec_modem_hci_power(0); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 0); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 0); + rc |= xmm626_sec_modem_hci_power(client, 0); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); goto error; } ipc_client_log(client, "Waited for host wake"); - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 1); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); goto error; } - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -322,7 +322,7 @@ int n5100_power_off(__attribute__((unused)) struct ipc_client *client, if (fd < 0) return -1; - rc = xmm626_sec_modem_power(fd, 0); + rc = xmm626_sec_modem_power(client, fd, 0); close(fd); diff --git a/samsung-ipc/devices/n7100/n7100.c b/samsung-ipc/devices/n7100/n7100.c index 08f1652..365efdd 100644 --- a/samsung-ipc/devices/n7100/n7100.c +++ b/samsung-ipc/devices/n7100/n7100.c @@ -75,15 +75,15 @@ int n7100_boot(struct ipc_client *client) } ipc_client_log(client, "Opened modem link device"); - rc = xmm626_sec_modem_hci_power(0); + rc = xmm626_sec_modem_hci_power(client, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } ipc_client_log(client, "Turned the modem off"); - rc = xmm626_sec_modem_power(modem_boot_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); @@ -91,7 +91,7 @@ int n7100_boot(struct ipc_client *client) } ipc_client_log(client, "Turned the modem on"); - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -168,37 +168,37 @@ int n7100_boot(struct ipc_client *client) usleep(300000); - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); } - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 0); - rc |= xmm626_sec_modem_hci_power(0); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 0); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 0); + rc |= xmm626_sec_modem_hci_power(client, 0); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } - rc = xmm626_sec_modem_link_get_hostwake_wait(modem_link_fd); + rc = xmm626_sec_modem_link_get_hostwake_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for host wake failed"); goto error; } ipc_client_log(client, "Waited for host wake"); - rc = xmm626_sec_modem_link_control_enable(modem_link_fd, 1); - rc |= xmm626_sec_modem_hci_power(1); - rc |= xmm626_sec_modem_link_control_active(modem_link_fd, 1); + rc = xmm626_sec_modem_link_control_enable(client, modem_link_fd, 1); + rc |= xmm626_sec_modem_hci_power(client, 1); + rc |= xmm626_sec_modem_link_control_active(client, modem_link_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); goto error; } - rc = xmm626_sec_modem_link_connected_wait(modem_link_fd); + rc = xmm626_sec_modem_link_connected_wait(client, modem_link_fd); if (rc < 0) { ipc_client_log(client, "Waiting for link connected failed"); goto error; @@ -321,7 +321,7 @@ int n7100_power_off(__attribute__((unused)) struct ipc_client *client, if (fd < 0) return -1; - rc = xmm626_sec_modem_power(fd, 0); + rc = xmm626_sec_modem_power(client, fd, 0); close(fd); diff --git a/samsung-ipc/devices/piranha/piranha.c b/samsung-ipc/devices/piranha/piranha.c index 6360be2..f4527c6 100644 --- a/samsung-ipc/devices/piranha/piranha.c +++ b/samsung-ipc/devices/piranha/piranha.c @@ -67,14 +67,14 @@ int piranha_boot(struct ipc_client *client) } ipc_client_log(client, "Opened modem boot device"); - rc = xmm626_sec_modem_power(modem_boot_fd, 0); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 0); if (rc < 0) { ipc_client_log(client, "Turning the modem off failed"); goto error; } ipc_client_log(client, "Turned the modem off"); - rc = xmm626_sec_modem_power(modem_boot_fd, 1); + rc = xmm626_sec_modem_power(client, modem_boot_fd, 1); if (rc < 0) { ipc_client_log(client, "Turning the modem on failed"); goto error; @@ -270,7 +270,7 @@ int piranha_power_off(__attribute__((unused)) struct ipc_client *client, if (fd < 0) return -1; - rc = xmm626_sec_modem_power(fd, 0); + rc = xmm626_sec_modem_power(client, fd, 0); close(fd); diff --git a/samsung-ipc/modems/xmm626/xmm626_sec_modem.c b/samsung-ipc/modems/xmm626/xmm626_sec_modem.c index 8aaf3e0..690d5e5 100644 --- a/samsung-ipc/modems/xmm626/xmm626_sec_modem.c +++ b/samsung-ipc/modems/xmm626/xmm626_sec_modem.c @@ -37,7 +37,8 @@ #include "xmm626.h" #include "xmm626_sec_modem.h" -int xmm626_sec_modem_power(int device_fd, int power) +int xmm626_sec_modem_power(__attribute__((unused)) struct ipc_client *client, + int device_fd, int power) { int rc; @@ -51,7 +52,8 @@ int xmm626_sec_modem_power(int device_fd, int power) return 0; } -int xmm626_sec_modem_boot_power(int device_fd, int power) +int xmm626_sec_modem_boot_power(__attribute__((unused)) struct ipc_client *client, + int device_fd, int power) { int rc; @@ -66,7 +68,8 @@ int xmm626_sec_modem_boot_power(int device_fd, int power) return 0; } -int xmm626_sec_modem_status_online_wait(int device_fd) +int xmm626_sec_modem_status_online_wait(__attribute__((unused)) struct ipc_client *client, + int device_fd) { int status; int i; @@ -86,7 +89,8 @@ int xmm626_sec_modem_status_online_wait(int device_fd) return -1; } -int xmm626_sec_modem_hci_power(int power) +int xmm626_sec_modem_hci_power(__attribute__((unused)) struct ipc_client *client, + int power) { int ehci_rc, ohci_rc; @@ -104,7 +108,8 @@ int xmm626_sec_modem_hci_power(int power) return 0; } -int xmm626_sec_modem_link_control_enable(int device_fd, int enable) +int xmm626_sec_modem_link_control_enable(__attribute__((unused)) struct ipc_client *client, + int device_fd, int enable) { int rc; @@ -118,7 +123,8 @@ int xmm626_sec_modem_link_control_enable(int device_fd, int enable) return 0; } -int xmm626_sec_modem_link_control_active(int device_fd, int active) +int xmm626_sec_modem_link_control_active(__attribute__((unused)) struct ipc_client *client, + int device_fd, int active) { int rc; @@ -132,7 +138,8 @@ int xmm626_sec_modem_link_control_active(int device_fd, int active) return 0; } -int xmm626_sec_modem_link_connected_wait(int device_fd) +int xmm626_sec_modem_link_connected_wait(__attribute__((unused)) struct ipc_client *client, + int device_fd) { int status; int i; @@ -152,7 +159,8 @@ int xmm626_sec_modem_link_connected_wait(int device_fd) return -1; } -int xmm626_sec_modem_link_get_hostwake_wait(int device_fd) +int xmm626_sec_modem_link_get_hostwake_wait(__attribute__((unused)) struct ipc_client *client, + int device_fd) { int status; int i; diff --git a/samsung-ipc/modems/xmm626/xmm626_sec_modem.h b/samsung-ipc/modems/xmm626/xmm626_sec_modem.h index 9599a84..943c101 100644 --- a/samsung-ipc/modems/xmm626/xmm626_sec_modem.h +++ b/samsung-ipc/modems/xmm626/xmm626_sec_modem.h @@ -31,14 +31,20 @@ #define XMM626_SEC_MODEM_GPRS_IFACE_PREFIX "rmnet" #define XMM626_SEC_MODEM_GPRS_IFACE_COUNT 3 -int xmm626_sec_modem_power(int device_fd, int power); -int xmm626_sec_modem_boot_power(int device_fd, int power); -int xmm626_sec_modem_status_online_wait(int device_fd); -int xmm626_sec_modem_hci_power(int power); -int xmm626_sec_modem_link_control_enable(int device_fd, int enable); -int xmm626_sec_modem_link_control_active(int device_fd, int active); -int xmm626_sec_modem_link_connected_wait(int device_fd); -int xmm626_sec_modem_link_get_hostwake_wait(int device_fd); +int xmm626_sec_modem_power(struct ipc_client *client, int device_fd, int power); +int xmm626_sec_modem_boot_power(struct ipc_client *client, int device_fd, + int power); +int xmm626_sec_modem_status_online_wait(struct ipc_client *client, + int device_fd); +int xmm626_sec_modem_hci_power(struct ipc_client *client, int power); +int xmm626_sec_modem_link_control_enable(struct ipc_client *client, + int device_fd, int enable); +int xmm626_sec_modem_link_control_active(struct ipc_client *client, + int device_fd, int active); +int xmm626_sec_modem_link_connected_wait(struct ipc_client *client, + int device_fd); +int xmm626_sec_modem_link_get_hostwake_wait(struct ipc_client *client, + int device_fd); int xmm626_sec_modem_fmt_send(struct ipc_client *client, struct ipc_message *message); -- cgit v1.2.3