config AB8500_BM
        bool "AB8500 Battery Management Driver"
-       depends on AB8500_CORE && AB8500_GPADC && (IIO = y)
+       depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF
        help
          Say Y to include support for AB8500 battery management.
 
 
        }
        di->bm = plat;
 
-       if (np) {
-               ret = ab8500_bm_of_probe(dev, np, di->bm);
-               if (ret) {
-                       dev_err(dev, "failed to get battery information\n");
-                       return ret;
-               }
+       ret = ab8500_bm_of_probe(dev, np, di->bm);
+       if (ret) {
+               dev_err(dev, "failed to get battery information\n");
+               return ret;
        }
 
        /* get parent data */
 
        }
        di->bm = plat;
 
-       if (np) {
-               ret = ab8500_bm_of_probe(dev, np, di->bm);
-               if (ret) {
-                       dev_err(dev, "failed to get battery information\n");
-                       return ret;
-               }
-               di->autopower_cfg = of_property_read_bool(np, "autopower_cfg");
-       } else
-               di->autopower_cfg = false;
+       ret = ab8500_bm_of_probe(dev, np, di->bm);
+       if (ret) {
+               dev_err(dev, "failed to get battery information\n");
+               return ret;
+       }
+       di->autopower_cfg = of_property_read_bool(np, "autopower_cfg");
 
        /* get parent data */
        di->dev = dev;
 
        }
        di->bm = plat;
 
-       if (np) {
-               ret = ab8500_bm_of_probe(dev, np, di->bm);
-               if (ret) {
-                       dev_err(dev, "failed to get battery information\n");
-                       return ret;
-               }
+       ret = ab8500_bm_of_probe(dev, np, di->bm);
+       if (ret) {
+               dev_err(dev, "failed to get battery information\n");
+               return ret;
        }
 
        mutex_init(&di->cc_lock);
 
        }
        di->bm = plat;
 
-       if (np) {
-               ret = ab8500_bm_of_probe(&pdev->dev, np, di->bm);
-               if (ret) {
-                       dev_err(&pdev->dev, "failed to get battery information\n");
-                       return ret;
-               }
+       ret = ab8500_bm_of_probe(&pdev->dev, np, di->bm);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to get battery information\n");
+               return ret;
        }
 
        /* get device struct and parent */