|
Lines 80-85
Link Here
|
| 80 |
static unsigned int io[] = { ~0, ~0, ~0, ~0 }; |
80 |
static unsigned int io[] = { ~0, ~0, ~0, ~0 }; |
| 81 |
static unsigned int irq[] = { 0, 0, 0, 0, 0 }; |
81 |
static unsigned int irq[] = { 0, 0, 0, 0, 0 }; |
| 82 |
static unsigned int dma[] = { 0, 0, 0, 0, 0 }; |
82 |
static unsigned int dma[] = { 0, 0, 0, 0, 0 }; |
|
|
83 |
static unsigned int noprobe[] = { 0, 0, 0, 0 }; |
| 83 |
|
84 |
|
| 84 |
static int nsc_ircc_probe_108(nsc_chip_t *chip, chipio_t *info); |
85 |
static int nsc_ircc_probe_108(nsc_chip_t *chip, chipio_t *info); |
| 85 |
static int nsc_ircc_probe_338(nsc_chip_t *chip, chipio_t *info); |
86 |
static int nsc_ircc_probe_338(nsc_chip_t *chip, chipio_t *info); |
|
Lines 161-173
Link Here
|
| 161 |
int cfg_base; |
162 |
int cfg_base; |
| 162 |
int cfg, id; |
163 |
int cfg, id; |
| 163 |
int reg; |
164 |
int reg; |
| 164 |
int i = 0; |
165 |
int i; |
|
|
166 |
|
| 167 |
/* attach to devices specified by the user with noprobe */ |
| 168 |
for (i=0; i<4; i++) { |
| 169 |
if (noprobe[i]) { |
| 170 |
IRDA_DEBUG(2, "%s(), Attaching to unknown controller " |
| 171 |
"at 0x%x (irq %u, dma %u) ...\n", |
| 172 |
io[i], irq[i], dma[i]); |
| 173 |
memset(&info, 0, sizeof(chipio_t)); |
| 174 |
info.fir_base = io[i]; |
| 175 |
info.dma = dma[i]; |
| 176 |
info.irq = irq[i]; |
| 177 |
|
| 178 |
if (nsc_ircc_open(i, &info) == 0) |
| 179 |
ret = 0; |
| 180 |
} |
| 181 |
} |
| 182 |
|
| 183 |
if (noprobe[0] && noprobe[1] && noprobe[2] && noprobe[3]) |
| 184 |
return ret; |
| 185 |
|
| 186 |
i = 0; |
| 165 |
|
187 |
|
| 166 |
/* Probe for all the NSC chipsets we know about */ |
188 |
/* Probe for all the NSC chipsets we know about */ |
| 167 |
for (chip=chips; chip->name ; chip++) { |
189 |
for (chip=chips; chip->name ; chip++) { |
| 168 |
IRDA_DEBUG(2, "%s(), Probing for %s ...\n", |
190 |
IRDA_DEBUG(2, "%s(), Probing for %s ...\n", |
| 169 |
__FUNCTION__, chip->name); |
191 |
__FUNCTION__, chip->name); |
| 170 |
|
192 |
|
|
|
193 |
while (noprobe[i]) |
| 194 |
i++; |
| 195 |
|
| 196 |
if (i == 4) |
| 197 |
break; |
| 198 |
|
| 171 |
/* Try all config registers for this chip */ |
199 |
/* Try all config registers for this chip */ |
| 172 |
for (cfg=0; cfg<3; cfg++) { |
200 |
for (cfg=0; cfg<3; cfg++) { |
| 173 |
cfg_base = chip->cfg[cfg]; |
201 |
cfg_base = chip->cfg[cfg]; |
|
Lines 253-260
Link Here
|
| 253 |
|
281 |
|
| 254 |
IRDA_DEBUG(2, "%s()\n", __FUNCTION__); |
282 |
IRDA_DEBUG(2, "%s()\n", __FUNCTION__); |
| 255 |
|
283 |
|
| 256 |
MESSAGE("%s, Found chip at base=0x%03x\n", driver_name, |
284 |
if (!noprobe[i]) { |
| 257 |
info->cfg_base); |
285 |
MESSAGE("%s, Found chip at base=0x%03x\n", driver_name, |
|
|
286 |
info->cfg_base); |
| 287 |
} |
| 258 |
|
288 |
|
| 259 |
if ((nsc_ircc_setup(info)) == -1) |
289 |
if ((nsc_ircc_setup(info)) == -1) |
| 260 |
return -1; |
290 |
return -1; |
|
Lines 2058-2063
Link Here
|
| 2058 |
MODULE_PARM_DESC(dma, "DMA channels"); |
2088 |
MODULE_PARM_DESC(dma, "DMA channels"); |
| 2059 |
MODULE_PARM(dongle_id, "i"); |
2089 |
MODULE_PARM(dongle_id, "i"); |
| 2060 |
MODULE_PARM_DESC(dongle_id, "Type-id of used dongle"); |
2090 |
MODULE_PARM_DESC(dongle_id, "Type-id of used dongle"); |
|
|
2091 |
MODULE_PARM(noprobe, "1-4i"); |
| 2092 |
MODULE_PARM_DESC(noprobe, "Do not probe chipset, just attach"); |
| 2061 |
|
2093 |
|
| 2062 |
int init_module(void) |
2094 |
int init_module(void) |
| 2063 |
{ |
2095 |
{ |