Messages in this thread | | | Date | Tue, 01 Jan 2008 18:15:46 +0200 | From | Boaz Harrosh <> | Subject | WARNING: do not add new typedefs - is that for real? |
| |
I have this code:
<c_code> /* * osd-r10 4.12.5 Data-In and Data-Out buffer offsets * byte offset = mantissa * (2^(exponent+8)) */ typedef __be32 osd_cdb_offset;
osd_cdb_offset __osd_encode_offset(u64 offset, unsigned *padding, int min_shift, int max_shift);
struct osd_attributes_list_mode { __be32 get_attr_desc_bytes; osd_cdb_offset get_attr_desc_offset;
__be32 get_attr_alloc_length; osd_cdb_offset get_attr_offset;
__be32 set_attr_bytes; osd_cdb_offset set_attr_offset; __be32 not_used; }; </c_code>
the osd_cdb_offset above is this special OSD-standard floating-point-like special type. It is of size 32 bit in special network order. What should I do then:
__be32 __osd_encode_offset(u64 offset, unsigned *padding, int min_shift, int max_shift);
But it is not a __be32. It is this special floating-point-like thingy!!!? How was __be32 defined with a #define???!!
Come on guys, it is not checkpatch.pl place to complain about good language constructs that can be misused. This is the maintainers and reviewers job to say that a: "typedef struct foo Foo;" is bad practice and we don't like it, but it can not be left to a script. "typedef"s should be used where they should be used.
Boaz
| |