mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ACPI: acpi_pad: simplify code to avoid false gcc build warning
acpi_pad.c:432: warning: ‘num_cpus’ may be used uninitialized in this function gcc 4.4.4 was unable to notice that num_cpus is always set. Re-arrange the code to un-confuse gcc, and also make it easier for humans to read.... Signed-off-by: Len Brown <len.browns@intel.com>
This commit is contained in:
		
							parent
							
								
									25cb1bfdd8
								
							
						
					
					
						commit
						c9ad8e062e
					
				
					 1 changed files with 18 additions and 16 deletions
				
			
		| 
						 | 
					@ -382,31 +382,32 @@ static void acpi_pad_remove_sysfs(struct acpi_device *device)
 | 
				
			||||||
	device_remove_file(&device->dev, &dev_attr_rrtime);
 | 
						device_remove_file(&device->dev, &dev_attr_rrtime);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Query firmware how many CPUs should be idle */
 | 
					/*
 | 
				
			||||||
static int acpi_pad_pur(acpi_handle handle, int *num_cpus)
 | 
					 * Query firmware how many CPUs should be idle
 | 
				
			||||||
 | 
					 * return -1 on failure
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static int acpi_pad_pur(acpi_handle handle)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL};
 | 
						struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL};
 | 
				
			||||||
	union acpi_object *package;
 | 
						union acpi_object *package;
 | 
				
			||||||
	int rev, num, ret = -EINVAL;
 | 
						int num = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (ACPI_FAILURE(acpi_evaluate_object(handle, "_PUR", NULL, &buffer)))
 | 
						if (ACPI_FAILURE(acpi_evaluate_object(handle, "_PUR", NULL, &buffer)))
 | 
				
			||||||
		return -EINVAL;
 | 
							return num;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!buffer.length || !buffer.pointer)
 | 
						if (!buffer.length || !buffer.pointer)
 | 
				
			||||||
		return -EINVAL;
 | 
							return num;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	package = buffer.pointer;
 | 
						package = buffer.pointer;
 | 
				
			||||||
	if (package->type != ACPI_TYPE_PACKAGE || package->package.count != 2)
 | 
					
 | 
				
			||||||
		goto out;
 | 
						if (package->type == ACPI_TYPE_PACKAGE &&
 | 
				
			||||||
	rev = package->package.elements[0].integer.value;
 | 
							package->package.count == 2 &&
 | 
				
			||||||
	num = package->package.elements[1].integer.value;
 | 
							package->package.elements[0].integer.value == 1) /* rev 1 */
 | 
				
			||||||
	if (rev != 1 || num < 0)
 | 
					
 | 
				
			||||||
		goto out;
 | 
							num = package->package.elements[1].integer.value;
 | 
				
			||||||
	*num_cpus = num;
 | 
					
 | 
				
			||||||
	ret = 0;
 | 
					 | 
				
			||||||
out:
 | 
					 | 
				
			||||||
	kfree(buffer.pointer);
 | 
						kfree(buffer.pointer);
 | 
				
			||||||
	return ret;
 | 
						return num;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Notify firmware how many CPUs are idle */
 | 
					/* Notify firmware how many CPUs are idle */
 | 
				
			||||||
| 
						 | 
					@ -433,7 +434,8 @@ static void acpi_pad_handle_notify(acpi_handle handle)
 | 
				
			||||||
	uint32_t idle_cpus;
 | 
						uint32_t idle_cpus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mutex_lock(&isolated_cpus_lock);
 | 
						mutex_lock(&isolated_cpus_lock);
 | 
				
			||||||
	if (acpi_pad_pur(handle, &num_cpus)) {
 | 
						num_cpus = acpi_pad_pur(handle);
 | 
				
			||||||
 | 
						if (num_cpus < 0) {
 | 
				
			||||||
		mutex_unlock(&isolated_cpus_lock);
 | 
							mutex_unlock(&isolated_cpus_lock);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue