All of lore.kernel.org
 help / color / mirror / Atom feed
From: Varka Bhadram <varkabhadram@gmail.com>
To: linux-wpan@vger.kernel.org
Cc: alex.aring@gmail.com, Varka Bhadram <varkab@cdac.in>
Subject: Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
Date: Tue, 28 Apr 2015 09:02:02 +0530	[thread overview]
Message-ID: <553EFF32.6020202@gmail.com> (raw)
In-Reply-To: <1429691836-29316-1-git-send-email-varkab@cdac.in>

On 04/22/2015 02:07 PM, Varka Bhadram wrote:

> This code is based on commit 6bab2e19c5ffd
> ("cfg80211: pass name_assign_type to rdev_add_virtual_intf()")
>
> This will expose in sysfs whether the ifname of a IEEE-802.15.4
> device is set by userspace or generated by the kernel.
> We are using two types of name_assign_types
>  o NET_NAME_ENUM: Default interface name provided by kernel
>  o NET_NAME_USER: Interface name provided by user.
>
> Signed-off-by: Varka Bhadram <varkab@cdac.in>
> ---
>  include/net/cfg802154.h      |    2 ++
>  net/ieee802154/nl-phy.c      |    1 +
>  net/ieee802154/nl802154.c    |    1 +
>  net/ieee802154/rdev-ops.h    |   10 +++++++---
>  net/mac802154/cfg.c          |    9 ++++++---
>  net/mac802154/ieee802154_i.h |    1 +
>  net/mac802154/iface.c        |    5 +++--
>  net/mac802154/main.c         |    3 ++-
>  8 files changed, 23 insertions(+), 9 deletions(-)
>
> diff --git a/include/net/cfg802154.h b/include/net/cfg802154.h
> index eeda676..6ea16c8 100644
> --- a/include/net/cfg802154.h
> +++ b/include/net/cfg802154.h
> @@ -30,11 +30,13 @@ struct wpan_phy_cca;
>  struct cfg802154_ops {
>  	struct net_device * (*add_virtual_intf_deprecated)(struct wpan_phy *wpan_phy,
>  							   const char *name,
> +							   unsigned char name_assign_type,
>  							   int type);
>  	void	(*del_virtual_intf_deprecated)(struct wpan_phy *wpan_phy,
>  					       struct net_device *dev);
>  	int	(*add_virtual_intf)(struct wpan_phy *wpan_phy,
>  				    const char *name,
> +				    unsigned char name_assign_type,
>  				    enum nl802154_iftype type,
>  				    __le64 extended_addr);
>  	int	(*del_virtual_intf)(struct wpan_phy *wpan_phy,
> diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
> index 1b9d25f6..ac3462a 100644
> --- a/net/ieee802154/nl-phy.c
> +++ b/net/ieee802154/nl-phy.c
> @@ -221,6 +221,7 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
>  	}
>  
>  	dev = rdev_add_virtual_intf_deprecated(wpan_phy_to_rdev(phy), devname,
> +					       NET_NAME_ENUM,
>  					       type);
>  	if (IS_ERR(dev)) {
>  		rc = PTR_ERR(dev);
> diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c
> index a4daf91..a7eb16d 100644
> --- a/net/ieee802154/nl802154.c
> +++ b/net/ieee802154/nl802154.c
> @@ -589,6 +589,7 @@ static int nl802154_new_interface(struct sk_buff *skb, struct genl_info *info)
>  
>  	return rdev_add_virtual_intf(rdev,
>  				     nla_data(info->attrs[NL802154_ATTR_IFNAME]),
> +				     NET_NAME_USER,
>  				     type, extended_addr);
>  }
>  
> diff --git a/net/ieee802154/rdev-ops.h b/net/ieee802154/rdev-ops.h
> index 7c46732..ced5ac3 100644
> --- a/net/ieee802154/rdev-ops.h
> +++ b/net/ieee802154/rdev-ops.h
> @@ -7,10 +7,12 @@
>  
>  static inline struct net_device *
>  rdev_add_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
> -				 const char *name, int type)
> +				 const char *name,
> +				 unsigned char name_assign_type,
> +				 int type)
>  {
>  	return rdev->ops->add_virtual_intf_deprecated(&rdev->wpan_phy, name,
> -						      type);
> +						      name_assign_type, type);
>  }
>  
>  static inline void
> @@ -22,9 +24,11 @@ rdev_del_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
>  
>  static inline int
>  rdev_add_virtual_intf(struct cfg802154_registered_device *rdev, char *name,
> +		      unsigned char name_assign_type,
>  		      enum nl802154_iftype type, __le64 extended_addr)
>  {
> -	return rdev->ops->add_virtual_intf(&rdev->wpan_phy, name, type,
> +	return rdev->ops->add_virtual_intf(&rdev->wpan_phy, name,
> +					   name_assign_type, type,
>  					   extended_addr);
>  }
>  
> diff --git a/net/mac802154/cfg.c b/net/mac802154/cfg.c
> index 5d9f68c..41a167b 100644
> --- a/net/mac802154/cfg.c
> +++ b/net/mac802154/cfg.c
> @@ -22,13 +22,14 @@
>  
>  static struct net_device *
>  ieee802154_add_iface_deprecated(struct wpan_phy *wpan_phy,
> -				const char *name, int type)
> +				const char *name,
> +				unsigned char name_assign_type, int type)
>  {
>  	struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
>  	struct net_device *dev;
>  
>  	rtnl_lock();
> -	dev = ieee802154_if_add(local, name, type,
> +	dev = ieee802154_if_add(local, name, name_assign_type, type,
>  				cpu_to_le64(0x0000000000000000ULL));
>  	rtnl_unlock();
>  
> @@ -45,12 +46,14 @@ static void ieee802154_del_iface_deprecated(struct wpan_phy *wpan_phy,
>  
>  static int
>  ieee802154_add_iface(struct wpan_phy *phy, const char *name,
> +		     unsigned char name_assign_type,
>  		     enum nl802154_iftype type, __le64 extended_addr)
>  {
>  	struct ieee802154_local *local = wpan_phy_priv(phy);
>  	struct net_device *err;
>  
> -	err = ieee802154_if_add(local, name, type, extended_addr);
> +	err = ieee802154_if_add(local, name, name_assign_type,
> +				type, extended_addr);
>  	return PTR_ERR_OR_ZERO(err);
>  }
>  
> diff --git a/net/mac802154/ieee802154_i.h b/net/mac802154/ieee802154_i.h
> index bebd70f..35a5920 100644
> --- a/net/mac802154/ieee802154_i.h
> +++ b/net/mac802154/ieee802154_i.h
> @@ -182,6 +182,7 @@ void ieee802154_iface_exit(void);
>  void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata);
>  struct net_device *
>  ieee802154_if_add(struct ieee802154_local *local, const char *name,
> +		  unsigned char name_assign_type,
>  		  enum nl802154_iftype type, __le64 extended_addr);
>  void ieee802154_remove_interfaces(struct ieee802154_local *local);
>  
> diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c
> index 38b56f9..91b75ab 100644
> --- a/net/mac802154/iface.c
> +++ b/net/mac802154/iface.c
> @@ -522,7 +522,8 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata,
>  
>  struct net_device *
>  ieee802154_if_add(struct ieee802154_local *local, const char *name,
> -		  enum nl802154_iftype type, __le64 extended_addr)
> +		  unsigned char name_assign_type, enum nl802154_iftype type,
> +		  __le64 extended_addr)
>  {
>  	struct net_device *ndev = NULL;
>  	struct ieee802154_sub_if_data *sdata = NULL;
> @@ -531,7 +532,7 @@ ieee802154_if_add(struct ieee802154_local *local, const char *name,
>  	ASSERT_RTNL();
>  
>  	ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, name,
> -			    NET_NAME_UNKNOWN, ieee802154_if_setup);
> +			    name_assign_type, ieee802154_if_setup);
>  	if (!ndev)
>  		return ERR_PTR(-ENOMEM);
>  
> diff --git a/net/mac802154/main.c b/net/mac802154/main.c
> index 8500378..68b9667 100644
> --- a/net/mac802154/main.c
> +++ b/net/mac802154/main.c
> @@ -161,7 +161,8 @@ int ieee802154_register_hw(struct ieee802154_hw *hw)
>  
>  	rtnl_lock();
>  
> -	dev = ieee802154_if_add(local, "wpan%d", NL802154_IFTYPE_NODE,
> +	dev = ieee802154_if_add(local, "wpan%d", NET_NAME_ENUM,
> +				NL802154_IFTYPE_NODE,
>  				cpu_to_le64(0x0000000000000000ULL));
>  	if (IS_ERR(dev)) {
>  		rtnl_unlock();

Ping ..?

-- 
Varka Bhadram


  reply	other threads:[~2015-04-28  3:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-22  8:37 [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf() Varka Bhadram
2015-04-28  3:32 ` Varka Bhadram [this message]
2015-04-28  7:37 ` Alexander Aring
2015-04-28  8:19   ` Varka Bhadram
2015-04-28  8:29     ` Alexander Aring
2015-04-28  8:30       ` Varka Bhadram

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=553EFF32.6020202@gmail.com \
    --to=varkabhadram@gmail.com \
    --cc=alex.aring@gmail.com \
    --cc=linux-wpan@vger.kernel.org \
    --cc=varkab@cdac.in \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.