summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanZheng <tanzheng@kylinos.cn>2026-05-28 14:00:50 +0800
committerNiklas Cassel <cassel@kernel.org>2026-06-01 19:07:37 +0200
commitf80cea847028bb9eb1149badebf9f142d96b2e8b (patch)
tree914241c449eef6404276b47a894f5bc4af941b96
parentaa0ae1c35f7b3e9afed2324bed5f5c87ad55b92c (diff)
ata: ahci: use hweight_long() to count port_map bits
Replace the open loop used to calculate the number of set bits in the port mapping with the `hweight_long()` function, which simplifies the code without altering its functionality. Signed-off-by: TanZheng <tanzheng@kylinos.cn> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Hannes Reinecke <hare@kernel.org> Signed-off-by: Niklas Cassel <cassel@kernel.org>
-rw-r--r--drivers/ata/libahci.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index 0c5e5b29bce4..e0af4b5716b3 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -552,11 +552,7 @@ void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv)
/* cross check port_map and cap.n_ports */
if (port_map) {
- int map_ports = 0;
-
- for (i = 0; i < AHCI_MAX_PORTS; i++)
- if (port_map & (1 << i))
- map_ports++;
+ int map_ports = hweight_long(port_map);
/* If PI has more ports than n_ports, whine, clear
* port_map and let it be generated from n_ports.