mtd: vmu-flash: Use hweight_long
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / maps / vmu-flash.c
index 1f73297e7776338b26298028eb20b1109b8eeca6..1008462c3f7c4611e151bf2324969bd883742941 100644 (file)
@@ -612,10 +612,9 @@ static int __devinit vmu_connect(struct maple_device *mdev)
 
        test_flash_data = be32_to_cpu(mdev->devinfo.function);
        /* Need to count how many bits are set - to find out which
-        * function_data element has details of the memory card:
-        * using Brian Kernighan's/Peter Wegner's method */
-       for (c = 0; test_flash_data; c++)
-               test_flash_data &= test_flash_data - 1;
+        * function_data element has details of the memory card
+        */
+       c = hweight_long(test_flash_data);
 
        basic_flash_data = be32_to_cpu(mdev->devinfo.function_data[c - 1]);