ACK: [PATCH] acpi: spcr: issue a passed message if SPCR test passes

Alex Hung alex.hung at canonical.com
Wed May 6 03:52:56 UTC 2015


On 04/30/2015 05:17 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
> 
> Forgot to give postive passed feedback if SPCR test actually passes.
> Verified this now on an example ACPI table from an ARM 64 platform.
> 
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/acpi/spcr/spcr.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/src/acpi/spcr/spcr.c b/src/acpi/spcr/spcr.c
> index 7012e43..9fc7655 100644
> --- a/src/acpi/spcr/spcr.c
> +++ b/src/acpi/spcr/spcr.c
> @@ -55,6 +55,7 @@ static int spcr_test1(fwts_framework *fw)
>  	char *str;
>  	bool reserved = false;
>  	bool pci = true;
> +	bool passed = true;
>  
>  	/* Assuming revision 2 */
>  	switch (spcr->interface_type) {
> @@ -80,6 +81,7 @@ static int spcr_test1(fwts_framework *fw)
>  
>  	fwts_log_info_verbatum(fw, "Serial Interface: %s", str);
>  	if (reserved) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRInterfaceReserved",
>  			"SPCR Serial interface type 0x%2.2" PRIx8
> @@ -89,6 +91,7 @@ static int spcr_test1(fwts_framework *fw)
>  	if ((spcr->reserved1[0] |
>  	     spcr->reserved1[1] |
>  	     spcr->reserved1[2])) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_LOW,
>  			"SPCRReservedNonZero",
>  			"SPCR reserved field must be zero, got "
> @@ -99,11 +102,13 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  
>  	if (spcr->interrupt_type == 0) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRUnknownInterruptType",
>  			"SPCR interrupt type field is zero, expecting support bits to be set");
>  	}
>  	if (spcr->interrupt_type & 0xf0) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRIllegalReservedInterruptType",
>  			"SPCR interrupt type reserved bits are non-zero zero, got 0x%" PRIx8,
> @@ -118,6 +123,7 @@ static int spcr_test1(fwts_framework *fw)
>  		case 14 ... 15:
>  			break;
>  		default:
> +			passed = false;
>  			fwts_failed(fw, LOG_LEVEL_HIGH,
>  				"SPCRIllegalIRQ",
>  				"SPCR PC-AT compatible IRQ 0x%" PRIx8 " is invalid", spcr->irq);
> @@ -145,6 +151,7 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  	fwts_log_info_verbatum(fw, "Baud Rate:        %s", str);
>  	if (reserved) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRBaudRateReserved",
>  			"SPCR Serial baud rate type 0x%2.2" PRIx8
> @@ -152,6 +159,7 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  
>  	if (spcr->parity & ~1) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRParityReserved",
>  			"SPCR parity reserved bits 1..7 are non-zero, value is 0x%2.2" PRIx8,
> @@ -160,6 +168,7 @@ static int spcr_test1(fwts_framework *fw)
>  
>  	/* Stop bit *really* is bit 1 according to the spec */
>  	if (spcr->parity & ~2) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRStopBitReserved",
>  			"SPCR stop bit reserved bits 0,2..7 are non-zero, value is 0x%2.2" PRIx8,
> @@ -167,6 +176,7 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  
>  	if (spcr->flow_control & ~7) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRFlowControlReserved",
>  			"SPCR flow control reserved bits 3..7 are non-zero, value is 0x%2.2" PRIx8,
> @@ -193,6 +203,7 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  	fwts_log_info_verbatum(fw, "Terminal Type:    %s", str);
>  	if (reserved) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRTerminalTypeReserved",
>  			"SPCR terminal type type 0x%2.2" PRIx8
> @@ -200,6 +211,7 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  
>  	if (spcr->reserved2) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_LOW,
>  			"SPCRReservedNonZero",
>  			"SPCR reserved field must be zero, got "
> @@ -217,6 +229,7 @@ static int spcr_test1(fwts_framework *fw)
>  	/* Now validate all pci specific fields if not-PCI enabled */
>  	if (pci) {
>  		if (spcr->pci_device_id == 0xffff) {
> +			passed = false;
>  			fwts_failed(fw, LOG_LEVEL_HIGH,
>  				"SPCRPciDeviceID",
>  				"SPCR PCI device ID is 0x%4.4" PRIx16
> @@ -224,6 +237,7 @@ static int spcr_test1(fwts_framework *fw)
>  				spcr->pci_device_id);
>  		}
>  		if (spcr->pci_vendor_id == 0xffff) {
> +			passed = false;
>  			fwts_failed(fw, LOG_LEVEL_HIGH,
>  				"SPCRPciVendorID",
>  				"SPCR PCI vendor ID is 0x%4.4" PRIx16
> @@ -231,6 +245,7 @@ static int spcr_test1(fwts_framework *fw)
>  				spcr->pci_vendor_id);
>  		}
>  		if ((spcr->pci_flags & 1) == 0) {
> +			passed = false;
>  			fwts_failed(fw, LOG_LEVEL_HIGH,
>  				"SPCRPciFlagsBit0",
>  				"SPCR PCI flags compatibility bit 0 is %" PRIx32
> @@ -240,6 +255,7 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  
>  	if (spcr->pci_flags & 0xfffe) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
>  			"SPCRPciFlags",
>  			"SPCR PCI flags reserved bits 1-31 are %" PRIx32
> @@ -248,12 +264,16 @@ static int spcr_test1(fwts_framework *fw)
>  	}
>  
>  	if (spcr->reserved3) {
> +		passed = false;
>  		fwts_failed(fw, LOG_LEVEL_LOW,
>  			"SPCRReservedNonZero",
>  			"SPCR reserved field must be zero, got "
>  			"0x%2.2" PRIx8 " instead", spcr->reserved3);
>  	}
>  
> +	if (passed)
> +		fwts_passed(fw, "No issues found in SPCR table.");
> +
>  	return FWTS_OK;
>  }
>  
> 


Acked-by: Alex Hung <alex.hung at canonical.com>
-- 
Cheers,
Alex Hung



More information about the fwts-devel mailing list