[RFC 4/5] mtd: move mtd_oob_mode_t to shared kernel/user space
Brian Norris
computersforpeace at gmail.com
Mon Aug 22 17:43:12 EDT 2011
On Mon, Aug 22, 2011 at 1:50 AM, Artem Bityutskiy <dedekind1 at gmail.com> wrote:
> On Wed, 2011-08-17 at 16:50 -0700, Brian Norris wrote:
>> +typedef enum {
>> + MTD_OOB_PLACE,
>> + MTD_OOB_AUTO,
>> + MTD_OOB_RAW,
>> +} mtd_oob_mode_t;
>
> Could we get rid of this typedef and use anonymous enum instead:
>
> enum {
> A,
> B,
> };
>
> Indeed, we do not need it, and we do not want to pollute the user-space
> namespaces unnecessarily.
Well, we do *use* the typedef in a few kernel structs, and we will use
it in user space as well. So we may run into issues with 32-bit vs.
64-bit integers if we just stick with an int-based type, right?
Also, I'm pondering the question: do we need to worry about the
underlying numbering for such an enum? I believe there it is
theoretically possible for different compilers to choose a different
numbering scheme, potentially making user-compiled software
incompatible with the internal kernel binary. Perhaps to be safe we
could just do:
enum {
MTD_OOB_PLACE = 0,
MTD_OOB_AUTO = 1,
MTD_OOB_RAW = 2,
};
Or instead, maybe we should just switch to a __u32 type and some #defines...
Sorry if this is a lot of thinking out loud here :)
Brian
More information about the linux-mtd
mailing list