diff --git a/net/zigbee/af_zigbee.c b/net/zigbee/af_zigbee.c
index 6277e1a..6088327 100644
--- a/net/zigbee/af_zigbee.c
+++ b/net/zigbee/af_zigbee.c
@@ -33,7 +33,7 @@
 #include <net/tcp_states.h>
 #include <net/route.h>
 
-#include <net/ieee80215/af_ieee80215.h>
+#include <net/ieee802154/af_ieee802154.h>
 #include <net/zigbee/af_zigbee.h>
 #include <net/zigbee/nwk.h>
 
diff --git a/net/zigbee/dgram.c b/net/zigbee/dgram.c
index 3feb753..4ca8022 100644
--- a/net/zigbee/dgram.c
+++ b/net/zigbee/dgram.c
@@ -27,11 +27,16 @@
 #include <linux/if_arp.h>
 #include <linux/list.h>
 #include <net/sock.h>
-#include <net/ieee80215/netdev.h>
-#include <net/ieee80215/af_ieee80215.h>
-#include <net/ieee80215/mac_def.h>
+#include <net/ieee802154/af_ieee802154.h>
+#include <net/ieee802154/netdevice.h>
+#include <net/ieee802154/mac_def.h>
 #include <net/zigbee/nwk.h>
 #include <asm/ioctls.h>
+#include "../ieee802154/af802154.h"
+#include <net/ieee802154/mac802154.h>
+#include "../mac802154/mac802154.h"
+#include "../mac802154/mib.h"
+
 
 static HLIST_HEAD(dgram_head);
 static DEFINE_RWLOCK(dgram_lock);
@@ -40,8 +45,8 @@ struct dgram_sock {
 	struct sock sk;
 
 	int bound;
-	struct ieee80215_addr src_addr;
-	struct ieee80215_addr dst_addr;
+	struct ieee802154_addr src_addr;
+	struct ieee802154_addr dst_addr;
 };
 
 static void dgram_hash(struct sock *sk)
@@ -64,7 +69,7 @@ static int dgram_init(struct sock *sk)
 {
 	struct dgram_sock *ro = container_of(sk, struct dgram_sock, sk);
 
-	ro->dst_addr.addr_type = IEEE80215_ADDR_SHORT;
+	ro->dst_addr.addr_type = IEEE802154_ADDR_SHORT;
 //	ro->dst_addr.pan_id = 0xffff;
 	ro->dst_addr.short_addr = 0xffff;
 	return 0;
@@ -77,7 +82,7 @@ static void dgram_close(struct sock *sk, long timeout)
 
 static int dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len)
 {
-	struct sockaddr_ieee80215 *addr = (struct sockaddr_ieee80215 *)uaddr;
+	struct sockaddr_ieee802154 *addr = (struct sockaddr_ieee802154 *)uaddr;
 	struct dgram_sock *ro = container_of(sk, struct dgram_sock, sk);
 	int err = 0;
 
@@ -88,7 +93,7 @@ static int dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len)
 		return -EINVAL;
 
 	if ((addr->family != AF_ZIGBEE) ||
-		(addr->addr.addr_type != IEEE80215_ADDR_SHORT))
+		(addr->addr.addr_type != IEEE802154_ADDR_SHORT))
 		return -EINVAL;
 
 	lock_sock(sk);
@@ -98,18 +103,18 @@ static int dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len)
 	* address of the lower layer
 	*/
 #if 0
-	dev = ieee80215_get_dev(sock_net(sk), &addr->addr);
+	dev = ieee802154_get_dev(sock_net(sk), &addr->addr);
 	if (!dev) {
 		err = -ENODEV;
 		goto out;
 	}
 
-	if (dev->type != ARPHRD_IEEE80215) {
+	if (dev->type != ARPHRD_IEEE802154) {
 		err = -ENODEV;
 		goto out_put;
 	}
 #endif
-	memcpy(&ro->src_addr, &addr->addr, sizeof(struct ieee80215_addr));
+	memcpy(&ro->src_addr, &addr->addr, sizeof(struct ieee802154_addr));
 
 	ro->bound = 1;
 #if 0
@@ -152,23 +157,23 @@ static int dgram_ioctl(struct sock *sk, int cmd, unsigned long arg)
 	}
 #if 0
 	/* May be implement here the commands */ 
