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:
parent
1c2715d95d
commit
2a2e255b8a
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user