[net-next] wifi: ath11k: Use list_count_nodes()
Commit Message
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
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.
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
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
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/
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>
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.
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()
@@ -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",
@@ -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);