static void linkstation_restart(char *cmd) { local_irq_disable(); /* Reset system via AVR */ avr_uart_configure(); /* Send reboot command */ avr_uart_send('C'); for(;;) /* Spin until reset happens */ avr_uart_send('G'); /* "kick" */ }
static void linkstation_restart(char *cmd) { local_irq_disable(); avr_uart_configure(); avr_uart_send('C'); for(;;) avr_uart_send('G'); }
static void linkstation_power_off(void) { local_irq_disable(); /* Power down system via AVR */ avr_uart_configure(); /* send shutdown command */ avr_uart_send('E'); for(;;) /* Spin until power-off happens */ avr_uart_send('G'); /* "kick" */ /* NOTREACHED */ }
static void linkstation_power_off(void) { local_irq_disable(); avr_uart_configure(); avr_uart_send('E'); for(;;) avr_uart_send('G'); }
static void __init ls_uart_init(void) { local_irq_disable(); #ifndef CONFIG_SERIAL_8250 out_8(avr_addr + UART_FCR, UART_FCR_ENABLE_FIFO); /* enable FIFO */ out_8(avr_addr + UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); /* clear FIFOs */ out_8(avr_addr + UART_FCR, 0); out_8(avr_addr + UART_IER, 0); /* Clear up interrupts */ (void) in_8(avr_addr + UART_LSR); (void) in_8(avr_addr + UART_RX); (void) in_8(avr_addr + UART_IIR); (void) in_8(avr_addr + UART_MSR); #endif avr_uart_configure(); local_irq_enable(); }