Patchwork Fix a hard coding style when determining if a device is a container.

login
register
mail settings
Submitter Tang Chen
Date Oct. 12, 2012, 6:55 a.m.
Message ID <1350024916-3628-1-git-send-email-tangchen@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/191058/
State Superseded
Headers show

Comments

Tang Chen - Oct. 12, 2012, 6:55 a.m.
"ACPI0004","PNP0A05" and "PNP0A06" are all defined in array
container_device_ids[], so use it, but not the hard coding style.

Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
---
 drivers/acpi/container.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
Yasuaki Ishimatsu - Oct. 12, 2012, 10:10 a.m.
Hi Tang,

2012/10/12 15:55, Tang Chen wrote:
> "ACPI0004","PNP0A05" and "PNP0A06" are all defined in array
> container_device_ids[], so use it, but not the hard coding style.

The idea is good.

> 
> Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
> ---
>   drivers/acpi/container.c |   10 +++++++---
>   1 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c
> index 1f9f7d7..448c0e2 100644
> --- a/drivers/acpi/container.c
> +++ b/drivers/acpi/container.c
> @@ -217,6 +217,7 @@ container_walk_namespace_cb(acpi_handle handle,
>   {
>   	char *hid = NULL;
>   	struct acpi_device_info *info;
> +	struct acpi_device_id *container_id;
>   	acpi_status status;
>   	int *action = context;
>   
> @@ -232,10 +233,13 @@ container_walk_namespace_cb(acpi_handle handle,
>   		goto end;
>   	}
>   
> -	if (strcmp(hid, "ACPI0004") && strcmp(hid, "PNP0A05") &&
> -	    strcmp(hid, "PNP0A06")) {
> -		goto end;
> +	for (container_id = container_device_ids;
> +	     container_id->id[0]; container_id++) {
> +		if (!strcmp((char *)container_id->id, hid))
> +			break;
>   	}
> +	if (!container_id->id[0])
> +		goto end;

How about prepare is_container_device() function and check whether
the device is the container device or not as below?

	if (is_container_device())
		goto end;

Thanks,
Yasuaki Ishimatsu

>   
>   	switch (*action) {
>   	case INSTALL_NOTIFY_HANDLER:
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tang Chen - Oct. 12, 2012, 10:47 a.m.
On 10/12/2012 06:10 PM, Yasuaki Ishimatsu wrote:
> Hi Tang,
> 
> 2012/10/12 15:55, Tang Chen wrote:
>> "ACPI0004","PNP0A05" and "PNP0A06" are all defined in array
>> container_device_ids[], so use it, but not the hard coding style.
> 
> The idea is good.
> 
>>
>> Signed-off-by: Tang Chen<tangchen@cn.fujitsu.com>
>> ---
>>    drivers/acpi/container.c |   10 +++++++---
>>    1 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c
>> index 1f9f7d7..448c0e2 100644
>> --- a/drivers/acpi/container.c
>> +++ b/drivers/acpi/container.c
>> @@ -217,6 +217,7 @@ container_walk_namespace_cb(acpi_handle handle,
>>    {
>>    	char *hid = NULL;
>>    	struct acpi_device_info *info;
>> +	struct acpi_device_id *container_id;
>>    	acpi_status status;
>>    	int *action = context;
>>
>> @@ -232,10 +233,13 @@ container_walk_namespace_cb(acpi_handle handle,
>>    		goto end;
>>    	}
>>
>> -	if (strcmp(hid, "ACPI0004")&&  strcmp(hid, "PNP0A05")&&
>> -	    strcmp(hid, "PNP0A06")) {
>> -		goto end;
>> +	for (container_id = container_device_ids;
>> +	     container_id->id[0]; container_id++) {
>> +		if (!strcmp((char *)container_id->id, hid))
>> +			break;
>>    	}
>> +	if (!container_id->id[0])
>> +		goto end;
> 
> How about prepare is_container_device() function and check whether
> the device is the container device or not as below?

Sure. :)
A new patch will be sent soon.

Thanks for the wonderful idea. :)

> 
> 	if (is_container_device())
> 		goto end;
> 
> Thanks,
> Yasuaki Ishimatsu
> 
>>
>>    	switch (*action) {
>>    	case INSTALL_NOTIFY_HANDLER:
>>
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c
index 1f9f7d7..448c0e2 100644
--- a/drivers/acpi/container.c
+++ b/drivers/acpi/container.c
@@ -217,6 +217,7 @@  container_walk_namespace_cb(acpi_handle handle,
 {
 	char *hid = NULL;
 	struct acpi_device_info *info;
+	struct acpi_device_id *container_id;
 	acpi_status status;
 	int *action = context;
 
@@ -232,10 +233,13 @@  container_walk_namespace_cb(acpi_handle handle,
 		goto end;
 	}
 
-	if (strcmp(hid, "ACPI0004") && strcmp(hid, "PNP0A05") &&
-	    strcmp(hid, "PNP0A06")) {
-		goto end;
+	for (container_id = container_device_ids;
+	     container_id->id[0]; container_id++) {
+		if (!strcmp((char *)container_id->id, hid))
+			break;
 	}
+	if (!container_id->id[0])
+		goto end;
 
 	switch (*action) {
 	case INSTALL_NOTIFY_HANDLER: