30 #include <linux/pci.h>
32 #include <linux/slab.h>
34 #include <linux/module.h>
37 #define OSM_DESCRIPTION "I2O-subsystem"
98 for (i = 0; i < 6; i++) {
109 if (pdev->
device == 0xa501) {
112 if (c->
base.len > 0x400000)
113 c->
base.len = 0x400000;
115 if (c->
base.len > 0x100000)
116 c->
base.len = 0x100000;
131 " defined.\n", c->
name);
140 (
unsigned long)c->
base.phys, (
unsigned long)c->
base.len);
146 c->
name, (
unsigned long)c->
base.phys,
147 (
unsigned long)c->
base.len);
178 "service I2O.\n", c->
name);
218 pci_set_drvdata(pdev, c);
252 i2o_flush_reply(c, m);
303 if (c->
pdev->irq > 0)
327 if ((pdev->
class & 0xff) > 1) {
329 "(skipping).\n", pci_name(pdev));
377 pci_write_config_word(i960, 0x42, 0);
391 if (pdev->
device == 0xa511)
397 "%s: limit sectors per request to %d\n", c->
name,
400 #ifdef CONFIG_I2O_EXT_ADAPTEC_DMA64
414 if ((rc = i2o_pci_alloc(c))) {
416 "failed\n", c->
name);
417 goto free_controller;
420 if (i2o_pci_irq_enable(c)) {
422 "controller\n", c->
name);
430 pci_write_config_word(i960, 0x42, 0x03ff);
435 i2o_pci_irq_disable(c);
459 c = pci_get_drvdata(pdev);
462 i2o_pci_irq_disable(c);
475 .id_table = i2o_pci_ids,
476 .probe = i2o_pci_probe,
487 return pci_register_driver(&i2o_pci_driver);