FreeCalypso > hg > freecalypso-tools
view loadtools/gtapower.c @ 416:30f6d1c32c6f
doc/Flash-boot-defect article removed (no longer relevant)
This article is no longer relevant because the issue in question
only affected one (1) defective FCDEV3B board which was not
and never will be sold.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 26 Oct 2018 07:11:08 +0000 |
parents | e7502631a0f9 |
children |
line wrap: on
line source
/* * This module is included only when loadtools are being built to run on the * GTA0x application processor (AP). It provides automated modem power * control, i.e., coordinates modem power control with loadtools operations * for convenience. */ #include <sys/types.h> #include <sys/file.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> /* * Check this pathname: it is correct for the kernel version I'm using * on my test GTA02, but it differs for some other kernel versions. */ static char modem_powerctl_pathname[] = "/sys/bus/platform/devices/gta02-pm-gsm.0/power_on"; void set_gta_modem_power_ctrl(boolval) { char strbuf[16]; int len, fd; len = sprintf(strbuf, "%d\n", boolval); fd = open(modem_powerctl_pathname, O_WRONLY); if (fd < 0) { perror(modem_powerctl_pathname); exit(1); } write(fd, strbuf, len); close(fd); } void fork_gta_modem_poweron() { int i; i = fork(); if (i < 0) { perror("fork"); exit(1); } if (i) return; printf("Toggling %s\n", modem_powerctl_pathname); set_gta_modem_power_ctrl(0); usleep(350000); set_gta_modem_power_ctrl(1); exit(0); }