From patchwork Wed May 16 06:50:23 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: alex.bluesman.smirnov@gmail.com X-Patchwork-Id: 159533 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id F1F18B6FC3 for ; Wed, 16 May 2012 16:52:46 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759375Ab2EPGvl (ORCPT ); Wed, 16 May 2012 02:51:41 -0400 Received: from mail-wi0-f178.google.com ([209.85.212.178]:61280 "EHLO mail-wi0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759359Ab2EPGvj (ORCPT ); Wed, 16 May 2012 02:51:39 -0400 Received: by mail-wi0-f178.google.com with SMTP id hn6so372487wib.1 for ; Tue, 15 May 2012 23:51:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=0ngb1QNfyoxeNS9+JQeHSRlCal0oqYVyKeY8GIZ2K1g=; b=cBA5PKJAgq3ySXEZNjP6AqceG0TRzeLGmwSdbMkrge2WvK2rhJ3v1IccGBQTAD4Cw+ vB33oEM0Lh1nPf1w2RgCQMigsK823dqrZM5fmKK4BbFBbK18O4h5BHPhXWimsJQSHURR sWFWv7h3tzsUQOfiW0mIxNXzHI0oBfDBWdThUV45FxrDtzHQ64SanvI76FvhIn0Zs2dA BVBfPsjZQ0kfQpJvffoHMKLrL3HVP1AK7PyF2W7Tx9z+Exk6ST5r0WGLXwshywo2c+lQ xGbsLYthSYNJBFD7eE6Oy8OGyRVIaUc9yy/5xWa/+qecj7VuIJU37EoqiPpA1TyyxWBX Te/w== Received: by 10.180.93.38 with SMTP id cr6mr4835913wib.16.1337151099058; Tue, 15 May 2012 23:51:39 -0700 (PDT) Received: from localhost.localdomain ([91.213.169.4]) by mx.google.com with ESMTPS id e6sm47694359wix.8.2012.05.15.23.51.37 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 15 May 2012 23:51:38 -0700 (PDT) From: Alexander Smirnov To: davem@davemloft.net Cc: netdev@vger.kernel.org, dbaryshkov@gmail.com, Alexander Smirnov Subject: [PATCH net-next v5 05/13] mac802154: declare reduced mlme operations Date: Wed, 16 May 2012 10:50:23 +0400 Message-Id: <1337151031-5178-6-git-send-email-alex.bluesman.smirnov@gmail.com> X-Mailer: git-send-email 1.7.2.3 In-Reply-To: <1337151031-5178-1-git-send-email-alex.bluesman.smirnov@gmail.com> References: <1337151031-5178-1-git-send-email-alex.bluesman.smirnov@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org According IEEE 802.15.4 standard each node can be either full functionality device (FFD) or reduce functionality device (RFD). So 2 sets of operations are needed. This patch declare RFD operations structure. Signed-off-by: Alexander Smirnov --- include/net/ieee802154_netdev.h | 25 ++++++++++++++++++++----- 1 files changed, 20 insertions(+), 5 deletions(-) diff --git a/include/net/ieee802154_netdev.h b/include/net/ieee802154_netdev.h index 12a7ee4..d104c88 100644 --- a/include/net/ieee802154_netdev.h +++ b/include/net/ieee802154_netdev.h @@ -1,7 +1,7 @@ /* * An interface between IEEE802.15.4 device and rest of the kernel. * - * Copyright (C) 2007, 2008, 2009 Siemens AG + * Copyright (C) 2007-2012 Siemens AG * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -21,6 +21,7 @@ * Maxim Gorbachyov * Maxim Osipov * Dmitry Eremin-Solenikov + * Alexander Smirnov */ #ifndef IEEE802154_NETDEVICE_H @@ -112,12 +113,26 @@ struct ieee802154_mlme_ops { u8 (*get_bsn)(const struct net_device *dev); }; -static inline struct ieee802154_mlme_ops *ieee802154_mlme_ops( - const struct net_device *dev) +/* The IEEE 802.15.4 standard defines 2 type of the devices: + * - FFD - full functionality device + * - RFD - reduce functionality device + * + * So 2 sets of mlme operations are needed + */ +struct ieee802154_reduced_mlme_ops { + struct wpan_phy *(*get_phy)(const struct net_device *dev); +}; + +static inline struct ieee802154_mlme_ops * +ieee802154_mlme_ops(const struct net_device *dev) { return dev->ml_priv; } -#endif - +static inline struct ieee802154_reduced_mlme_ops * +ieee802154_reduced_mlme_ops(const struct net_device *dev) +{ + return dev->ml_priv; +} +#endif