Re: [PATCHv3 1/3] USB: gadget: mass/file storage: set serial number

From: MichaÅ Nazarewicz
Date: Tue Jul 20 2010 - 10:39:28 EST


On Tue, 20 Jul 2010 16:08:53 +0200, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:

On Tue, 20 Jul 2010, [utf-8] MichaÃâ Nazarewicz wrote:

> On Mon, 19 Jul 2010, [utf-8] MichalÃâÅ Nazarewicz wrote:
>> 1/3: http://lkml.org/lkml/2010/7/8/317
>> Adds serial to mass storage gadget and g_multi introducing
>> fsg_string_serial_fill() macro used by abovementioned
>> gadgets and file storage gadget.

On Mon, 19 Jul 2010 19:06:32 +0200, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> Ah, yes. My personal taste would be to write fsg_string_serial_fill_n
> as an inline routine instead of as a macro, and not try to make it
> separate from fsg_string_serial_fill.

Not sure what you meant by "make it separate from fsg_string_serial_fill".

I mean have a single function, called "fsg_string_serial_fill", instead
of two separate macros called "fsg_string_serial_fill" and
"fsg_string_serial_fill_n".

I wanted to keep fsg_string_serial_fill() as a macro so that it can
use ARRAY_SIZE() on the first argument to check the size. If there
was a single function it would have to explicitly take the length of
the destination array as an argument -- that's what the *_n() function
is for.

The rationale is that not having to use ARRAY_SIZE() is, well,
simpler. ;)

Basically, what you are proposing is to remove the
fsg_string_serial_fill() macro and leave only the *_n() changed to
an inline function and force all callers use sizeof/ARRAY_SIZE().

Am I getting that right? Personally, I'd leave things like they are
changing the *_n() to a function. What do you think?

--
Best regards, _ _
| Humble Liege of Serenely Enlightened Majesty of o' \,=./ `o
| Computer Science, MichaÅ "mina86" Nazarewicz (o o)
+----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/