Lines Matching refs:cfg_base

121 	unsigned short cfg_base; /* I/O port for chip configuration */  member
144 unsigned int cfg_base; member
224 static const struct smsc_chip * __init smsc_ircc_probe(unsigned short cfg_base, u8 reg, const struc…
225 static int __init smsc_superio_flat(const struct smsc_chip *chips, unsigned short cfg_base, char *t…
226 static int __init smsc_superio_paged(const struct smsc_chip *chips, unsigned short cfg_base, char *…
227 static int __init smsc_superio_fdc(unsigned short cfg_base);
228 static int __init smsc_superio_lpc(unsigned short cfg_base);
2140 unsigned int cfg_base, found; in smsc_ircc_look_for_chips() local
2145 while (address->cfg_base) { in smsc_ircc_look_for_chips()
2146 cfg_base = address->cfg_base; in smsc_ircc_look_for_chips()
2153 if (!smsc_superio_flat(fdc_chips_flat, cfg_base, type)) in smsc_ircc_look_for_chips()
2157 if (!smsc_superio_paged(fdc_chips_paged, cfg_base, type)) in smsc_ircc_look_for_chips()
2163 if (!smsc_superio_flat(lpc_chips_flat, cfg_base, type)) in smsc_ircc_look_for_chips()
2167 if (!smsc_superio_paged(lpc_chips_paged, cfg_base, type)) in smsc_ircc_look_for_chips()
2233 static int __init smsc_superio_paged(const struct smsc_chip *chips, unsigned short cfg_base, char *… in smsc_superio_paged() argument
2240 if (smsc_ircc_probe(cfg_base, 0x20, chips, type) == NULL) in smsc_superio_paged()
2244 outb(0x07, cfg_base); in smsc_superio_paged()
2245 outb(0x05, cfg_base + 1); in smsc_superio_paged()
2248 outb(0x60, cfg_base); in smsc_superio_paged()
2249 sir_io = inb(cfg_base + 1) << 8; in smsc_superio_paged()
2250 outb(0x61, cfg_base); in smsc_superio_paged()
2251 sir_io |= inb(cfg_base + 1); in smsc_superio_paged()
2254 outb(0x62, cfg_base); in smsc_superio_paged()
2255 fir_io = inb(cfg_base + 1) << 8; in smsc_superio_paged()
2256 outb(0x63, cfg_base); in smsc_superio_paged()
2257 fir_io |= inb(cfg_base + 1); in smsc_superio_paged()
2258 outb(0x2b, cfg_base); /* ??? */ in smsc_superio_paged()
2264 outb(SMSCSIO_CFGEXITKEY, cfg_base); in smsc_superio_paged()
2270 static int __init smsc_access(unsigned short cfg_base, unsigned char reg) in smsc_access() argument
2274 outb(reg, cfg_base); in smsc_access()
2275 return inb(cfg_base) != reg ? -1 : 0; in smsc_access()
2278 static const struct smsc_chip * __init smsc_ircc_probe(unsigned short cfg_base, u8 reg, const struc… in smsc_ircc_probe() argument
2286 outb(SMSCSIO_CFGEXITKEY, cfg_base); in smsc_ircc_probe()
2288 if (inb(cfg_base) == SMSCSIO_CFGEXITKEY) /* not a smc superio chip */ in smsc_ircc_probe()
2291 outb(reg, cfg_base); in smsc_ircc_probe()
2293 xdevid = inb(cfg_base + 1); in smsc_ircc_probe()
2297 outb(SMSCSIO_CFGACCESSKEY, cfg_base); in smsc_ircc_probe()
2300 if (smsc_access(cfg_base,0x55)) /* send second key and check */ in smsc_ircc_probe()
2306 if (smsc_access(cfg_base, reg)) in smsc_ircc_probe()
2309 devid = inb(cfg_base + 1); in smsc_ircc_probe()
2316 if (smsc_access(cfg_base, reg + 1)) in smsc_ircc_probe()
2319 rev = inb(cfg_base + 1); in smsc_ircc_probe()
2338 devid, rev, cfg_base, type, chip->name); in smsc_ircc_probe()
2351 static int __init smsc_superio_fdc(unsigned short cfg_base) in smsc_superio_fdc() argument
2355 if (!request_region(cfg_base, 2, driver_name)) { in smsc_superio_fdc()
2357 __func__, cfg_base); in smsc_superio_fdc()
2359 if (!smsc_superio_flat(fdc_chips_flat, cfg_base, "FDC") || in smsc_superio_fdc()
2360 !smsc_superio_paged(fdc_chips_paged, cfg_base, "FDC")) in smsc_superio_fdc()
2363 release_region(cfg_base, 2); in smsc_superio_fdc()
2369 static int __init smsc_superio_lpc(unsigned short cfg_base) in smsc_superio_lpc() argument
2373 if (!request_region(cfg_base, 2, driver_name)) { in smsc_superio_lpc()
2375 __func__, cfg_base); in smsc_superio_lpc()
2377 if (!smsc_superio_flat(lpc_chips_flat, cfg_base, "LPC") || in smsc_superio_lpc()
2378 !smsc_superio_paged(lpc_chips_paged, cfg_base, "LPC")) in smsc_superio_lpc()
2381 release_region(cfg_base, 2); in smsc_superio_lpc()
2418 .cfg_base = 0x004e,
2432 .cfg_base = 0x004e,
2445 .cfg_base = 0x004e,
2459 .cfg_base = 0x002e,
2473 .cfg_base = 0x002e,
2486 .cfg_base = 0x002e,
2500 .cfg_base = 0x002e,
2514 .cfg_base = 0x002e,
2531 unsigned short iobase = conf->cfg_base; in preconfigure_smsc_chip()
2692 switch(conf->cfg_base) { in preconfigure_through_82801()
2707 conf->cfg_base); in preconfigure_through_82801()
2876 tmpconf.cfg_base = ircc_cfg; in smsc_ircc_preconfigure_subsystems()