ACK: [PATCH 1/3] acpica: fwts_acpica: some cosmetic tidying up.

Alex Hung alex.hung at canonical.com
Mon Jun 10 07:45:07 UTC 2013


On 06/07/2013 04:41 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> This code is a little bit crufty and needs a little bit of
> cosmetic tidying up.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>   src/acpica/fwts_acpica.c | 96 +++++++++++++++++++++++-------------------------
>   1 file changed, 45 insertions(+), 51 deletions(-)
>
> diff --git a/src/acpica/fwts_acpica.c b/src/acpica/fwts_acpica.c
> index 73bfa73..835685b 100644
> --- a/src/acpica/fwts_acpica.c
> +++ b/src/acpica/fwts_acpica.c
> @@ -31,12 +31,9 @@
>   #include <signal.h>
>   #include <pthread.h>
>
> -static pthread_mutex_t mutex_lock_sem_table;
> -static pthread_mutex_t mutex_thread_info;
> -
>   #include "fwts.h"
>
> -/* acpica headers */
> +/* ACPICA specific headers */
>   #include "acpi.h"
>   #include "accommon.h"
>   #include "acparser.h"
> @@ -46,37 +43,26 @@ static pthread_mutex_t mutex_thread_info;
>   #include "actables.h"
>   #include "acinterp.h"
>   #include "acapps.h"
> -#include <pthread.h>
> -#include <errno.h>
>
> -#define ACPI_MAX_INIT_TABLES	(32)
> -#define AEXEC_NUM_REGIONS   	(8)
> +#define ACPI_MAX_INIT_TABLES		(64)	/* Number of ACPI tables */
> +
> +#define MAX_SEMAPHORES			(1024)	/* For semaphore tracking */
> +#define MAX_THREADS			(128)	/* For thread tracking */
>
> -#define MAX_SEMAPHORES		(1024)
> -#define MAX_THREADS		(128)
> +#define MAX_WAIT_TIMEOUT		(20)	/* Seconds */
>
> -#define MAX_WAIT_TIMEOUT	(20)	/* Seconds */
> +#define ACPI_ADR_SPACE_USER_DEFINED1	(0x80)
> +#define ACPI_ADR_SPACE_USER_DEFINED2	(0xE4)
>
> +/*
> + *  Semaphore accounting info
> + */
>   typedef struct {
>   	sem_t		sem;	/* Semaphore handle */
>   	int		count;	/* count > 0 if acquired */
>   	bool		used;	/* Semaphore being used flag */
>   } sem_info;
>
> -typedef void * (*PTHREAD_CALLBACK)(void *);
> -
> -BOOLEAN AcpiGbl_IgnoreErrors = FALSE;
> -UINT8   AcpiGbl_RegionFillValue = 0;
> -
> -/*
> - *  Used to account for semaphores used by AcpiOs*Semaphore()
> - */
> -static sem_info			sem_table[MAX_SEMAPHORES];
> -
> -static ACPI_TABLE_DESC		Tables[ACPI_MAX_INIT_TABLES];
> -
> -static bool			region_handler_called;
> -
>   /*
>    *  Used to account for threads used by AcpiOsExecute
>    */
> @@ -85,7 +71,19 @@ typedef struct {
>   	pthread_t	thread;	/* thread info */
>   } fwts_thread;
>
> -static fwts_thread	threads[MAX_THREADS];
> +typedef void * (*pthread_callback)(void *);
> +
> +BOOLEAN AcpiGbl_IgnoreErrors = FALSE;
> +UINT8   AcpiGbl_RegionFillValue = 0;
> +
> +static ACPI_TABLE_DESC		Tables[ACPI_MAX_INIT_TABLES];	/* ACPICA Table descriptors */
> +static bool			region_handler_called;		/* Region handler tracking */
> +
> +static sem_info			sem_table[MAX_SEMAPHORES];	/* Semaphore accounting for AcpiOs*Semaphore() */
> +static pthread_mutex_t		mutex_lock_sem_table;		/* Semaphore accounting mutex */
> +
> +static fwts_thread		threads[MAX_THREADS];		/* Thread accounting for AcpiOsExecute */
> +static pthread_mutex_t		mutex_thread_info;		/* Thread accounting mutex */
>
>   /*
>    *  Static copies of ACPI tables used by ACPICA execution engine
> @@ -96,29 +94,10 @@ static ACPI_TABLE_RSDP		*fwts_acpica_RSDP;
>   static ACPI_TABLE_FADT		*fwts_acpica_FADT;
>   static void 			*fwts_acpica_DSDT;
>
> -static fwts_framework		*fwts_acpica_fw;			/* acpica context copy of fw */
> -static bool			fwts_acpica_init_called;		/* > 0, ACPICA initialised */
> +static fwts_framework		*fwts_acpica_fw;		/* acpica context copy of fw */
> +static bool			fwts_acpica_init_called;	/* > 0, ACPICA initialised */
>   static fwts_acpica_log_callback fwts_acpica_log_callback_func = NULL;	/* logging call back func */
>
> -#define ACPI_ADR_SPACE_USER_DEFINED1        0x80
> -#define ACPI_ADR_SPACE_USER_DEFINED2        0xE4
> -
> -static ACPI_ADR_SPACE_TYPE fwts_space_id_list[] =
> -{
> -	ACPI_ADR_SPACE_SYSTEM_MEMORY,
> -	ACPI_ADR_SPACE_SYSTEM_IO,
> -	ACPI_ADR_SPACE_EC,
> -	ACPI_ADR_SPACE_SMBUS,
> -	ACPI_ADR_SPACE_CMOS,
> -	ACPI_ADR_SPACE_GSBUS,
> -	ACPI_ADR_SPACE_GPIO,
> -	ACPI_ADR_SPACE_PCI_BAR_TARGET,
> -	ACPI_ADR_SPACE_IPMI,
> -	ACPI_ADR_SPACE_FIXED_HARDWARE,
> -	ACPI_ADR_SPACE_USER_DEFINED1,
> -	ACPI_ADR_SPACE_USER_DEFINED2
> -};
> -
>   /* Semaphore Tracking */
>
>   /*
> @@ -667,7 +646,7 @@ ACPI_STATUS AcpiOsReadPort(ACPI_IO_ADDRESS addr, UINT32 *value, UINT32 width)
>   }
>
>   typedef struct {
> -	PTHREAD_CALLBACK	func;
> +	pthread_callback	func;
>   	void *			context;
>   	int			thread_index;
>   } fwts_func_wrapper_context;
> @@ -713,13 +692,13 @@ ACPI_STATUS AcpiOsExecute(
>   				return AE_NO_MEMORY;
>   			}
>
> -			ctx->func = (PTHREAD_CALLBACK)function;
> +			ctx->func = (pthread_callback)function;
>   			ctx->context = func_context;
>   			ctx->thread_index = i;
>   			threads[i].used = true;
>
>   			ret = pthread_create(&threads[i].thread, NULL,
> -				(PTHREAD_CALLBACK)fwts_pthread_func_wrapper, ctx);
> +				(pthread_callback)fwts_pthread_func_wrapper, ctx);
>   			pthread_mutex_unlock(&mutex_thread_info);
>
>   			if (ret)
> @@ -787,6 +766,22 @@ int fwtsInstallEarlyHandlers(fwts_framework *fw)
>   	int i;
>   	ACPI_HANDLE	handle;
>
> +	static ACPI_ADR_SPACE_TYPE fwts_space_id_list[] =
> +	{
> +		ACPI_ADR_SPACE_SYSTEM_MEMORY,
> +		ACPI_ADR_SPACE_SYSTEM_IO,
> +		ACPI_ADR_SPACE_EC,
> +		ACPI_ADR_SPACE_SMBUS,
> +		ACPI_ADR_SPACE_CMOS,
> +		ACPI_ADR_SPACE_GSBUS,
> +		ACPI_ADR_SPACE_GPIO,
> +		ACPI_ADR_SPACE_PCI_BAR_TARGET,
> +		ACPI_ADR_SPACE_IPMI,
> +		ACPI_ADR_SPACE_FIXED_HARDWARE,
> +		ACPI_ADR_SPACE_USER_DEFINED1,
> +		ACPI_ADR_SPACE_USER_DEFINED2
> +	};
> +
>   	if (AcpiInstallInterfaceHandler(fwts_interface_handler) != AE_OK) {
>   		fwts_log_error(fw, "Failed to install interface handler.");
>   		return FWTS_ERROR;
> @@ -904,7 +899,6 @@ int fwts_acpica_init(fwts_framework *fw)
>
>   	AcpiOsRedirectOutput(stderr);
>
> -
>   	if (ACPI_FAILURE(AcpiInitializeSubsystem())) {
>   		fwts_log_error(fw, "Failed to initialise ACPICA subsystem.");
>   		return FWTS_ERROR;
>
Acked-by: Alex Hung <alex.hung at canonical.com>

-- 
Cheers,
Alex Hung



More information about the fwts-devel mailing list