plan 9 kernel history: overview | file list | diff list

1998/0221/pc/pcmciamodem.c (diff list | history)

1998/0221/sys/src/9/pc/pcmciamodem.c:29,351998/0811/sys/src/9/pc/pcmciamodem.c:29,35 (short | long)
Loop over possible modem strings. Note bug: says modems[0].
rsc Fri Mar 4 12:44:25 2005
1998/0221    
pcmciamodemlink(void) 
{ 
	ISAConf isa; 
	int i, slot; 
1998/0811    
	int i, j, slot; 
1998/0221    
 
	i = 0; 
	for(;;){ 
1998/0221/sys/src/9/pc/pcmciamodem.c:49,551998/0811/sys/src/9/pc/pcmciamodem.c:49,59
1998/0221    
		if(isa.port == 0) 
			isa.port = 0x2F8; 
 
		slot = pcmspecial(modems[0], &isa); 
1998/0811    
		for(j = 0; modems[j]; j++){ 
			slot = pcmspecial(modems[0], &isa); 
			if(slot >= 0) 
				break; 
		} 
1998/0221    
		if(slot < 0) 
			break; 
	} 
1998/0811/sys/src/9/pc/pcmciamodem.c:50,561998/0819/sys/src/9/pc/pcmciamodem.c:50,56 (short | long)
Bug fix: loop with modems[j].
rsc Fri Mar 4 12:44:25 2005
1998/0221    
			isa.port = 0x2F8; 
 
1998/0811    
		for(j = 0; modems[j]; j++){ 
			slot = pcmspecial(modems[0], &isa); 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1998/0811    
			if(slot >= 0) 
				break; 
		} 
1998/0819/sys/src/9/pc/pcmciamodem.c:49,541998/0910/sys/src/9/pc/pcmciamodem.c:49,55 (short | long)
Appease compiler so-called used and not set.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
		if(isa.port == 0) 
			isa.port = 0x2F8; 
 
1998/0910    
		slot = -1; 
1998/0811    
		for(j = 0; modems[j]; j++){ 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1998/0811    
			if(slot >= 0) 
1998/0910/sys/src/9/pc/pcmciamodem.c:21,261998/0918/sys/src/9/pc/pcmciamodem.c:21,27 (short | long)
Add Xircom modem.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
 
static char* modems[] = { 
	"IBM 33.6 Data/Fax/Voice Modem", 
1998/0918    
	"CM-56G",				/* Xircom CreditCard Modem 56 - GlobalACCESS */ 
1998/0221    
	"KeepInTouch", 
	0, 
}; 
1998/0918/sys/src/9/pc/pcmciamodem.c:53,601999/0220/sys/src/9/pc/pcmciamodem.c:53,63 (short | long)
Add status print.
rsc Fri Mar 4 12:44:25 2005
1998/0910    
		slot = -1; 
1998/0811    
		for(j = 0; modems[j]; j++){ 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1998/0811    
			if(slot >= 0) 
1999/0220    
			if(slot >= 0){ 
				print("%s in pcmcia slot %d port %0xlx irq %d\n", 
					modems[j], slot, isa.port, isa.irq); 
1998/0811    
				break; 
1999/0220    
			} 
1998/0811    
		} 
1998/0221    
		if(slot < 0) 
			break; 
1999/0220/sys/src/9/pc/pcmciamodem.c:54,601999/0222/sys/src/9/pc/pcmciamodem.c:54,60 (short | long)
Fix typo in print format.
rsc Fri Mar 4 12:44:25 2005
1998/0811    
		for(j = 0; modems[j]; j++){ 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1999/0220    
			if(slot >= 0){ 
				print("%s in pcmcia slot %d port %0xlx irq %d\n", 
1999/0222    
				print("%s in pcmcia slot %d port 0x%lx irq %d\n", 
1999/0220    
					modems[j], slot, isa.port, isa.irq); 
1998/0811    
				break; 
1999/0220    
			} 
1999/0222/sys/src/9/pc/pcmciamodem.c:54,601999/0301/sys/src/9/pc/pcmciamodem.c:54,60 (short | long)
Fix type in print format.
rsc Fri Mar 4 12:44:25 2005
1998/0811    
		for(j = 0; modems[j]; j++){ 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1999/0220    
			if(slot >= 0){ 
1999/0222    
				print("%s in pcmcia slot %d port 0x%lx irq %d\n", 
1999/0301    
				print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
1999/0220    
					modems[j], slot, isa.port, isa.irq); 
1998/0811    
				break; 
1999/0220    
			} 
1999/0301/sys/src/9/pc/pcmciamodem.c:23,281999/0312/sys/src/9/pc/pcmciamodem.c:23,29 (short | long)
Add modem.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
	"IBM 33.6 Data/Fax/Voice Modem", 
1998/0918    
	"CM-56G",				/* Xircom CreditCard Modem 56 - GlobalACCESS */ 
1998/0221    
	"KeepInTouch", 
1999/0312    
	"CEM56", 
1998/0221    
	0, 
}; 
 
1999/0312/sys/src/9/pc/pcmciamodem.c:31,402000/1006/sys/src/9/pc/pcmciamodem.c:31,41 (short | long)
Bug fix: only use com2 for one modem.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
pcmciamodemlink(void) 
{ 
	ISAConf isa; 
1998/0811    
	int i, j, slot; 
2000/1006    
	int i, j, slot, com2used; 
1998/0221    
 
	i = 0; 
	for(;;){ 
2000/1006    
	com2used = 0; 
	for(j = 0; modems[j]; j++){ 
1998/0221    
		memset(&isa, 0, sizeof(isa)); 
 
		/* look for a configuration line */ 
1999/0312/sys/src/9/pc/pcmciamodem.c:45,662000/1006/sys/src/9/pc/pcmciamodem.c:46,65
1998/0221    
			memset(&isa, 0, sizeof(isa)); 
		} 
 
		/* default is COM2 */ 
		if(isa.irq == 0) 
			isa.irq = 3; 
		if(isa.port == 0) 
			isa.port = 0x2F8; 
                 
1998/0910    
		slot = -1; 
1998/0811    
		for(j = 0; modems[j]; j++){ 
1998/0819    
			slot = pcmspecial(modems[j], &isa); 
1999/0220    
			if(slot >= 0){ 
1999/0301    
				print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
1999/0220    
					modems[j], slot, isa.port, isa.irq); 
2000/1006    
		if (isa.irq == 0 && isa.port == 0) { 
			if (com2used == 0) { 
				/* default is COM2 */ 
				isa.irq = 3; 
				isa.port = 0x2F8; 
				com2used++; 
			} else 
1998/0811    
				break; 
1999/0220    
			} 
1998/0811    
		} 
1998/0221    
		if(slot < 0) 
			break; 
2000/1006    
 
		slot = pcmspecial(modems[j], &isa); 
		if(slot >= 0){ 
			print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
				modems[j], slot, isa.port, isa.irq); 
		} 
1998/0221    
	} 
}	 
2000/1006/sys/src/9/pc/pcmciamodem.c:21,272001/1201/sys/src/9/pc/pcmciamodem.c:21,27 (short | long)
Format edit. Use ioalloc.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
 
static char* modems[] = { 
	"IBM 33.6 Data/Fax/Voice Modem", 
1998/0918    
	"CM-56G",				/* Xircom CreditCard Modem 56 - GlobalACCESS */ 
2001/1201    
	"CM-56G",			/* Xircom CreditCard Modem 56 - GlobalACCESS */ 
1998/0221    
	"KeepInTouch", 
1999/0312    
	"CEM56", 
1998/0221    
	0, 
2000/1006/sys/src/9/pc/pcmciamodem.c:58,632001/1201/sys/src/9/pc/pcmciamodem.c:58,65
2000/1006    
 
		slot = pcmspecial(modems[j], &isa); 
		if(slot >= 0){ 
2001/1201    
			if(ioalloc(isa.port, 8, 0, modems[j]) < 0) 
				print("%s port %lux already in use\n", modems[j], isa.port); 
2000/1006    
			print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
				modems[j], slot, isa.port, isa.irq); 
		} 
2001/1201/sys/src/9/pc/pcmciamodem.c:31,372001/1222/sys/src/9/pc/pcmciamodem.c:31,37 (short | long)
Bug fix: better tracking of com2used.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
pcmciamodemlink(void) 
{ 
	ISAConf isa; 
2000/1006    
	int i, j, slot, com2used; 
2001/1222    
	int i, j, slot, com2used, usingcom2; 
1998/0221    
 
	i = 0; 
2000/1006    
	com2used = 0; 
2001/1201/sys/src/9/pc/pcmciamodem.c:46,572001/1222/sys/src/9/pc/pcmciamodem.c:46,58
1998/0221    
			memset(&isa, 0, sizeof(isa)); 
		} 
 
2001/1222    
		usingcom2 = 0; 
2000/1006    
		if (isa.irq == 0 && isa.port == 0) { 
			if (com2used == 0) { 
				/* default is COM2 */ 
				isa.irq = 3; 
				isa.port = 0x2F8; 
				com2used++; 
2001/1222    
				usingcom2 = 1; 
2000/1006    
			} else 
1998/0811    
				break; 
		} 
2001/1201/sys/src/9/pc/pcmciamodem.c:58,632001/1222/sys/src/9/pc/pcmciamodem.c:59,66
2000/1006    
 
		slot = pcmspecial(modems[j], &isa); 
		if(slot >= 0){ 
2001/1222    
			if(usingcom2) 
				com2used = 1; 
2001/1201    
			if(ioalloc(isa.port, 8, 0, modems[j]) < 0) 
				print("%s port %lux already in use\n", modems[j], isa.port); 
2000/1006    
			print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
2001/1222/sys/src/9/pc/pcmciamodem.c:24,292002/0122/sys/src/9/pc/pcmciamodem.c:24,30 (short | long)
Add modem.
rsc Fri Mar 4 12:44:25 2005
2001/1201    
	"CM-56G",			/* Xircom CreditCard Modem 56 - GlobalACCESS */ 
1998/0221    
	"KeepInTouch", 
1999/0312    
	"CEM56", 
2002/0122    
	"MONTANA V.34 FAX/MODEM",	/* Motorola */ 
1998/0221    
	0, 
}; 
 
2002/0122/sys/src/9/pc/pcmciamodem.c:25,302002/0505/sys/src/9/pc/pcmciamodem.c:25,31 (short | long)
Add modem.
rsc Fri Mar 4 12:44:25 2005
1998/0221    
	"KeepInTouch", 
1999/0312    
	"CEM56", 
2002/0122    
	"MONTANA V.34 FAX/MODEM",	/* Motorola */ 
2002/0505    
	"REM10", 
1998/0221    
	0, 
}; 
 
2002/0505/sys/src/9/pc/pcmciamodem.c:26,312002/1016/sys/src/9/pc/pcmciamodem.c:26,32 (short | long)
Add modem.
rsc Fri Mar 4 12:44:25 2005
1999/0312    
	"CEM56", 
2002/0122    
	"MONTANA V.34 FAX/MODEM",	/* Motorola */ 
2002/0505    
	"REM10", 
2002/1016    
	"GSM/GPRS", 
1998/0221    
	0, 
}; 
 
2002/1016/sys/src/9/pc/pcmciamodem.c:27,322002/1105/sys/src/9/pc/pcmciamodem.c:27,33 (short | long)
Add modem.
rsc Fri Mar 4 12:44:25 2005
2002/0122    
	"MONTANA V.34 FAX/MODEM",	/* Motorola */ 
2002/0505    
	"REM10", 
2002/1016    
	"GSM/GPRS", 
2002/1105    
	"AirCard 555", 
1998/0221    
	0, 
}; 
 
2002/1105/sys/src/9/pc/pcmciamodem.c:67,732003/0301/sys/src/9/pc/pcmciamodem.c:67,73 (short | long)
Update print format for ISAconf.irq type change.
rsc Fri Mar 4 12:44:25 2005
2001/1222    
				com2used = 1; 
2001/1201    
			if(ioalloc(isa.port, 8, 0, modems[j]) < 0) 
				print("%s port %lux already in use\n", modems[j], isa.port); 
2000/1006    
			print("%s in pcmcia slot %d port 0x%lux irq %lud\n", 
2003/0301    
			print("%s in pcmcia slot %d port 0x%lux irq %d\n", 
2000/1006    
				modems[j], slot, isa.port, isa.irq); 
		} 
1998/0221    
	} 
2003/0301/sys/src/9/pc/pcmciamodem.c:28,332003/0326/sys/src/9/pc/pcmciamodem.c:28,34 (short | long)
Add modem.
rsc Fri Mar 4 12:44:25 2005
2002/0505    
	"REM10", 
2002/1016    
	"GSM/GPRS", 
2002/1105    
	"AirCard 555", 
2003/0326    
	"Gold Card Global",		/* Psion V90 Gold card */ 
1998/0221    
	0, 
}; 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)