Commit 581c19f3 authored by Jiang Liu's avatar Jiang Liu Committed by Rafael J. Wysocki

ACPI: Normalize return value of resource parser functions

Normalize return value of resource parse functions as:
1) return "true" if resource is assigned.
2) return "false" and IORESOURCE_DISABLED setting in res->flags if
   resource is unassigned.
3) return "false" and zeroing res->flags if it's not an valid or
   expected resource.
Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 8515f936
...@@ -80,6 +80,11 @@ static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len, ...@@ -80,6 +80,11 @@ static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len,
* Check if the given ACPI resource object represents a memory resource and * Check if the given ACPI resource object represents a memory resource and
* if that's the case, use the information in it to populate the generic * if that's the case, use the information in it to populate the generic
* resource object pointed to by @res. * resource object pointed to by @res.
*
* Return:
* 1) false with res->flags setting to zero: not the expected resource type
* 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
* 3) true: valid assigned resource
*/ */
bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res) bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res)
{ {
...@@ -107,6 +112,7 @@ bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res) ...@@ -107,6 +112,7 @@ bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res)
fixed_memory32->write_protect); fixed_memory32->write_protect);
break; break;
default: default:
res->flags = 0;
return false; return false;
} }
...@@ -145,6 +151,11 @@ static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len, ...@@ -145,6 +151,11 @@ static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len,
* Check if the given ACPI resource object represents an I/O resource and * Check if the given ACPI resource object represents an I/O resource and
* if that's the case, use the information in it to populate the generic * if that's the case, use the information in it to populate the generic
* resource object pointed to by @res. * resource object pointed to by @res.
*
* Return:
* 1) false with res->flags setting to zero: not the expected resource type
* 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
* 3) true: valid assigned resource
*/ */
bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res) bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res)
{ {
...@@ -165,6 +176,7 @@ bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res) ...@@ -165,6 +176,7 @@ bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res)
ACPI_DECODE_10); ACPI_DECODE_10);
break; break;
default: default:
res->flags = 0;
return false; return false;
} }
...@@ -214,12 +226,18 @@ static bool acpi_decode_space(struct resource *res, ...@@ -214,12 +226,18 @@ static bool acpi_decode_space(struct resource *res,
* Check if the given ACPI resource object represents an address space resource * Check if the given ACPI resource object represents an address space resource
* and if that's the case, use the information in it to populate the generic * and if that's the case, use the information in it to populate the generic
* resource object pointed to by @res. * resource object pointed to by @res.
*
* Return:
* 1) false with res->flags setting to zero: not the expected resource type
* 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
* 3) true: valid assigned resource
*/ */
bool acpi_dev_resource_address_space(struct acpi_resource *ares, bool acpi_dev_resource_address_space(struct acpi_resource *ares,
struct resource *res) struct resource *res)
{ {
struct acpi_resource_address64 addr; struct acpi_resource_address64 addr;
res->flags = 0;
if (ACPI_FAILURE(acpi_resource_to_address64(ares, &addr))) if (ACPI_FAILURE(acpi_resource_to_address64(ares, &addr)))
return false; return false;
...@@ -236,12 +254,18 @@ EXPORT_SYMBOL_GPL(acpi_dev_resource_address_space); ...@@ -236,12 +254,18 @@ EXPORT_SYMBOL_GPL(acpi_dev_resource_address_space);
* Check if the given ACPI resource object represents an extended address space * Check if the given ACPI resource object represents an extended address space
* resource and if that's the case, use the information in it to populate the * resource and if that's the case, use the information in it to populate the
* generic resource object pointed to by @res. * generic resource object pointed to by @res.
*
* Return:
* 1) false with res->flags setting to zero: not the expected resource type
* 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
* 3) true: valid assigned resource
*/ */
bool acpi_dev_resource_ext_address_space(struct acpi_resource *ares, bool acpi_dev_resource_ext_address_space(struct acpi_resource *ares,
struct resource *res) struct resource *res)
{ {
struct acpi_resource_extended_address64 *ext_addr; struct acpi_resource_extended_address64 *ext_addr;
res->flags = 0;
if (ares->type != ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64) if (ares->type != ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64)
return false; return false;
...@@ -339,6 +363,11 @@ static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, ...@@ -339,6 +363,11 @@ static void acpi_dev_get_irqresource(struct resource *res, u32 gsi,
* represented by the resource and populate the generic resource object pointed * represented by the resource and populate the generic resource object pointed
* to by @res accordingly. If the registration of the GSI is not successful, * to by @res accordingly. If the registration of the GSI is not successful,
* IORESOURCE_DISABLED will be set it that object's flags. * IORESOURCE_DISABLED will be set it that object's flags.
*
* Return:
* 1) false with res->flags setting to zero: not the expected resource type
* 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
* 3) true: valid assigned resource
*/ */
bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index, bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
struct resource *res) struct resource *res)
...@@ -372,6 +401,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index, ...@@ -372,6 +401,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
ext_irq->sharable, false); ext_irq->sharable, false);
break; break;
default: default:
res->flags = 0;
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment