diff options
Diffstat (limited to 'drivers/acpi/acpica/rsmisc.c')
| -rw-r--r-- | drivers/acpi/acpica/rsmisc.c | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/drivers/acpi/acpica/rsmisc.c b/drivers/acpi/acpica/rsmisc.c index 1763a3dbc9b1..c2dd9aae4745 100644 --- a/drivers/acpi/acpica/rsmisc.c +++ b/drivers/acpi/acpica/rsmisc.c @@ -70,6 +70,8 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,  	 */  	count = INIT_TABLE_LENGTH(info);  	while (count) { +		target = NULL; +  		/*  		 * Source is the external AML byte stream buffer,  		 * destination is the internal resource descriptor @@ -120,6 +122,14 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,  				  ((ACPI_GET8(source) >> info->value) & 0x07));  			break; +		case ACPI_RSC_6BITFLAG: +			/* +			 * Mask and shift the flag bits +			 */ +			ACPI_SET8(destination, +				  ((ACPI_GET8(source) >> info->value) & 0x3F)); +			break; +  		case ACPI_RSC_COUNT:  			item_count = ACPI_GET8(source); @@ -509,6 +519,15 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,  				      value));  			break; +		case ACPI_RSC_6BITFLAG: +			/* +			 * Mask and shift the flag bits +			 */ +			ACPI_SET_BIT(*ACPI_CAST8(destination), (u8) +				     ((ACPI_GET8(source) & 0x3F) << info-> +				      value)); +			break; +  		case ACPI_RSC_COUNT:  			item_count = ACPI_GET8(source); | 
