Thread (13 messages) flat view 13 messages, 5 authors, 2014-02-26

Re: [PATCH net-next v4 2/8] 6lowpan: add uncompress header size function

From: Alexander Aring <alex.aring@gmail.com>
Date: 2014-02-26 16:20:17

Hi David,

thanks for your reply.

On Wed, Feb 26, 2014 at 04:10:05PM +0000, David Laight wrote:
From: Alexander Aring
quoted
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
 net/ieee802154/6lowpan.h | 116 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 116 insertions(+)
diff --git a/net/ieee802154/6lowpan.h b/net/ieee802154/6lowpan.h
index 2b835db..b6ae0bc 100644
--- a/net/ieee802154/6lowpan.h
+++ b/net/ieee802154/6lowpan.h
@@ -306,6 +306,122 @@ static inline void lowpan_push_hc_data(u8 **hc_ptr, const void *data,
 	*hc_ptr += len;
 }

+static inline u8 lowpan_addr_mode_size(const u8 addr_mode)
+{
+	switch (addr_mode) {
+	case LOWPAN_IPHC_ADDR_00:
+		return 16;
+	case LOWPAN_IPHC_ADDR_01:
+		return 8;
+	case LOWPAN_IPHC_ADDR_02:
+		return 2;
+	default:
+		return 0;
+	}
+}
The compiler will generate much better code if you index an array instead
of using a switch statement.
You mean something like:

static inline u8 lowpan_addr_mode_size(const u8 addr_mode)
{
        const u8 res[] = { 16, 8, 2, 0 };
        return res[addr_mode];
}

or should I drop the array from the stack and declare it static?

?

- Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help