[net-next] wifi: ath11k: Use list_count_nodes()

Message ID 941484caae24b89d20524b1a5661dd1fd7025492.1682542084.git.christophe.jaillet@wanadoo.fr
State New
Headers
Series [net-next] wifi: ath11k: Use list_count_nodes() |

Commit Message

Christophe JAILLET April 26, 2023, 8:48 p.m. UTC
  ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
look the same as list_count_nodes(), so use the latter instead of hand
writing it.

The first ones use list_for_each_entry() and the other list_for_each(), but
they both count the number of nodes in the list.

While at it, also remove to prototypes of non-existent functions.
Based on the names and prototypes, it is likely that they should be
equivalent to list_count_nodes().

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Un-tested
---
 drivers/net/wireless/ath/ath11k/wmi.c | 24 +-----------------------
 drivers/net/wireless/ath/ath11k/wmi.h |  3 ---
 2 files changed, 1 insertion(+), 26 deletions(-)
  

Comments

Kalle Valo April 27, 2023, 4:35 a.m. UTC | #1
Christophe JAILLET <christophe.jaillet@wanadoo.fr> writes:

> ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
> look the same as list_count_nodes(), so use the latter instead of hand
> writing it.
>
> The first ones use list_for_each_entry() and the other list_for_each(), but
> they both count the number of nodes in the list.
>
> While at it, also remove to prototypes of non-existent functions.
> Based on the names and prototypes, it is likely that they should be
> equivalent to list_count_nodes().
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> Un-tested

I'll run sanity tests on ath11k patches. I'll also add "Compile tested
only" to the commit log.

Oh, and ath11k patches go to ath tree, not net-next.
  
Christophe JAILLET April 27, 2023, 6:37 a.m. UTC | #2
Le 27/04/2023 à 06:35, Kalle Valo a écrit :
> Christophe JAILLET <christophe.jaillet-39ZsbGIQGT5GWvitb5QawA@public.gmane.org> writes:
> 
>> ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
>> look the same as list_count_nodes(), so use the latter instead of hand
>> writing it.
>>
>> The first ones use list_for_each_entry() and the other list_for_each(), but
>> they both count the number of nodes in the list.
>>
>> While at it, also remove to prototypes of non-existent functions.
>> Based on the names and prototypes, it is likely that they should be
>> equivalent to list_count_nodes().
>>
>> Signed-off-by: Christophe JAILLET <christophe.jaillet-39ZsbGIQGT5GWvitb5QawA@public.gmane.org>
>> ---
>> Un-tested
> 
> I'll run sanity tests on ath11k patches. I'll also add "Compile tested
> only" to the commit log.
> 
> Oh, and ath11k patches go to ath tree, not net-next.
> 
Hi,

[adding Joe Perches]

maybe checkpatch could be instrumented for that?

Something that would print a warning if the MAINTAINERS file has a git 
repo in T: or if F: states something related to 'net'.


WARNING: Your patch is against the xxx.git repo but the subject of the 
mail does not reflect it. Should [PATCH xxx] be used instead?
Also make sure that it applies cleanly on xxx.git to ease merge process.

WARNING: Your patch is related to 'net'. Such patches should state 
[PATCH net] when related to bug fix, or [PATCH net-next] otherwise.

Eventually, something if net-next is closed?


What do you think?
Would it be possible? Would it help?

CJ
  
Paolo Abeni April 27, 2023, 7:07 a.m. UTC | #3
On Thu, 2023-04-27 at 07:35 +0300, Kalle Valo wrote:
> Christophe JAILLET <christophe.jaillet@wanadoo.fr> writes:
> 
> > ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
> > look the same as list_count_nodes(), so use the latter instead of hand
> > writing it.
> > 
> > The first ones use list_for_each_entry() and the other list_for_each(), but
> > they both count the number of nodes in the list.
> > 
> > While at it, also remove to prototypes of non-existent functions.
> > Based on the names and prototypes, it is likely that they should be
> > equivalent to list_count_nodes().
> > 
> > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> > ---
> > Un-tested
> 
> I'll run sanity tests on ath11k patches. I'll also add "Compile tested
> only" to the commit log.
> 
> Oh, and ath11k patches go to ath tree, not net-next.

Just for awareness, there are 2 additional patches apparently targeting
net-next but being instead for the WiFi tree:

https://lore.kernel.org/all/e77ed7f719787cb8836a93b6a6972f4147e40bc6.1682537509.git.christophe.jaillet@wanadoo.fr/
https://lore.kernel.org/all/e6ec525c0c5057e97e33a63f8a4aa482e5c2da7f.1682541872.git.christophe.jaillet@wanadoo.fr/

Cheers,

Paolo
  
Kalle Valo April 27, 2023, 8:14 a.m. UTC | #4
Paolo Abeni <pabeni@redhat.com> writes:

> On Thu, 2023-04-27 at 07:35 +0300, Kalle Valo wrote:
>
>> Christophe JAILLET <christophe.jaillet@wanadoo.fr> writes:
>> 
>> > ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
>> > look the same as list_count_nodes(), so use the latter instead of hand
>> > writing it.
>> > 
>> > The first ones use list_for_each_entry() and the other list_for_each(), but
>> > they both count the number of nodes in the list.
>> > 
>> > While at it, also remove to prototypes of non-existent functions.
>> > Based on the names and prototypes, it is likely that they should be
>> > equivalent to list_count_nodes().
>> > 
>> > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>> > ---
>> > Un-tested
>> 
>> I'll run sanity tests on ath11k patches. I'll also add "Compile tested
>> only" to the commit log.
>> 
>> Oh, and ath11k patches go to ath tree, not net-next.
>
> Just for awareness, there are 2 additional patches apparently targeting
> net-next but being instead for the WiFi tree:
>
> https://lore.kernel.org/all/e77ed7f719787cb8836a93b6a6972f4147e40bc6.1682537509.git.christophe.jaillet@wanadoo.fr/
> https://lore.kernel.org/all/e6ec525c0c5057e97e33a63f8a4aa482e5c2da7f.1682541872.git.christophe.jaillet@wanadoo.fr/

