1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * arch/alpha/lib/srm_puts.c 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #include <linux/string.h> 7*4882a593Smuzhiyun #include <asm/console.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun long srm_puts(const char * str,long len)10*4882a593Smuzhiyunsrm_puts(const char *str, long len) 11*4882a593Smuzhiyun { 12*4882a593Smuzhiyun long remaining, written; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun if (!callback_init_done) 15*4882a593Smuzhiyun return len; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun for (remaining = len; remaining > 0; remaining -= written) 18*4882a593Smuzhiyun { 19*4882a593Smuzhiyun written = callback_puts(0, str, remaining); 20*4882a593Smuzhiyun written &= 0xffffffff; 21*4882a593Smuzhiyun str += written; 22*4882a593Smuzhiyun } 23*4882a593Smuzhiyun return len; 24*4882a593Smuzhiyun } 25