Re: kernel.h: add ARRAY_AND_SIZE() macro to complement ARRAY_SIZE().

From: Christer Weinigel
Date: Sat Sep 20 2008 - 12:39:21 EST


Cyrill Gorcunov wrote:
[Christer Weinigel - Sat, Sep 20, 2008 at 04:28:19PM +0200]
...
In my opinion, making platform_add_devices into a magic macro is actually worse, since the same construct (array, ARRAY_SIZE(array)) is used in many places, so one would have to do the same thing over and over again for every function. In that case it's better to have to learn one macro once, and the ALL_CAPITALS should make it obvious that it is a macro.

Well, can't agree with you :) It's my _presonal_ opinion.
You could define it as

static inline int platform_add_devices_array(struct platform_device **devs)
{
return platform_add_devices(devs, ARRAY_SIZE(devs));
}

Won't work. You would have to use a macro. The above would turn into:

platform_add_devices(devs, 1);

or would if the __must_be_array check didn't catch it.

/Christer
--
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/