Thanks, these are on our wireless patchwork so you can drop them on your
end:

https://patchwork.kernel.org/project/linux-wireless/patch/e6ec525c0c5057e97e33a63f8a4aa482e5c2da7f.1682541872.git.christophe.jaillet@wanadoo.fr/

https://patchwork.kernel.org/project/linux-wireless/patch/e77ed7f719787cb8836a93b6a6972f4147e40bc6.1682537509.git.christophe.jaillet@wanadoo.fr/
  
Simon Horman April 28, 2023, 8:21 p.m. UTC | #5
On Wed, Apr 26, 2023 at 10:48:59PM +0200, Christophe JAILLET wrote:
> ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
> look the same as list_count_nodes(), so use the latter instead of hand
> writing it.
> 
> The first ones use list_for_each_entry() and the other list_for_each(), but
> they both count the number of nodes in the list.
> 
> While at it, also remove to prototypes of non-existent functions.
> Based on the names and prototypes, it is likely that they should be
> equivalent to list_count_nodes().
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Reviewed-by: Simon Horman <simon.horman@corigine.com>
  
Kalle Valo May 5, 2023, 1:06 p.m. UTC | #6
Christophe JAILLET <christophe.jaillet@wanadoo.fr> writes:

> ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
> look the same as list_count_nodes(), so use the latter instead of hand
> writing it.
>
> The first ones use list_for_each_entry() and the other list_for_each(), but
> they both count the number of nodes in the list.
>
> While at it, also remove to prototypes of non-existent functions.
> Based on the names and prototypes, it is likely that they should be
> equivalent to list_count_nodes().
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> Un-tested

BTW I prefer to have "Compile tested only" in the commit log to make it
clear that it's not tested on a real device. So I added that sentence to
both this and ath10k patch.
  
Kalle Valo May 5, 2023, 1:08 p.m. UTC | #7
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:

> ath11k_wmi_fw_stats_num_vdevs() and ath11k_wmi_fw_stats_num_bcn() really
> look the same as list_count_nodes(), so use the latter instead of hand
> writing it.
> 
> The first ones use list_for_each_entry() and the other list_for_each(), but
> they both count the number of nodes in the list.
> 
> While at it, also remove to prototypes of non-existent functions.
> Based on the names and prototypes, it is likely that they should be
> equivalent to list_count_nodes().
> 
> Compile tested only.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> Reviewed-by: Simon Horman <simon.horman@corigine.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to ath-next branch of ath.git, thanks.

91dce4091433 wifi: ath11k: Use list_count_nodes()
  

Patch

diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index d0b59bc2905a..a55b5fe37ecf 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -6548,28 +6548,6 @@  int ath11k_wmi_pull_fw_stats(struct ath11k_base *ab, struct sk_buff *skb,
 				   &parse);
 }
 
-size_t ath11k_wmi_fw_stats_num_vdevs(struct list_head *head)
-{
-	struct ath11k_fw_stats_vdev *i;
-	size_t num = 0;
-
-	list_for_each_entry(i, head, list)
-		++num;
-
-	return num;
-}
-
-static size_t ath11k_wmi_fw_stats_num_bcn(struct list_head *head)
-{
-	struct ath11k_fw_stats_bcn *i;
-	size_t num = 0;
-
-	list_for_each_entry(i, head, list)
-		++num;
-
-	return num;
-}
-
 static void
 ath11k_wmi_fw_pdev_base_stats_fill(const struct ath11k_fw_stats_pdev *pdev,
 				   char *buf, u32 *length)
@@ -6880,7 +6858,7 @@  void ath11k_wmi_fw_stats_fill(struct ath11k *ar,
 	}
 
 	if (stats_id == WMI_REQUEST_BCN_STAT) {
-		num_bcn = ath11k_wmi_fw_stats_num_bcn(&fw_stats->bcn);
+		num_bcn = list_count_nodes(&fw_stats->bcn);
 
 		len += scnprintf(buf + len, buf_len - len, "\n");
 		len += scnprintf(buf + len, buf_len - len, "%30s (%zu)\n",
diff --git a/drivers/net/wireless/ath/ath11k/wmi.h b/drivers/net/wireless/ath/ath11k/wmi.h
index 92fddb77669c..91bc3e648ce1 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.h
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
@@ -6372,9 +6372,6 @@  int ath11k_wmi_send_pdev_set_regdomain(struct ath11k *ar,
 				       struct pdev_set_regdomain_params *param);
 int ath11k_wmi_pull_fw_stats(struct ath11k_base *ab, struct sk_buff *skb,
 			     struct ath11k_fw_stats *stats);
-size_t ath11k_wmi_fw_stats_num_peers(struct list_head *head);
-size_t ath11k_wmi_fw_stats_num_peers_extd(struct list_head *head);
-size_t ath11k_wmi_fw_stats_num_vdevs(struct list_head *head);
 void ath11k_wmi_fw_stats_fill(struct ath11k *ar,
 			      struct ath11k_fw_stats *fw_stats, u32 stats_id,
 			      char *buf);