-	case IEEE80215_SIOC_NETWORK_DISCOVERY:
-		return ioctl_network_discovery(sk, (struct ieee80215_user_data __user *) arg);
+	case IEEE802154_SIOC_NETWORK_DISCOVERY:
+		return ioctl_network_discovery(sk, (struct ieee802154_user_data __user *) arg);
 		break;
-	case IEEE80215_SIOC_NETWORK_FORMATION:
-		return ioctl_network_formation(sk, (struct ieee80215_user_data __user *) arg);
+	case IEEE802154_SIOC_NETWORK_FORMATION:
+		return ioctl_network_formation(sk, (struct ieee802154_user_data __user *) arg);
 		break;
-	case IEEE80215_SIOC_PERMIT_JOINING:
-		return ioctl_permit_joining(sk, (struct ieee80215_user_data __user *) arg);
+	case IEEE802154_SIOC_PERMIT_JOINING:
+		return ioctl_permit_joining(sk, (struct ieee802154_user_data __user *) arg);
 		break;
-	case IEEE80215_SIOC_START_ROUTER:
-		return ioctl_start_router(sk, (struct ieee80215_user_data __user *) arg);
+	case IEEE802154_SIOC_START_ROUTER:
+		return ioctl_start_router(sk, (struct ieee802154_user_data __user *) arg);
 		break;
-	case IEEE80215_SIOC_JOIN:
-		return ioctl_mac_join(sk, (struct ieee80215_user_data __user *) arg);
+	case IEEE802154_SIOC_JOIN:
+		return ioctl_mac_join(sk, (struct ieee802154_user_data __user *) arg);
 		break;
-	case IEEE80215_SIOC_MAC_CMD:
-		return ioctl_mac_cmd(sk, (struct ieee80215_user_data __user *) arg);
+	case IEEE802154_SIOC_MAC_CMD:
+		return ioctl_mac_cmd(sk, (struct ieee802154_user_data __user *) arg);
 
 		break;
 #endif
