On Tue, 2016-01-12 at 15:13 +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. Please, comment on the idea, but discard both patches, I'm cooking better approach. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > include/linux/string_helpers.h | 3 +++ > lib/string_helpers.c | 21 ++++++++++++--------- > 2 files changed, 15 insertions(+), 9 deletions(-) > > diff --git a/include/linux/string_helpers.h > b/include/linux/string_helpers.h > index dabe643..1d16240 100644 > --- a/include/linux/string_helpers.h > +++ b/include/linux/string_helpers.h > @@ -10,6 +10,9 @@ enum string_size_units { > STRING_UNITS_2, /* use binary powers of 2^10 > */ > }; > > +extern const char *const string_units_10[]; > +extern const char *const string_units_2[]; > + > 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..3a4c812 100644 > --- a/lib/string_helpers.c > +++ b/lib/string_helpers.c > @@ -13,6 +13,15 @@ > #include <linux/string.h> > #include <linux/string_helpers.h> > > +const char * const string_units_10[] = { > + "B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB", > +}; > +EXPORT_SYMBOL(string_units_10); > +const char * const string_units_2[] = { > + "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB", > +}; > +EXPORT_SYMBOL(string_units_2); > + > /** > * string_get_size - get the size in the specified units > * @size: The size to be converted in blocks > @@ -29,15 +38,9 @@ > void string_get_size(u64 size, u64 blk_size, const enum > string_size_units units, > char *buf, int len) > { > - static const char *const units_10[] = { > - "B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" > - }; > - static const char *const units_2[] = { > - "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", > "ZiB", "YiB" > - }; > static const char *const *const units_str[] = { > - [STRING_UNITS_10] = units_10, > - [STRING_UNITS_2] = units_2, > + [STRING_UNITS_10] = string_units_10, > + [STRING_UNITS_2] = string_units_2, > }; > static const unsigned int divisor[] = { > [STRING_UNITS_10] = 1000, > @@ -92,7 +95,7 @@ void string_get_size(u64 size, u64 blk_size, const > enum string_size_units units, > } > > out: > - if (i >= ARRAY_SIZE(units_2)) > + if (i >= ARRAY_SIZE(string_units_2)) > unit = "UNK"; > else > unit = units_str[units][i]; -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html