ACPI: Move the window flag logic to the combined parser
authorThomas Gleixner <tglx@linutronix.de>
Mon, 2 Feb 2015 02:42:52 +0000 (10:42 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 3 Feb 2015 21:27:19 +0000 (22:27 +0100)
Normal memory and io resources have window always set to false. Move
the flag logic to the unified address space parser.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/resource.c

index 99903d196024acfe2b7b177136107bea4d54b306..15d17937c4315c3bded47b4265919b3294f7220d 100644 (file)
@@ -53,7 +53,7 @@ static bool acpi_dev_resource_len_valid(u64 start, u64 end, u64 len, bool io)
 }
 
 static void acpi_dev_memresource_flags(struct resource *res, u64 len,
-                                      u8 write_protect, bool window)
+                                      u8 write_protect)
 {
        res->flags = IORESOURCE_MEM;
 
@@ -62,9 +62,6 @@ static void acpi_dev_memresource_flags(struct resource *res, u64 len,
 
        if (write_protect == ACPI_READ_WRITE_MEMORY)
                res->flags |= IORESOURCE_MEM_WRITEABLE;
-
-       if (window)
-               res->flags |= IORESOURCE_WINDOW;
 }
 
 static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len,
@@ -72,7 +69,7 @@ static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len,
 {
        res->start = start;
        res->end = start + len - 1;
-       acpi_dev_memresource_flags(res, len, write_protect, false);
+       acpi_dev_memresource_flags(res, len, write_protect);
 }
 
 /**
@@ -118,7 +115,7 @@ bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res)
 EXPORT_SYMBOL_GPL(acpi_dev_resource_memory);
 
 static void acpi_dev_ioresource_flags(struct resource *res, u64 len,
-                                     u8 io_decode, bool window)
+                                     u8 io_decode)
 {
        res->flags = IORESOURCE_IO;
 
@@ -130,9 +127,6 @@ static void acpi_dev_ioresource_flags(struct resource *res, u64 len,
 
        if (io_decode == ACPI_DECODE_16)
                res->flags |= IORESOURCE_IO_16BIT_ADDR;
-
-       if (window)
-               res->flags |= IORESOURCE_WINDOW;
 }
 
 static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len,
@@ -140,7 +134,7 @@ static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len,
 {
        res->start = start;
        res->end = start + len - 1;
-       acpi_dev_ioresource_flags(res, len, io_decode, false);
+       acpi_dev_ioresource_flags(res, len, io_decode);
 }
 
 /**
@@ -183,7 +177,6 @@ static bool acpi_decode_space(struct resource *res,
                              struct acpi_address64_attribute *attr)
 {
        u8 iodec = attr->granularity == 0xfff ? ACPI_DECODE_10 : ACPI_DECODE_16;
-       bool window = addr->producer_consumer == ACPI_PRODUCER;
        bool wp = addr->info.mem.write_protect;
        u64 len = attr->address_length;
 
@@ -192,10 +185,10 @@ static bool acpi_decode_space(struct resource *res,
 
        switch (addr->resource_type) {
        case ACPI_MEMORY_RANGE:
-               acpi_dev_memresource_flags(res, len, wp, window);
+               acpi_dev_memresource_flags(res, len, wp);
                break;
        case ACPI_IO_RANGE:
-               acpi_dev_ioresource_flags(res, len, iodec, window);
+               acpi_dev_ioresource_flags(res, len, iodec);
                break;
        case ACPI_BUS_NUMBER_RANGE:
                res->flags = IORESOURCE_BUS;
@@ -204,6 +197,9 @@ static bool acpi_decode_space(struct resource *res,
                return false;
        }
 
+       if (addr->producer_consumer == ACPI_PRODUCER)
+               res->flags |= IORESOURCE_WINDOW;
+
        return !(res->flags & IORESOURCE_DISABLED);
 }