From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 16 Apr 2005 15:20:36 -0700 Subject: Linux-2.6.12-rc2 Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip! --- drivers/sn/Makefile | 6 +++++ drivers/sn/ioc4.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 drivers/sn/Makefile create mode 100644 drivers/sn/ioc4.c (limited to 'drivers/sn') diff --git a/drivers/sn/Makefile b/drivers/sn/Makefile new file mode 100644 index 00000000000..631e5495844 --- /dev/null +++ b/drivers/sn/Makefile @@ -0,0 +1,6 @@ +# +# Makefile for the Altix device drivers. +# +# + +obj-$(CONFIG_BLK_DEV_SGIIOC4) += ioc4.o diff --git a/drivers/sn/ioc4.c b/drivers/sn/ioc4.c new file mode 100644 index 00000000000..d9e4ee280e5 --- /dev/null +++ b/drivers/sn/ioc4.c @@ -0,0 +1,65 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 2005 Silicon Graphics, Inc. All Rights Reserved. + */ + +/* + * This file contains a shim driver for the IOC4 IDE and serial drivers. + */ + +#include +#include +#include +#include +#include + + +static int __devinit +ioc4_probe_one(struct pci_dev *pdev, const struct pci_device_id *pci_id) +{ + int ret; + + if ((ret = pci_enable_device(pdev))) { + printk(KERN_WARNING + "%s: Failed to enable device with " + "pci_dev 0x%p... returning\n", + __FUNCTION__, (void *)pdev); + return ret; + } + pci_set_master(pdev); + + /* attach each sub-device */ + ret = ioc4_ide_attach_one(pdev, pci_id); + if (ret) + return ret; + return ioc4_serial_attach_one(pdev, pci_id); +} + +/* pci device struct */ +static struct pci_device_id ioc4_s_id_table[] = { + {PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_IOC4, PCI_ANY_ID, + PCI_ANY_ID, 0x0b4000, 0xFFFFFF}, + {0} +}; +MODULE_DEVICE_TABLE(pci, ioc4_s_id_table); + +static struct pci_driver __devinitdata ioc4_s_driver = { + .name = "IOC4", + .id_table = ioc4_s_id_table, + .probe = ioc4_probe_one, +}; + +static int __devinit ioc4_detect(void) +{ + ioc4_serial_init(); + + return pci_register_driver(&ioc4_s_driver); +} +module_init(ioc4_detect); + +MODULE_AUTHOR("Pat Gefre - Silicon Graphics Inc. (SGI) "); +MODULE_DESCRIPTION("PCI driver module for SGI IOC4 Base-IO Card"); +MODULE_LICENSE("GPL"); -- cgit v1.2.3