From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751521AbcAWFNZ (ORCPT ); Sat, 23 Jan 2016 00:13:25 -0500 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:44432 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751168AbcAWFNW (ORCPT ); Sat, 23 Jan 2016 00:13:22 -0500 Message-ID: <1453525999.2339.56.camel@HansenPartnership.com> Subject: Re: [PATCH v2 1/4] lib/string_helpers: export string_units_{2,10} for others From: James Bottomley To: Andy Shevchenko , Matt Fleming , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , linux-efi@vger.kernel.org, Rasmus Villemoes , Andrew Morton , linux-kernel@vger.kernel.org Date: Fri, 22 Jan 2016 21:13:19 -0800 In-Reply-To: <1453389752-68175-1-git-send-email-andriy.shevchenko@linux.intel.com> References: <1453389752-68175-1-git-send-email-andriy.shevchenko@linux.intel.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.5 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 On Thu, 2016-01-21 at 17:22 +0200, Andy Shevchenko wrote: > There is one user coming which would like to use those string arrays. > It might > be useful for any other user in the future. Well, let's not do it until we have an actual consumer because that will help us get the interface correct. > Signed-off-by: Andy Shevchenko > --- > include/linux/string_helpers.h | 6 ++++++ > lib/string_helpers.c | 21 ++++++++++++--------- > 2 files changed, 18 insertions(+), 9 deletions(-) > > diff --git a/include/linux/string_helpers.h > b/include/linux/string_helpers.h > index dabe643..a55c9cc 100644 > --- a/include/linux/string_helpers.h > +++ b/include/linux/string_helpers.h > @@ -10,6 +10,12 @@ enum string_size_units { > STRING_UNITS_2, /* use binary powers of 2^10 > */ > }; > > +#define STRING_UNITS_10_NUM 9 > +#define STRING_UNITS_2_NUM 9 > + > +extern const char *const string_units_10[STRING_UNITS_10_NUM]; > +extern const char *const string_units_2[STRING_UNITS_2_NUM]; > + > void string_get_size(u64 size, u64 blk_size, enum string_size_units > units, > char *buf, int len); > > diff --git a/lib/string_helpers.c b/lib/string_helpers.c > index 5939f63..7ee4644 100644 > --- a/lib/string_helpers.c > +++ b/lib/string_helpers.c > @@ -13,6 +13,15 @@ > #include > #include > > +const char * const string_units_10[STRING_UNITS_10_NUM] = { > + "B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB", > +}; > +EXPORT_SYMBOL(string_units_10); > +const char * const string_units_2[STRING_UNITS_2_NUM] = { > + "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB", > +}; > +EXPORT_SYMBOL(string_units_2); > + This is a pretty silly thing to do; how does someone who adds a unit to one of the string_units know to increment STRING_UNITS_X_NUM? Even if you add a comment admonishing them to do it, it's far better to have this calculated at compile time like it was before this patch. James