linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] CPCI405 ide driver fixed
@ 2003-01-23 16:25 Stefan Roese
  0 siblings, 0 replies; only message in thread
From: Stefan Roese @ 2003-01-23 16:25 UTC (permalink / raw)
  To: Linuxppc-Embedded; +Cc: Tom Rini

[-- Attachment #1: Type: text/plain, Size: 338 bytes --]

Hello

The attached patch moves the CPCI405 ide-driver to the ppc directory and
fixes a problem with additional (CompactPCI) ide controllers.

- move cpci405ide.c to ppc directory
- fix problem with additional (CompactPCI) ide controllers
- update cpci405_defconfig

Please apply this patch to linuxppc_2_4_devel.

Best regards,
Stefan.


[-- Attachment #2: linuxppc_2_4_devel_2.4.21pre3.patch --]
[-- Type: application/octet-stream, Size: 16468 bytes --]

diff -N -u -r --exclude=CVS --exclude=LOG linuxppc_2_4_devel_2.4.21pre3_orig/arch/ppc/configs/cpci405_defconfig linuxppc_2_4_devel_2.4.21pre3/arch/ppc/configs/cpci405_defconfig
--- linuxppc_2_4_devel_2.4.21pre3_orig/arch/ppc/configs/cpci405_defconfig	Thu Jan 23 16:35:16 2003
+++ linuxppc_2_4_devel_2.4.21pre3/arch/ppc/configs/cpci405_defconfig	Thu Jan 23 16:30:09 2003
@@ -32,16 +32,21 @@
 # CONFIG_PPC_ISERIES is not set
 CONFIG_4xx=y
 # CONFIG_PPC_STD_MMU is not set
+# CONFIG_ARCTIC2 is not set
 # CONFIG_ASH is not set
 # CONFIG_CEDER is not set
+# CONFIG_BEECH is not set
 CONFIG_CPCI405=y
 # CONFIG_EP405 is not set
 # CONFIG_OAK is not set
 # CONFIG_RAINIER is not set
 # CONFIG_REDWOOD_4 is not set
 # CONFIG_REDWOOD_5 is not set
+# CONFIG_REDWOOD_6 is not set
+# CONFIG_SYCAMORE is not set
 # CONFIG_TIVO is not set
 # CONFIG_WALNUT is not set
+# CONFIG_XILINX_ML300 is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 # CONFIG_MATH_EMULATION is not set
@@ -51,10 +56,10 @@
 # CONFIG_PM is not set
 CONFIG_UART0_TTYS0=y
 # CONFIG_UART0_TTYS1 is not set
+CONFIG_GEN550_KGDB=y
 CONFIG_IBM405_ERR51=y
 CONFIG_NOT_COHERENT_CACHE=y
 # CONFIG_PPC4xx_DMA is not set
-CONFIG_PPC4xx_EDMA=y
 CONFIG_OCP_PROC=y
 
 #
@@ -113,6 +118,7 @@
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=4096
 CONFIG_BLK_DEV_INITRD=y
+# CONFIG_BLK_STATS is not set
 
 #
 # Multi-device support (RAID and LVM)
@@ -193,32 +199,64 @@
 CONFIG_BLK_DEV_IDEDISK=y
 # CONFIG_IDEDISK_MULTI_MODE is not set
 # CONFIG_IDEDISK_STROKE is not set
-# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
-# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
-# CONFIG_BLK_DEV_IDEDISK_IBM is not set
-# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
-# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
-# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
-# CONFIG_BLK_DEV_IDEDISK_WD is not set
-# CONFIG_BLK_DEV_COMMERIAL is not set
-# CONFIG_BLK_DEV_TIVO is not set
 # CONFIG_BLK_DEV_IDECS is not set
 # CONFIG_BLK_DEV_IDECD is not set
 # CONFIG_BLK_DEV_IDETAPE is not set
 # CONFIG_BLK_DEV_IDEFLOPPY is not set
 # CONFIG_BLK_DEV_IDESCSI is not set
 # CONFIG_IDE_TASK_IOCTL is not set
+# CONFIG_IDE_TASKFILE_IO is not set
 # CONFIG_BLK_DEV_CMD640 is not set
 # CONFIG_BLK_DEV_CMD640_ENHANCED is not set
 # CONFIG_BLK_DEV_ISAPNP is not set
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+# CONFIG_IDEDMA_PCI_AUTO is not set
+# CONFIG_IDEDMA_ONLYDISK is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_PCI_WIP is not set
+CONFIG_BLK_DEV_ADMA=y
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_WDC_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_AMD74XX_OVERRIDE is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=y
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NFORCE is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_PDC202XX_BURST is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_PDC202XX_FORCE is not set
 # CONFIG_BLK_DEV_RZ1000 is not set
-# CONFIG_BLK_DEV_IDEPCI is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SIS5513 is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_BLK_DEV_SL82C105 is not set
 # CONFIG_IBM_OCP_IDE is not set
+CONFIG_BLK_DEV_IDEDMA=y
 CONFIG_BLK_DEV_CPCI405_IDE=y
 # CONFIG_IDE_CHIPSETS is not set
 # CONFIG_IDEDMA_AUTO is not set
+# CONFIG_IDEDMA_IVB is not set
 # CONFIG_DMA_NONPCI is not set
-# CONFIG_BLK_DEV_IDE_MODES is not set
+CONFIG_BLK_DEV_IDE_MODES=y
 # CONFIG_BLK_DEV_ATARAID is not set
 # CONFIG_BLK_DEV_ATARAID_PDC is not set
 # CONFIG_BLK_DEV_ATARAID_HPT is not set
@@ -277,10 +315,12 @@
 #
 # CONFIG_ACENIC is not set
 # CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
 # CONFIG_MYRI_SBUS is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
 # CONFIG_SK98LIN is not set
 # CONFIG_TIGON3 is not set
 
@@ -381,8 +421,7 @@
 CONFIG_I2C=y
 # CONFIG_I2C_ALGOBIT is not set
 # CONFIG_I2C_ALGOPCF is not set
-CONFIG_I2C_IBM_OCP_ALGO=y
-CONFIG_I2C_IBM_OCP_ADAP=y
+CONFIG_I2C_IBM_OCP=y
 CONFIG_I2C_CHARDEV=y
 CONFIG_I2C_PROC=y
 
@@ -402,12 +441,14 @@
 # Watchdog Cards
 #
 # CONFIG_WATCHDOG is not set
+# CONFIG_SCx200_GPIO is not set
+# CONFIG_AMD_PM768 is not set
 # CONFIG_NVRAM is not set
 # CONFIG_RTC is not set
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_IBM_OCP_GPIO is not set
+CONFIG_IBM_OCP_GPIO=y
 
 #
 # Ftape, the floppy tape device driver
@@ -434,6 +475,8 @@
 # CONFIG_ADFS_FS_RW is not set
 # CONFIG_AFFS_FS is not set
 # CONFIG_HFS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BEFS_DEBUG is not set
 # CONFIG_BFS_FS is not set
 # CONFIG_EXT3_FS is not set
 # CONFIG_JBD is not set
@@ -441,7 +484,7 @@
 CONFIG_FAT_FS=y
 CONFIG_MSDOS_FS=y
 # CONFIG_UMSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
+CONFIG_VFAT_FS=y
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
 # CONFIG_JFFS2_FS is not set
@@ -451,6 +494,9 @@
 # CONFIG_ISO9660_FS is not set
 # CONFIG_JOLIET is not set
 # CONFIG_ZISOFS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_VXFS_FS is not set
 # CONFIG_NTFS_FS is not set
@@ -481,6 +527,7 @@
 CONFIG_ROOT_NFS=y
 # CONFIG_NFSD is not set
 # CONFIG_NFSD_V3 is not set
+# CONFIG_NFSD_TCP is not set
 CONFIG_SUNRPC=y
 CONFIG_LOCKD=y
 CONFIG_LOCKD_V4=y
@@ -495,7 +542,6 @@
 # CONFIG_NCPFS_NLS is not set
 # CONFIG_NCPFS_EXTRAS is not set
 # CONFIG_ZISOFS_FS is not set
-# CONFIG_ZLIB_FS_INFLATE is not set
 
 #
 # Partition Types
@@ -553,7 +599,7 @@
 # CONFIG_SOUND is not set
 
 #
-# MPC4xx Driver Options
+# IBM 4xx options
 #
 
 #
@@ -562,114 +608,18 @@
 # CONFIG_USB is not set
 
 #
-# USB Controllers
-#
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-# CONFIG_USB_OHCI is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_BLUETOOTH is not set
-# CONFIG_USB_STORAGE is not set
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_HP8200e is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-
-#
-# USB Human Interface Devices (HID)
-#
-
-#
-#   Input core support is needed for USB HID
-#
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-
-#
-#   Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network adaptors
-#
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-# CONFIG_USB_SERIAL_GENERIC is not set
-# CONFIG_USB_SERIAL_BELKIN is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-# CONFIG_USB_SERIAL_VISOR is not set
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_OMNINET is not set
-
-#
-# USB Miscellaneous drivers
+# Bluetooth support
 #
-# CONFIG_USB_RIO500 is not set
+# CONFIG_BLUEZ is not set
 
 #
-# Bluetooth support
+# Library routines
 #
-# CONFIG_BLUEZ is not set
+# CONFIG_ZLIB_INFLATE is not set
+# CONFIG_ZLIB_DEFLATE is not set
 
 #
 # Kernel hacking
 #
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_KGDB is not set
-# CONFIG_XMON is not set
-# CONFIG_BDI_SWITCH is not set
+# CONFIG_DEBUG_KERNEL is not set
 # CONFIG_SERIAL_TEXT_DEBUG is not set
diff -N -u -r --exclude=CVS --exclude=LOG linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/Makefile linuxppc_2_4_devel_2.4.21pre3/drivers/ide/Makefile
--- linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/Makefile	Thu Jan 23 16:37:26 2003
+++ linuxppc_2_4_devel_2.4.21pre3/drivers/ide/Makefile	Thu Jan 23 16:20:44 2003
@@ -19,7 +19,6 @@
 obj-m		:=
 ide-obj-y	:=
 
-# ide-obj-$(CONFIG_BLK_DEV_CPCI405_IDE)	+= cpci405ide.o
 obj-$(CONFIG_IBM_OCP_IDE)	+= ibm_ocp_ide.o
 obj-$(CONFIG_BLK_DEV_REDWOOD_IDE)	+= ocp_stbxxxxx.o
 
diff -N -u -r --exclude=CVS --exclude=LOG linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/cpci405ide.c linuxppc_2_4_devel_2.4.21pre3/drivers/ide/cpci405ide.c
--- linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/cpci405ide.c	Thu Jan 23 16:36:38 2003
+++ linuxppc_2_4_devel_2.4.21pre3/drivers/ide/cpci405ide.c	Thu Jan  1 01:00:00 1970
@@ -1,92 +0,0 @@
-/*
- *  linux/drivers/ide/cpci405.c -- CPCI405 IDE Driver
- *
- *     Copyright (C) 2001 by Stefan Roese
- *
- *  This driver was written based on information obtained from the MacOS IDE
- *  driver binary by Mikael Forselius
- *
- *  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.
- */
-
-#include <linux/types.h>
-#include <linux/mm.h>
-#include <linux/interrupt.h>
-#include <linux/blkdev.h>
-#include <linux/hdreg.h>
-#include <linux/delay.h>
-#include <linux/ide.h>
-#include <linux/init.h>
-
-
-/*
- *  Base of the IDE interface
- */
-
-#define CPCI405_HD_BASE	0xf0100000
-
-/*
- *  Offsets from the above base (scaling 4)
- */
-
-#define CPCI405_HD_DATA	        0x00
-#define CPCI405_HD_ERROR	0x01		/* see err-bits */
-#define CPCI405_HD_NSECTOR	0x02		/* nr of sectors to read/write */
-#define CPCI405_HD_SECTOR	0x03		/* starting sector */
-#define CPCI405_HD_LCYL	        0x04		/* starting cylinder */
-#define CPCI405_HD_HCYL	        0x05		/* high byte of starting cyl */
-#define CPCI405_HD_SELECT	0x06		/* 101dhhhh , d=drive, hhhh=head */
-#define CPCI405_HD_STATUS	0x07		/* see status-bits */
-#define CPCI405_HD_CONTROL	0x0e		/* control/altstatus */
-
-#define CPCI405_IRQ_IDE         0x1f
-
-static int cpci405ide_offsets[IDE_NR_PORTS] __initdata = {
-  CPCI405_HD_DATA, CPCI405_HD_ERROR, CPCI405_HD_NSECTOR, CPCI405_HD_SECTOR,
-  CPCI405_HD_LCYL, CPCI405_HD_HCYL, CPCI405_HD_SELECT, CPCI405_HD_STATUS,
-  CPCI405_HD_CONTROL
-};
-
-static void *cpci405_ide_base_mapped;
-
-
-static int cpci405ide_check_region(ide_ioreg_t start, unsigned int len)
-{
-  if (((unsigned long)start >= (unsigned long)cpci405_ide_base_mapped) && 
-      (((unsigned long)start+len) <= (unsigned long)cpci405_ide_base_mapped+0x200))
-    return 0;
-  else
-    return -1;
-}
-
-
-/*
- *  Probe for a CPCI405 IDE interface
- */
-
-void __init cpci405ide_init(void)
-{
-	hw_regs_t hw;
-	int index = -1;
-
-        ppc_ide_md.ide_check_region = cpci405ide_check_region;
-
-#if 0
-        printk("cpci405ide: physical address=%08lx\n",
-               (unsigned long)CPCI405_HD_BASE);              /* test-only */
-#endif
-	cpci405_ide_base_mapped =
-          ioremap((unsigned long) CPCI405_HD_BASE, 0x200) - _IO_BASE;
-#if 0
-        printk("cpci405ide: mapped address=%08lx\n",
-               (unsigned long)cpci405_ide_base_mapped);      /* test-only */
-#endif
-        ide_setup_ports(&hw, (ide_ioreg_t)cpci405_ide_base_mapped,
-                        cpci405ide_offsets, 0, 0, NULL, CPCI405_IRQ_IDE);
-        index = ide_register_hw(&hw, NULL);
-        if (index != -1)
-          printk("ide%d: CPCI405 IDE interface\n", index);
-
-}
diff -N -u -r --exclude=CVS --exclude=LOG linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/ppc/Makefile linuxppc_2_4_devel_2.4.21pre3/drivers/ide/ppc/Makefile
--- linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/ppc/Makefile	Thu Jan 23 16:37:13 2003
+++ linuxppc_2_4_devel_2.4.21pre3/drivers/ide/ppc/Makefile	Thu Jan 23 16:18:14 2003
@@ -4,6 +4,7 @@
 obj-y		:=
 obj-m		:=
 
+obj-$(CONFIG_BLK_DEV_CPCI405_IDE)	+= cpci405ide.o
 obj-$(CONFIG_BLK_DEV_MPC8xx_IDE)	+= mpc8xx.o
 obj-$(CONFIG_BLK_DEV_IDE_PMAC)		+= pmac.o
 obj-$(CONFIG_BLK_DEV_IDE_SWARM)		+= swarm.o
diff -N -u -r --exclude=CVS --exclude=LOG linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/ppc/cpci405ide.c linuxppc_2_4_devel_2.4.21pre3/drivers/ide/ppc/cpci405ide.c
--- linuxppc_2_4_devel_2.4.21pre3_orig/drivers/ide/ppc/cpci405ide.c	Thu Jan  1 01:00:00 1970
+++ linuxppc_2_4_devel_2.4.21pre3/drivers/ide/ppc/cpci405ide.c	Thu Jan 23 16:44:15 2003
@@ -0,0 +1,72 @@
+/*
+ *  linux/drivers/ide/ppc/cpci405ide.c -- CPCI405 IDE Driver
+ *
+ *  Copyright (C) 2001-2003 Stefan Roese, stefan.roese@esd-electronics.de
+ *
+ *  This driver was written based on information obtained from the MacOS IDE
+ *  driver binary by Mikael Forselius
+ *
+ *  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.
+ */
+
+#include <linux/types.h>
+#include <linux/mm.h>
+#include <linux/interrupt.h>
+#include <linux/blkdev.h>
+#include <linux/hdreg.h>
+#include <linux/delay.h>
+#include <linux/ide.h>
+#include <linux/init.h>
+
+
+/*
+ *  Base of the IDE interface
+ */
+
+#define CPCI405_HD_BASE	0xf0100000
+
+/*
+ *  Offsets from the above base (scaling 4)
+ */
+
+#define CPCI405_HD_DATA	        0x00
+#define CPCI405_HD_ERROR	0x01		/* see err-bits */
+#define CPCI405_HD_NSECTOR	0x02		/* nr of sectors to read/write */
+#define CPCI405_HD_SECTOR	0x03		/* starting sector */
+#define CPCI405_HD_LCYL	        0x04		/* starting cylinder */
+#define CPCI405_HD_HCYL	        0x05		/* high byte of starting cyl */
+#define CPCI405_HD_SELECT	0x06		/* 101dhhhh , d=drive, hhhh=head */
+#define CPCI405_HD_STATUS	0x07		/* see status-bits */
+#define CPCI405_HD_CONTROL	0x0e		/* control/altstatus */
+
+#define CPCI405_IRQ_IDE         0x1f
+
+static int cpci405ide_offsets[IDE_NR_PORTS] __initdata = {
+	CPCI405_HD_DATA, CPCI405_HD_ERROR, CPCI405_HD_NSECTOR, CPCI405_HD_SECTOR,
+	CPCI405_HD_LCYL, CPCI405_HD_HCYL, CPCI405_HD_SELECT, CPCI405_HD_STATUS,
+	CPCI405_HD_CONTROL
+};
+
+static void *cpci405_ide_base_mapped;
+
+
+/*
+ *  Probe for a CPCI405 IDE interface
+ */
+
+void __init cpci405ide_init(void)
+{
+	hw_regs_t hw;
+	int index = -1;
+
+	cpci405_ide_base_mapped =
+		ioremap((unsigned long) CPCI405_HD_BASE, 0x200) - _IO_BASE;
+        ide_setup_ports(&hw, (ide_ioreg_t)cpci405_ide_base_mapped,
+                        cpci405ide_offsets, 0, 0, NULL, CPCI405_IRQ_IDE);
+        index = ide_register_hw(&hw, NULL);
+        if (index != -1)
+		printk("ide%d: CPCI405 IDE interface\n", index);
+
+}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-01-23 16:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-23 16:25 [PATCH] CPCI405 ide driver fixed Stefan Roese

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).