1
Index: driver/ines/ines_cis_dump.txt
2
===================================================================
3
RCS file: /cvsroot/linux-gpib/linux-gpib/driver/ines/ines_cis_dump.txt,v
4
retrieving revision 1.1
5
retrieving revision 1.2
7
--- driver/ines/ines_cis_dump.txt 4 Dec 2002 19:36:07 -0000 1.1
8
+++ driver/ines/ines_cis_dump.txt 20 Feb 2006 14:38:23 -0000 1.2
11
+First a dump from a revision 1.1 card:
16
irq mask 0xffff [pulse]
20
+Now a revision 1.0 card (note, they're using National Instruments manfid!):
24
+vers_1 4.1, "ines GmbH", "IEEE488.2 PCMCIA", "Rev 1.0",
26
+config base 0x0100 mask 0x0003 last_index 0x01
27
+cftable_entry 0x31 [default]
30
+io 0x0000-0x001f [lines=5] [8bit] [16bit]
31
+irq mask 0xffff [pulse]
32
+manfid 0x010b, 0x4882
33
Index: driver/ines/ines_cs.c
34
===================================================================
35
RCS file: /cvsroot/linux-gpib/linux-gpib/driver/ines/ines_cs.c,v
36
retrieving revision 1.44
37
retrieving revision 1.46
39
--- driver/ines/ines_cs.c 20 Sep 2005 02:32:56 -0000 1.44
40
+++ driver/ines/ines_cs.c 27 Feb 2006 22:59:27 -0000 1.46
42
memset(link, 0, sizeof(struct dev_link_t));
44
/* The io structure describes IO port mapping */
45
- link->io.NumPorts1 =32;
46
+ link->io.NumPorts1 = 32;
47
link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
48
link->io.NumPorts2 = 0;
49
- link->io.Attributes2 =0;
50
+ link->io.Attributes2 = 0;
51
link->io.IOAddrLines = 5;
54
- link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_FORCED_PULSE;
55
+ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
56
link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_PULSE_ID;
58
link->irq.IRQInfo2 = irq_mask;
60
link->conf.Attributes = CONF_ENABLE_IRQ;
62
link->conf.IntType = INT_MEMORY_AND_IO;
63
- link->conf.ConfigIndex = 0x30;
64
- link->conf.Present = PRESENT_OPTION;
66
/* Allocate space for private device-specific data */
67
local = kmalloc(sizeof(local_info_t), GFP_KERNEL);
69
if (i != CS_SUCCESS) break;
70
link->conf.ConfigBase = parse.config.base;
71
link->conf.Present = parse.config.rmask[0];
74
if (i != CS_SUCCESS) {
75
cs_error(link->handle, ParseTuple, i);
76
link->state &= ~DEV_CONFIG_PENDING;
78
if (i == CS_SUCCESS) {
79
printk( KERN_DEBUG "ines_cs: base=0x%x len=%d registered\n",
80
link->io.BasePort1, link->io.NumPorts1 );
81
+ link->conf.ConfigIndex = parse.cftable_entry.index;
86
return_to_local: ines_return_to_local,
89
+irqreturn_t ines_pcmcia_interrupt(int irq, void *arg, struct pt_regs *registerp)
91
+ gpib_board_t *board = arg;
92
+ return ines_interrupt(board);
95
int ines_common_pcmcia_attach( gpib_board_t *board )
97
ines_private_t *ines_priv;
100
nec7210_board_reset( nec_priv, board );
102
- if(request_irq(dev_list->irq.AssignedIRQ, ines_interrupt, 0, "pcmcia-gpib", board))
103
+ if(request_irq(dev_list->irq.AssignedIRQ, ines_pcmcia_interrupt, SA_SHIRQ, "pcmcia-gpib", board))
105
printk("gpib: can't request IRQ %d\n", dev_list->irq.AssignedIRQ);