diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c index 5f510ddc946d..d302a31116ba 100644 --- a/drivers/power/supply/test_power.c +++ b/drivers/power/supply/test_power.c @@ -17,6 +17,7 @@ #include #include #include +#include enum test_power_id { TEST_AC, @@ -206,6 +207,19 @@ static int __init test_power_init(void) { int i; int ret; + struct device_node *dev_node; + + dev_node = of_find_node_by_name(NULL, "test-power"); + + if (!dev_node) { + pr_info("%s: could not find dev node\n", __func__); + return 0; + } + if (!of_device_is_available(dev_node)) { + pr_info("%s: test power disabled\n", __func__); + return 0; + } + of_node_put(dev_node); BUILD_BUG_ON(TEST_POWER_NUM != ARRAY_SIZE(test_power_supplies)); BUILD_BUG_ON(TEST_POWER_NUM != ARRAY_SIZE(test_power_configs));