Below is a patch that adds an additional resource class to the platform 
resource types. This is to support additional resources that need to be passed
to drivers without overloading the existing specific types. In my case, I need
to send clock information to the driver to enable power management. 

Signed-off-by: Matthew Gilbert <[EMAIL PROTECTED]>

diff -uprN -X dontdiff linux-2.6.12.3.orig/drivers/base/platform.c 
linux-2.6.12.3/drivers/base/platform.c
--- linux-2.6.12.3.orig/drivers/base/platform.c 2005-07-15 14:18:57.000000000 
-0700
+++ linux-2.6.12.3/drivers/base/platform.c      2005-08-04 10:54:59.706802768 
-0700
@@ -37,7 +37,7 @@ platform_get_resource(struct platform_de
                struct resource *r = &dev->resource[i];
 
                if ((r->flags & (IORESOURCE_IO|IORESOURCE_MEM|
-                                IORESOURCE_IRQ|IORESOURCE_DMA))
+                                
IORESOURCE_IRQ|IORESOURCE_DMA|IORESOURCE_OTHER))
                    == type)
                        if (num-- == 0)
                                return r;
@@ -73,7 +73,7 @@ platform_get_resource_byname(struct plat
                struct resource *r = &dev->resource[i];
 
                if ((r->flags & (IORESOURCE_IO|IORESOURCE_MEM|
-                                IORESOURCE_IRQ|IORESOURCE_DMA)) == type)
+                                
IORESOURCE_IRQ|IORESOURCE_DMA|IORESOURCE_OTHER)) == type)
                        if (!strcmp(r->name, name))
                                return r;
        }
diff -uprN -X dontdiff linux-2.6.12.3.orig/include/linux/ioport.h 
linux-2.6.12.3/include/linux/ioport.h
--- linux-2.6.12.3.orig/include/linux/ioport.h  2005-07-15 14:18:57.000000000 
-0700
+++ linux-2.6.12.3/include/linux/ioport.h       2005-08-04 10:31:14.099528016 
-0700
@@ -35,13 +35,14 @@ struct resource_list {
 #define IORESOURCE_MEM         0x00000200
 #define IORESOURCE_IRQ         0x00000400
 #define IORESOURCE_DMA         0x00000800
+#define IORESOURCE_OTHER       0x00001000
 
-#define IORESOURCE_PREFETCH    0x00001000      /* No side effects */
-#define IORESOURCE_READONLY    0x00002000
-#define IORESOURCE_CACHEABLE   0x00004000
-#define IORESOURCE_RANGELENGTH 0x00008000
-#define IORESOURCE_SHADOWABLE  0x00010000
-#define IORESOURCE_BUS_HAS_VGA 0x00080000
+#define IORESOURCE_PREFETCH    0x00010000      /* No side effects */
+#define IORESOURCE_READONLY    0x00020000
+#define IORESOURCE_CACHEABLE   0x00040000
+#define IORESOURCE_RANGELENGTH 0x00080000
+#define IORESOURCE_SHADOWABLE  0x00100000
+#define IORESOURCE_BUS_HAS_VGA 0x00800000
 
 #define IORESOURCE_DISABLED    0x10000000
 #define IORESOURCE_UNSET       0x20000000


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to