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;
+}