Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757797Ab3HAWH6 (ORCPT ); Thu, 1 Aug 2013 18:07:58 -0400 Received: from g1t0026.austin.hp.com ([15.216.28.33]:30547 "EHLO g1t0026.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757654Ab3HAWHz (ORCPT ); Thu, 1 Aug 2013 18:07:55 -0400 Message-ID: <1375394806.10300.24.camel@misato.fc.hp.com> Subject: Re: [PATCH v2 03/18] acpi: Remove "continue" in macro INVALID_TABLE(). From: Toshi Kani To: Tang Chen Cc: rjw@sisk.pl, lenb@kernel.org, tglx@linutronix.de, mingo@elte.hu, hpa@zytor.com, akpm@linux-foundation.org, tj@kernel.org, trenn@suse.de, yinghai@kernel.org, jiang.liu@huawei.com, wency@cn.fujitsu.com, laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com, mgorman@suse.de, minchan@kernel.org, mina86@mina86.com, gong.chen@linux.intel.com, vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com, riel@redhat.com, jweiner@redhat.com, prarit@redhat.com, zhangyanfei@cn.fujitsu.com, yanghy@cn.fujitsu.com, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-acpi@vger.kernel.org Date: Thu, 01 Aug 2013 16:06:46 -0600 In-Reply-To: <1375340800-19332-4-git-send-email-tangchen@cn.fujitsu.com> References: <1375340800-19332-1-git-send-email-tangchen@cn.fujitsu.com> <1375340800-19332-4-git-send-email-tangchen@cn.fujitsu.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.6.4 (3.6.4-3.fc18) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3518 Lines: 114 On Thu, 2013-08-01 at 15:06 +0800, Tang Chen wrote: > The macro INVALID_TABLE() is defined like this: > > #define INVALID_TABLE(x, path, name) \ > { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); continue; } > > And it is used like this: > > for (...) { > ... > if (...) > INVALID_TABLE() > ... > } > > The "continue" in the macro makes the code hard to understand. > Change it to the style like other macros: > > #define INVALID_TABLE(x, path, name) \ > do { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); } while (0) > > So after this patch, this macro should be used like this: > > for (...) { > ... > if (...) { > INVALID_TABLE() > continue; > } > ... > } > > Add the "continue" wherever the macro is called. > (For now, it is only called in acpi_initrd_override().) > > The idea is from Yinghai Lu . > > Signed-off-by: Tang Chen > Signed-off-by: Yinghai Lu > Acked-by: Tejun Heo > Reviewed-by: Zhang Yanfei > --- > drivers/acpi/osl.c | 18 +++++++++++++----- > 1 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index e721863..91d9f54 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -565,7 +565,7 @@ static const char * const table_sigs[] = { > > /* Non-fatal errors: Affected tables/files are ignored */ > #define INVALID_TABLE(x, path, name) \ Since you are touching this macro, I'd suggest to rename it something like ACPI_INVALID_TABLE(). INVALID_TABLE() sounds too generic to me. Otherwise, it looks good. Acked-by: Toshi Kani Thanks, -Toshi > - { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); continue; } > + do { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); } while (0) > > #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header) > > @@ -593,9 +593,11 @@ void __init acpi_initrd_override(void *data, size_t size) > data += offset; > size -= offset; > > - if (file.size < sizeof(struct acpi_table_header)) > + if (file.size < sizeof(struct acpi_table_header)) { > INVALID_TABLE("Table smaller than ACPI header", > cpio_path, file.name); > + continue; > + } > > table = file.data; > > @@ -603,15 +605,21 @@ void __init acpi_initrd_override(void *data, size_t size) > if (!memcmp(table->signature, table_sigs[sig], 4)) > break; > > - if (!table_sigs[sig]) > + if (!table_sigs[sig]) { > INVALID_TABLE("Unknown signature", > cpio_path, file.name); > - if (file.size != table->length) > + continue; > + } > + if (file.size != table->length) { > INVALID_TABLE("File length does not match table length", > cpio_path, file.name); > - if (acpi_table_checksum(file.data, table->length)) > + continue; > + } > + if (acpi_table_checksum(file.data, table->length)) { > INVALID_TABLE("Bad table checksum", > cpio_path, file.name); > + continue; > + } > > pr_info("%4.4s ACPI table found in initrd [%s%s][0x%x]\n", > table->signature, cpio_path, file.name, table->length); -- 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/