From patchwork Sat May 12 13:59:17 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: 158749 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 9ED38B7028 for ; Sun, 13 May 2012 00:00:56 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756416Ab2ELOAy (ORCPT ); Sat, 12 May 2012 10:00:54 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:56158 "EHLO mail-wg0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754647Ab2ELOAR (ORCPT ); Sat, 12 May 2012 10:00:17 -0400 Received: by wgbdr13 with SMTP id dr13so3305381wgb.1 for ; Sat, 12 May 2012 07:00:16 -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=w3PMJBT2KB1On6mFkD2BQbpM2yHVXqMQ6g5ep3i7R+s=; b=gqj8gADr0O9WMCU2a5l8lyf7NyxrluCgpFUkHTgp0WvBC6oqV5IGoNPPbfMu+ZG5Rz y1iex5EdFfANg6kaA3kR+957z9Z2NcIkiElFZtTPJrk+ukmbulaA5yBWXoXDcy85wAzv HTYP1t7aQ1p8Vl01ur0sO3MfaMoVOf6Vhr9cyF5eXmMpPZQEKBLt8UKOkZIrO6TIUoej WqXvlyQCep3bg1QoEDkNTIctcStnvxMHIht1pesepB22FQFzP3FAWuI7tEm91UDN/q/u bOvui8QLn8DzNvNCm7+JTI8eLj6Qx7tfHuhj0yBOrzy91/tTqZ7WEtGWeK/Zud7Mrs9l Nexg== Received: by 10.180.24.103 with SMTP id t7mr4522272wif.16.1336831216682; Sat, 12 May 2012 07:00:16 -0700 (PDT) Received: from localhost.localdomain ([91.213.169.4]) by mx.google.com with ESMTPS id bn9sm19099868wib.5.2012.05.12.07.00.15 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 12 May 2012 07:00:16 -0700 (PDT) From: Alexander Smirnov To: davem@davemloft.net Cc: netdev@vger.kernel.org, dbaryshkov@gmail.com, Alexander Smirnov Subject: [PATCH net-next v4 05/13] mac802154: define reduced mlme operations Date: Sat, 12 May 2012 17:59:17 +0400 Message-Id: <1336831165-23944-6-git-send-email-alex.bluesman.smirnov@gmail.com> X-Mailer: git-send-email 1.7.2.3 In-Reply-To: <1336831165-23944-1-git-send-email-alex.bluesman.smirnov@gmail.com> References: <1336831165-23944-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 define RFD operations structure. Signed-off-by: Alexander Smirnov --- include/net/ieee802154_netdev.h | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/net/ieee802154_netdev.h b/include/net/ieee802154_netdev.h index 12a7ee4..b27730e 100644 --- a/include/net/ieee802154_netdev.h +++ b/include/net/ieee802154_netdev.h @@ -83,6 +83,14 @@ struct wpan_phy; * get_phy should increment the reference counting on returned phy. * Use wpan_wpy_put to put that reference. */ + +/* + * The IEEE 802.15.4 standard defines 2 type of devices: + * - FFD - full functionality device + * - RFD - reduce functionality device + * + * So 2 sets of mlme operations are needed + */ struct ieee802154_mlme_ops { int (*assoc_req)(struct net_device *dev, struct ieee802154_addr *addr, @@ -112,12 +120,20 @@ 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) +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