add -I option, ``Don't get and use a list of free

IRQs from kernel.''..

With IBM ThinkPad600.  ``sio1'' was disabled in BIOS
and irq 3 was free (also not listed in dmesg), I think.
But I could not use irq 3 for PC-Card with new(PIOCSRESOURCE
ioctl enabled) pccardd.
This commit is contained in:
MIHIRA Sanpei Yoshiro 2000-10-20 13:08:18 +00:00
parent 1c2715d95d
commit 2a2e255b8a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=67374
4 changed files with 11 additions and 2 deletions

View file

@ -528,7 +528,8 @@ assign_driver(struct card *cp)
perror("ioctl (PIOCSRESOURCE)");
exit(1);
}
if (pool_irq[i] && res.resource_addr == i) {
if (pool_irq[i]
&& (res.resource_addr == i || !use_kern_irq)) {
conf->irq = i;
pool_irq[i] = 0;
break;

View file

@ -154,6 +154,7 @@ EXTERN bitstr_t *mem_init;
EXTERN bitstr_t *io_avail;
EXTERN bitstr_t *io_init;
EXTERN int pccard_init_sleep; /* Time to sleep on init */
EXTERN int use_kern_irq;
EXTERN int debug_level;
/* cardd.c functions */

View file

@ -37,6 +37,7 @@
.Op Fl v
.Op Fl z
.Op Fl i Ar IRQ
.Op Fl I
.Op Fl f Ar configfile
.Sh DESCRIPTION
.Nm Pccardd
@ -135,6 +136,8 @@ After reading the configuration file, print out a summary
of it.
.It Fl z
Delays running as a daemon until after the cards have been probed and attached.
.It Fl I
Don't get a list of free IRQs from kernel.
.It Fl i Ar IRQ
Configures an available IRQ. It overrides the "irq" line in
.Pa /etc/defaults/pccard.conf

View file

@ -161,14 +161,18 @@ main(int argc, char *argv[])
int irq_specified = 0;
int i;
struct sockaddr_un sun;
#define COM_OPTS ":dvf:s:i:z"
#define COM_OPTS ":Idvf:s:i:z"
bzero(irq_arg, sizeof(irq_arg));
use_kern_irq = 1;
debug_level = 0;
pccard_init_sleep = 5000000;
cards = last_card = 0;
while ((count = getopt(argc, argv, COM_OPTS)) != -1) {
switch (count) {
case 'I':
use_kern_irq = 0;
break;
case 'd':
setbuf(stdout, 0);
setbuf(stderr, 0);