[PATCH] Custom IORESOURCE Class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux