[PATCH] Custom IORESOURCE Class

From: Matthew Gilbert
Date: Mon Aug 08 2005 - 13:12:04 EST


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 <mgilbert@xxxxxxxxxx>

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/