linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine
       [not found] <cover.1541544212.git.lorenzo.bianconi@redhat.com>
@ 2018-11-06 22:49 ` Lorenzo Bianconi
  2018-11-07  8:27   ` Stanislaw Gruszka
  2018-11-13 19:50   ` Felix Fietkau
  0 siblings, 2 replies; 4+ messages in thread
From: Lorenzo Bianconi @ 2018-11-06 22:49 UTC (permalink / raw)
  To: nbd; +Cc: sgruszka, linux-wireless

Add mt76x02_config_mac_addr_list routine in order to set
the mac address list supported by the driver. Initialize
wiphy->addresses/n_addresses for mt76x0e driver

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
---
 .../net/wireless/mediatek/mt76/mt76x0/init.c  |  2 ++
 drivers/net/wireless/mediatek/mt76/mt76x02.h  |  1 +
 .../net/wireless/mediatek/mt76/mt76x02_util.c | 22 +++++++++++++++++++
 .../wireless/mediatek/mt76/mt76x2/pci_init.c  | 17 ++------------
 4 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
index e74d476eca24..87b575fe1c74 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
@@ -289,6 +289,8 @@ int mt76x0_register_device(struct mt76x02_dev *dev)
 	int ret;
 
 	mt76x02_init_device(dev);
+	mt76x02_config_mac_addr_list(dev);
+
 	ret = mt76_register_device(&dev->mt76, true, mt76x02_rates,
 				   ARRAY_SIZE(mt76x02_rates));
 	if (ret)
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02.h b/drivers/net/wireless/mediatek/mt76/mt76x02.h
index a8c5fdd903b9..65daa3d3c289 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02.h
@@ -115,6 +115,7 @@ int mt76x02_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 int mt76x02_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 		      struct ieee80211_sta *sta);
 
+void mt76x02_config_mac_addr_list(struct mt76x02_dev *dev);
 void mt76x02_vif_init(struct mt76x02_dev *dev, struct ieee80211_vif *vif,
 		      unsigned int idx);
 int mt76x02_add_interface(struct ieee80211_hw *hw,
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
index 87ce6a51fb05..a52db63c3c68 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
@@ -700,4 +700,26 @@ void mt76x02_bss_info_changed(struct ieee80211_hw *hw,
 }
 EXPORT_SYMBOL_GPL(mt76x02_bss_info_changed);
 
+void mt76x02_config_mac_addr_list(struct mt76x02_dev *dev)
+{
+	struct ieee80211_hw *hw = mt76_hw(dev);
+	struct wiphy *wiphy = hw->wiphy;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(dev->macaddr_list); i++) {
+		u8 *addr = dev->macaddr_list[i].addr;
+
+		memcpy(addr, dev->mt76.macaddr, ETH_ALEN);
+
+		if (!i)
+			continue;
+
+		addr[0] |= BIT(1);
+		addr[0] ^= ((i - 1) << 2);
+	}
+	wiphy->addresses = dev->macaddr_list;
+	wiphy->n_addresses = ARRAY_SIZE(dev->macaddr_list);
+}
+EXPORT_SYMBOL_GPL(mt76x02_config_mac_addr_list);
+
 MODULE_LICENSE("Dual BSD/GPL");
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c b/drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c
index 076b7479ba99..80b4e11ea28e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c
@@ -390,7 +390,7 @@ int mt76x2_register_device(struct mt76x02_dev *dev)
 {
 	struct ieee80211_hw *hw = mt76_hw(dev);
 	struct wiphy *wiphy = hw->wiphy;
-	int i, ret;
+	int ret;
 
 	INIT_DELAYED_WORK(&dev->cal_work, mt76x2_phy_calibrate);
 
@@ -400,20 +400,7 @@ int mt76x2_register_device(struct mt76x02_dev *dev)
 	if (ret)
 		return ret;
 
-	for (i = 0; i < ARRAY_SIZE(dev->macaddr_list); i++) {
-		u8 *addr = dev->macaddr_list[i].addr;
-
-		memcpy(addr, dev->mt76.macaddr, ETH_ALEN);
-
-		if (!i)
-			continue;
-
-		addr[0] |= BIT(1);
-		addr[0] ^= ((i - 1) << 2);
-	}
-	wiphy->addresses = dev->macaddr_list;
-	wiphy->n_addresses = ARRAY_SIZE(dev->macaddr_list);
-
+	mt76x02_config_mac_addr_list(dev);
 	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_VHT_IBSS);
 
 	/* init led callbacks */
-- 
2.19.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine
  2018-11-06 22:49 ` [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine Lorenzo Bianconi
@ 2018-11-07  8:27   ` Stanislaw Gruszka
  2018-11-07  9:07     ` Lorenzo Bianconi
  2018-11-13 19:50   ` Felix Fietkau
  1 sibling, 1 reply; 4+ messages in thread
From: Stanislaw Gruszka @ 2018-11-07  8:27 UTC (permalink / raw)
  To: Lorenzo Bianconi; +Cc: nbd, linux-wireless

On Tue, Nov 06, 2018 at 11:49:12PM +0100, Lorenzo Bianconi wrote:
> Add mt76x02_config_mac_addr_list routine in order to set
> the mac address list supported by the driver. Initialize
> wiphy->addresses/n_addresses for mt76x0e driver
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
> ---
>  .../net/wireless/mediatek/mt76/mt76x0/init.c  |  2 ++
>  drivers/net/wireless/mediatek/mt76/mt76x02.h  |  1 +
>  .../net/wireless/mediatek/mt76/mt76x02_util.c | 22 +++++++++++++++++++
>  .../wireless/mediatek/mt76/mt76x2/pci_init.c  | 17 ++------------
>  4 files changed, 27 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
> index e74d476eca24..87b575fe1c74 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
> @@ -289,6 +289,8 @@ int mt76x0_register_device(struct mt76x02_dev *dev)
>  	int ret;
>  
>  	mt76x02_init_device(dev);
> +	mt76x02_config_mac_addr_list(dev);
> +

Does this work for USB devices ?

Thanks
Stanislaw

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine
  2018-11-07  8:27   ` Stanislaw Gruszka
@ 2018-11-07  9:07     ` Lorenzo Bianconi
  0 siblings, 0 replies; 4+ messages in thread
From: Lorenzo Bianconi @ 2018-11-07  9:07 UTC (permalink / raw)
  To: Stanislaw Gruszka; +Cc: nbd, linux-wireless

> On Tue, Nov 06, 2018 at 11:49:12PM +0100, Lorenzo Bianconi wrote:
> > Add mt76x02_config_mac_addr_list routine in order to set
> > the mac address list supported by the driver. Initialize
> > wiphy->addresses/n_addresses for mt76x0e driver
> > 
> > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
> > ---
> >  .../net/wireless/mediatek/mt76/mt76x0/init.c  |  2 ++
> >  drivers/net/wireless/mediatek/mt76/mt76x02.h  |  1 +
> >  .../net/wireless/mediatek/mt76/mt76x02_util.c | 22 +++++++++++++++++++
> >  .../wireless/mediatek/mt76/mt76x2/pci_init.c  | 17 ++------------
> >  4 files changed, 27 insertions(+), 15 deletions(-)
> > 
> > diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
> > index e74d476eca24..87b575fe1c74 100644
> > --- a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
> > +++ b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
> > @@ -289,6 +289,8 @@ int mt76x0_register_device(struct mt76x02_dev *dev)
> >  	int ret;
> >  
> >  	mt76x02_init_device(dev);
> > +	mt76x02_config_mac_addr_list(dev);
> > +
> 
> Does this work for USB devices ?

Hi Stanislaw,

for usb devices we have just one interface so it does not make any difference I
guess.

Regards,
Lorenzo

> 
> Thanks
> Stanislaw

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine
  2018-11-06 22:49 ` [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine Lorenzo Bianconi
  2018-11-07  8:27   ` Stanislaw Gruszka
@ 2018-11-13 19:50   ` Felix Fietkau
  1 sibling, 0 replies; 4+ messages in thread
From: Felix Fietkau @ 2018-11-13 19:50 UTC (permalink / raw)
  To: Lorenzo Bianconi; +Cc: sgruszka, linux-wireless

On 2018-11-06 23:49, Lorenzo Bianconi wrote:
> Add mt76x02_config_mac_addr_list routine in order to set
> the mac address list supported by the driver. Initialize
> wiphy->addresses/n_addresses for mt76x0e driver
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Applied, thanks.

- Felix

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-13 19:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <cover.1541544212.git.lorenzo.bianconi@redhat.com>
2018-11-06 22:49 ` [PATCH] mt76: introduce mt76x02_config_mac_addr_list routine Lorenzo Bianconi
2018-11-07  8:27   ` Stanislaw Gruszka
2018-11-07  9:07     ` Lorenzo Bianconi
2018-11-13 19:50   ` Felix Fietkau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).