Cromwell <-> PCI interface (stubs now) is taken to another file. In the long run I'm gonna change the file structure, but for now it's ok.
Modified: trunk/reactos/drivers/usb/cromwell/linux/linux_wrapper.h
Added: trunk/reactos/drivers/usb/cromwell/linux/pci_hal.c

Modified: trunk/reactos/drivers/usb/cromwell/linux/linux_wrapper.h
--- trunk/reactos/drivers/usb/cromwell/linux/linux_wrapper.h	2005-02-03 19:15:43 UTC (rev 13396)
+++ trunk/reactos/drivers/usb/cromwell/linux/linux_wrapper.h	2005-02-03 20:38:38 UTC (rev 13397)
@@ -686,48 +686,8 @@
 /*------------------------------------------------------------------------*/ 
 /* PCI, simple and inlined... */
 /*------------------------------------------------------------------------*/ 
-static int __inline__ pci_enable_device(struct pci_dev *dev) {return 0;}
+#include "pci_hal.c"
 
-static unsigned long __inline__ pci_resource_start (struct pci_dev *dev, int x)
-{
-	return dev->base[x];
-}
-
-static unsigned long __inline__ pci_resource_len (struct pci_dev *dev, int x){return 0;}
-
-static int __inline__ request_mem_region(unsigned long addr, unsigned long len, const char * d){return 1;}
-
-static void __inline__ *ioremap_nocache(unsigned long addr, unsigned long len)
-{
-	return (void*)addr;
-}
-
-static int __inline__ release_mem_region(unsigned long addr, unsigned long len){return 0;}
-
-static int __inline__ pci_resource_flags(struct pci_dev *dev, int x)
-{
-	return dev->flags[x];
-}
-
-static int __inline__ request_region(unsigned long addr, unsigned long len, const char * d){return 0;}
-
-static int __inline__ pci_set_master(struct pci_dev *dev){return 0;}
-
-static int __inline__ iounmap(void* p){return 0;}
-
-static int __inline__ release_region(unsigned long addr, unsigned long len){return 0;}
-
-static int __inline__ pci_set_drvdata(struct pci_dev *dev, void* d)
-{
-	dev->data=(void*)d;
-	return 0;
-}
-
-static void __inline__ *pci_get_drvdata(struct pci_dev *dev)
-{
-	return dev->data;
-}
-
 /*------------------------------------------------------------------------*/ 
 /* IRQ handling */
 /*------------------------------------------------------------------------*/ 

Added: trunk/reactos/drivers/usb/cromwell/linux/pci_hal.c
--- trunk/reactos/drivers/usb/cromwell/linux/pci_hal.c	2005-02-03 19:15:43 UTC (rev 13396)
+++ trunk/reactos/drivers/usb/cromwell/linux/pci_hal.c	2005-02-03 20:38:38 UTC (rev 13397)
@@ -0,0 +1,123 @@
+// PCI -> HAL interface
+// this file is part of linux_wrapper.h
+
+/*
+  Initialize device before it's used by a driver. Ask low-level code to enable I/O and memory.
+  Wake up the device if it was suspended. Beware, this function can fail. 
+ */
+static int __inline__ pci_enable_device(struct pci_dev *dev)
+{
+	return 0;
+}
+
+// Get physical address where resource x resides
+static unsigned long __inline__ pci_resource_start (struct pci_dev *dev, int x)
+{
+	// HalGetBusData...
+	// HalAssignSlotResources ?
+	return dev->base[x];
+}
+
+// ???
+static unsigned long __inline__ pci_resource_len (struct pci_dev *dev, int x){return 0;}
+
+// ???
+static int __inline__ pci_resource_flags(struct pci_dev *dev, int x)
+{
+	return dev->flags[x];
+}
+
+/*
+   Enables bus-mastering for device dev
+*/
+static int __inline__ pci_set_master(struct pci_dev *dev) {return 0;}
+
+// Store pointer to data for this device
+static int __inline__ pci_set_drvdata(struct pci_dev *dev, void* d)
+{
+	dev->data=(void*)d;
+	return 0;
+}
+
+// Get pointer to previously saved data
+static void __inline__ *pci_get_drvdata(struct pci_dev *dev)
+{
+	return dev->data;
+}
+
+
+/*
+   ===========================================================================
+   I/O mem related stuff below
+*/
+
+/*
+Allocate I/O memory region. 
+
+Parameters:
+start  begin of region  
+n      length of region  
+name   name of requester 
+*/
+static int __inline__ request_region(unsigned long addr, unsigned long len, const char * d){return 0;}
+
+/*
+Unmap I/O memory from kernel address space. 
+
+Parameters:
+addr  virtual start address 
+*/
+static int __inline__ iounmap(void* p)
+{
+	return 0;
+}
+
+/*
+Release I/O port region. 
+
+Parameters:
+start  begin of region  
+n  length of region  
+*/
+static int __inline__ release_region(unsigned long addr, unsigned long len){return 0;}
+
+/*
+Allocate I/O memory region. 
+
+Parameters:
+start  begin of region  
+n      length of region  
+name   name of requester 
+*/
+static int __inline__ request_mem_region(unsigned long addr, unsigned long len, const char * d)
+{
+	return 1;
+}
+
+/*
+Remap I/O memory into kernel address space (no cache). 
+
+Parameters:
+phys_addr  begin of physical address range  
+size       size of physical address range 
+
+Returns:
+virtual start address of mapped range
+*/
+static void __inline__ *ioremap_nocache(unsigned long addr, unsigned long len)
+{
+	// MmMapIoSpace ?
+	return (void*)addr;
+}
+
+/*
+Release I/O memory region. 
+
+Parameters:
+start  begin of region  
+n      length of region  
+*/
+static int __inline__ release_mem_region(unsigned long addr, unsigned long len)
+{
+	return 0;
+}