static int do_trigger(int argc, char *argv[]) { struct led *led; int i, opt, ret = 0; int cmd = LED_COMMAND_SHOW_INFO; unsigned long trigger = 0; while((opt = getopt(argc, argv, "t:d:")) > 0) { switch(opt) { case 't': trigger = simple_strtoul(optarg, NULL, 0); cmd = LED_COMMAND_SET_TRIGGER; break; case 'd': trigger = simple_strtoul(optarg, NULL, 0); cmd = LED_COMMAND_DISABLE_TRIGGER; } } switch (cmd) { case LED_COMMAND_SHOW_INFO: for (i = 0; i < LED_TRIGGER_MAX; i++) { int led = led_get_trigger(i); printf("%d: %s", i, trigger_names[i]); if (led >= 0) printf(" (led %d)", led); printf("\n"); } break; case LED_COMMAND_DISABLE_TRIGGER: ret = led_set_trigger(trigger, NULL); break; case LED_COMMAND_SET_TRIGGER: if (argc - optind != 1) return COMMAND_ERROR_USAGE; led = led_by_name_or_number(argv[optind]); if (!led) { printf("no such led: %s\n", argv[optind]); return 1; } ret = led_set_trigger(trigger, led); break; } if (ret) printf("trigger failed: %s\n", strerror(-ret)); return ret ? 1 : 0; }
int main(int argc, char **argv) { FILE *fp; char path[256]; if (argc == 3) return main_led(argc, argv); if (argc < 7) return -1; daemon(0, 0); snprintf(path, sizeof(path), "/tmp/apcli-%s.pid", argv[2]); fp = fopen(path, "w+"); if (fp) { fprintf(fp, "%d", getpid()); fclose(fp); } setbuf(stdout, NULL); openlog("ap_client", 0, 0); if (argc > 7) led_name = argv[7]; led_set_trigger(1); assoc_loop(argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); return 0; }
static void ek_device_add_leds(void) { int i; for (i = 0; i < ARRAY_SIZE(ek_leds); i++) { at91_set_gpio_output(ek_leds[i].gpio, ek_leds[i].active_low); led_gpio_register(&ek_leds[i]); } led_set_trigger(LED_TRIGGER_HEARTBEAT, &ek_leds[1].led); }
static void __init ek_add_led(void) { int i; for (i = 0; i < ARRAY_SIZE(leds); i++) { at91_set_gpio_output(leds[i].gpio, leds[i].active_low); led_gpio_register(&leds[i]); } led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[0].led); }
static void assoc_loop(char *ifname, char *staname, char *essid, char *pass, char *bssid, char *beacon) { static int try_count = 0; static int assoc_count = 0; while (1) { if (!check_assoc(staname)) { struct survey_table *c; led_set_trigger(1); iwpriv("ra0", "Beacon", "0"); syslog(LOG_INFO, "%s is not associated\n", staname); syslog(LOG_INFO, "Scanning for networks...\n"); wifi_site_survey(ifname, 0); c = wifi_find_ap(essid, bssid); try_count++; assoc_count = 0; if (c) { syslog(LOG_INFO, "Found network, trying to associate (essid: %s, bssid: %s, channel: %s, enc: %s, crypto: %s)\n", essid, c->bssid, c->channel, c->security, c->crypto); wifi_repeater_start(ifname, staname, c->channel, essid, bssid, pass, c->security, c->crypto); } else { syslog(LOG_INFO, "No signal found to connect to\n"); try_count = 0; } } else { if (assoc_count == 0) { iwpriv("ra0", "Beacon", beacon); syslog(LOG_INFO, "%s is associated\n", staname); led_set_trigger(0); } assoc_count++; if (assoc_count > 1) try_count = 0; /* if ((assoc_count % 4) == 0) syslog(LOG_INFO, "%s is still associated\n", staname);*/ } sleep(10); } }
static void __init ek_add_led(void) { int i; #ifdef CONFIG_AT91_HAVE_2MMC leds[0].gpio = AT91_PIN_PB8; leds[1].gpio = AT91_PIN_PB9; #endif for (i = 0; i < ARRAY_SIZE(leds); i++) { at91_set_gpio_output(leds[i].gpio, leds[i].active_low); led_gpio_register(&leds[i]); } led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[1].led); }
void rpi_add_led(void) { int i; struct gpio_led *l; for (i = 0; i < ARRAY_SIZE(rpi_leds); i++) { l = &rpi_leds[i]; if (gpio_is_valid(l->gpio)) led_gpio_register(l); } l = &rpi_leds[0]; if (gpio_is_valid(l->gpio)) led_set_trigger(LED_TRIGGER_HEARTBEAT, &l->led); }
static int imx23_olinuxino_devices_init(void) { armlinux_set_architecture(MACH_TYPE_IMX233_OLINUXINO); defaultenv_append_directory(defaultenv_imx233_olinuxino); led_gpio_register(&led1); led_set_trigger(LED_TRIGGER_HEARTBEAT, &led1.led); add_generic_device("mxs_mci", DEVICE_ID_DYNAMIC, NULL, IMX_SSP1_BASE, 0x8000, IORESOURCE_MEM, &mci_pdata); olinuxino_init_usb(); default_environment_path_set("/dev/disk0.1"); return 0; }
static int tiny210_devices_init(void) { int i; for (i = 0; i < ARRAY_SIZE(pin_usage); i++) s3c_gpio_mode(pin_usage[i]); for (i = 0; i < ARRAY_SIZE(leds); i++) { leds[i].active_low = 1; gpio_direction_output(leds[i].gpio, leds[i].active_low); led_gpio_register(&leds[i]); } led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[0].led); armlinux_set_architecture(MACH_TYPE_MINI210); return 0; }
static int efikamx_late_init(void) { int i; if (!of_machine_is_compatible("genesi,imx51-sb")) return 0; defaultenv_append_directory(defaultenv_efikasb); for (i = 0; i < ARRAY_SIZE(leds); i++) led_gpio_register(&leds[i]); led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[0].led); writew(0x0, MX51_WDOG_BASE_ADDR + 0x8); imx51_bbu_internal_mmc_register_handler("mmc", "/dev/mmc1", BBU_HANDLER_FLAG_DEFAULT); armlinux_set_architecture(2370); armlinux_set_revision(0x5100 | imx_silicon_revision()); return 0; }
static void panda_led_init(void) { led_gpio_register(&panda_leds[0]); led_set_trigger(LED_TRIGGER_HEARTBEAT, &panda_leds[0].led); }