@@ -181,7 +186,7 @@ static int dgram_ioctl(struct sock *sk, int cmd, unsigned long arg)
 static int dgram_connect(struct sock *sk, struct sockaddr *uaddr,
 			int len)
 {
-	struct sockaddr_ieee80215 *addr = (struct sockaddr_ieee80215 *)uaddr;
+	struct sockaddr_ieee802154 *addr = (struct sockaddr_ieee802154 *)uaddr;
 	struct dgram_sock *ro = container_of(sk, struct dgram_sock, sk);
 
 	int err = 0;
@@ -190,7 +195,7 @@ static int dgram_connect(struct sock *sk, struct sockaddr *uaddr,
 		return -EINVAL;
 
 	if ((addr->family != AF_ZIGBEE) ||
-		(addr->addr.addr_type != IEEE80215_ADDR_SHORT))
+		(addr->addr.addr_type != IEEE802154_ADDR_SHORT))
 		return -EINVAL;
 
 	lock_sock(sk);
@@ -200,7 +205,7 @@ static int dgram_connect(struct sock *sk, struct sockaddr *uaddr,
 		goto out;
 	}
 
-	memcpy(&ro->dst_addr, &addr->addr, sizeof(struct ieee80215_addr));
+	memcpy(&ro->dst_addr, &addr->addr, sizeof(struct ieee802154_addr));
 
 out:
 	release_sock(sk);
@@ -213,7 +218,7 @@ static int dgram_disconnect(struct sock *sk, int flags)
 
 	lock_sock(sk);
 
-	ro->dst_addr.addr_type = IEEE80215_ADDR_SHORT;
+	ro->dst_addr.addr_type = IEEE802154_ADDR_SHORT;
 //	ro->dst_addr.pan_id = 0xffff;
 	ro->dst_addr.short_addr = 0xffff;
 
@@ -231,7 +236,7 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg
 	struct dgram_sock *ro = container_of(sk, struct dgram_sock, sk);
 
 	int err;
-	struct ieee80215_priv *hw;
+	struct ieee802154_priv *hw;
 
 	if (msg->msg_flags & MSG_OOB) {
 		pr_debug("msg->msg_flags = 0x%x\n", msg->msg_flags);
@@ -239,15 +244,15 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg
 	}
 
 	if (!ro->bound)
-		dev = dev_getfirstbyhwtype(sock_net(sk), ARPHRD_IEEE80215);
+		dev = dev_getfirstbyhwtype(sock_net(sk), ARPHRD_IEEE802154);
 	else
-		dev = ieee80215_get_dev(sock_net(sk), &ro->src_addr);
+		dev = ieee802154_get_dev(sock_net(sk), &ro->src_addr);
 
 	if (!dev) {
 		pr_debug("no dev\n");
 		return -ENXIO;
 	}
-	hw = ieee80215_slave_get_hw(dev);
+	hw = ieee802154_slave_get_priv(dev);
 	mtu = dev->mtu;
 	pr_debug("name = %s, mtu = %u\n", dev->name, mtu);
 
@@ -261,9 +266,9 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg
 
 	skb_reset_network_header(skb);
 
-	MAC_CB(skb)->flags = IEEE80215_FC_TYPE_DATA | MAC_CB_FLAG_ACKREQ;
-	MAC_CB(skb)->seq = hw->dsn;
-	err = dev_hard_header(skb, dev, ETH_P_IEEE80215, &ro->dst_addr, ro->bound ? &ro->src_addr : NULL, size);
+	mac_cb(skb)->flags = IEEE802154_FC_TYPE_DATA | MAC_CB_FLAG_ACKREQ;
+	mac_cb(skb)->seq = hw->dsn;
+	err = dev_hard_header(skb, dev, ETH_P_IEEE802154, &ro->dst_addr, ro->bound ? &ro->src_addr : NULL, size);
 	if (err < 0) {
 		kfree_skb(skb);
 		dev_put(dev);
@@ -286,7 +291,7 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg
 
 	skb->dev = dev;
 	skb->sk  = sk;
-	skb->protocol = htons(ETH_P_IEEE80215);
+	skb->protocol = htons(ETH_P_IEEE802154);
 
 	err = dev_queue_xmit(skb);
 	hw->dsn++;
@@ -344,7 +349,7 @@ static int dgram_rcv_skb(struct sock *sk, struct sk_buff *skb)
 	return NET_RX_SUCCESS;
 }
 
-int ieee80215_dgram_deliver(struct net_device *dev, struct sk_buff *skb)
+int ieee802154_dgram_deliver(struct net_device *dev, struct sk_buff *skb)
 {
 	struct sock *sk, *prev = NULL;
 	struct hlist_node*node;
@@ -356,11 +361,11 @@ int ieee80215_dgram_deliver(struct net_device *dev, struct sk_buff *skb)
 	sk_for_each(sk, node, &dgram_head) {
 		struct dgram_sock *ro = container_of(sk, struct dgram_sock, sk);
 		if (!ro->bound ||
-		  (ro->src_addr.addr_type == IEEE80215_ADDR_LONG &&
-		     !memcmp(ro->src_addr.hwaddr, dev->dev_addr, IEEE80215_ADDR_LEN)) ||
-		  (ro->src_addr.addr_type == IEEE80215_ADDR_SHORT &&
-		     ieee80215_dev_get_pan_id(dev) == ro->src_addr.pan_id &&
-		     ieee80215_dev_get_short_addr(dev) == ro->src_addr.short_addr)) {
+		  (ro->src_addr.addr_type == IEEE802154_ADDR_LONG &&
+		     !memcmp(ro->src_addr.hwaddr, dev->dev_addr, IEEE802154_ADDR_LEN)) ||
+		  (ro->src_addr.addr_type == IEEE802154_ADDR_SHORT &&
+		     ieee802154_dev_get_pan_id(dev) == ro->src_addr.pan_id &&
+		     ieee802154_dev_get_short_addr(dev) == ro->src_addr.short_addr)) {
 			if (prev) {
 				struct sk_buff *clone;
 				clone = skb_clone(skb, GFP_ATOMIC);
@@ -383,7 +388,7 @@ int ieee80215_dgram_deliver(struct net_device *dev, struct sk_buff *skb)
 	return ret;
 }
 
-struct proto ieee80215_dgram_prot = {
+struct proto ieee802154_dgram_prot = {
 	.name		= "ZigBEE",
 	.owner		= THIS_MODULE,
 	.obj_size	= sizeof(struct dgram_sock),
