Hi Shawn, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Shawn-Lin/dt-bindings-ufs-Document-Rockchip-UFS-host-controller/20241104-191810 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next patch link: https://lore.kernel.org/r/1730705521-23081-5-git-send-email-shawn.lin%40rock-chips.com patch subject: [PATCH v4 4/7] pmdomain: core: Introduce dev_pm_genpd_rpm_always_on() config: loongarch-randconfig-r073-20241107 (https://download.01.org/0day-ci/archive/20241108/202411080432.5dWP6wRt-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 14.2.0 If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202411080432.5dWP6wRt-lkp@xxxxxxxxx/ New smatch warnings: drivers/pmdomain/core.c:898 genpd_power_off() warn: curly braces intended? vim +898 drivers/pmdomain/core.c 2da835452a08758 drivers/base/power/domain.c Ulf Hansson 2017-02-17 850 static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on, 2da835452a08758 drivers/base/power/domain.c Ulf Hansson 2017-02-17 851 unsigned int depth) 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 852 { 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 853 struct pm_domain_data *pdd; 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 854 struct gpd_link *link; 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 855 unsigned int not_suspended = 0; f63816e43d90442 drivers/base/power/domain.c Ulf Hansson 2020-09-24 856 int ret; 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 857 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 858 /* 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 859 * Do not try to power off the domain in the following situations: 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 860 * (1) The domain is already in the "power off" state. 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 861 * (2) System suspend is in progress. 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 862 */ 41e2c8e0060db25 drivers/base/power/domain.c Ulf Hansson 2017-03-20 863 if (!genpd_status_on(genpd) || genpd->prepared_count > 0) 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 864 return 0; 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 865 ffaa42e8a40b7f1 drivers/base/power/domain.c Ulf Hansson 2017-03-20 866 /* ffaa42e8a40b7f1 drivers/base/power/domain.c Ulf Hansson 2017-03-20 867 * Abort power off for the PM domain in the following situations: ffaa42e8a40b7f1 drivers/base/power/domain.c Ulf Hansson 2017-03-20 868 * (1) The domain is configured as always on. ffaa42e8a40b7f1 drivers/base/power/domain.c Ulf Hansson 2017-03-20 869 * (2) When the domain has a subdomain being powered on. ffaa42e8a40b7f1 drivers/base/power/domain.c Ulf Hansson 2017-03-20 870 */ ed61e18a4b4e445 drivers/base/power/domain.c Leonard Crestez 2019-04-30 871 if (genpd_is_always_on(genpd) || ed61e18a4b4e445 drivers/base/power/domain.c Leonard Crestez 2019-04-30 872 genpd_is_rpm_always_on(genpd) || ed61e18a4b4e445 drivers/base/power/domain.c Leonard Crestez 2019-04-30 873 atomic_read(&genpd->sd_count) > 0) 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 874 return -EBUSY; 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 875 e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 876 /* e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 877 * The children must be in their deepest (powered-off) states to allow e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 878 * the parent to be powered off. Note that, there's no need for e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 879 * additional locking, as powering on a child, requires the parent's e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 880 * lock to be acquired first. e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 881 */ e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 882 list_for_each_entry(link, &genpd->parent_links, parent_node) { e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 883 struct generic_pm_domain *child = link->child; e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 884 if (child->state_idx < child->state_count - 1) e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 885 return -EBUSY; e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 886 } e7d90cfac5510f8 drivers/base/power/domain.c Ulf Hansson 2022-02-17 887 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 888 list_for_each_entry(pdd, &genpd->dev_list, list_node) { 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 889 /* 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 890 * Do not allow PM domain to be powered off, when an IRQ safe 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 891 * device is part of a non-IRQ safe domain. 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 892 */ 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 893 if (!pm_runtime_suspended(pdd->dev) || 7a02444b8fc25ac drivers/base/power/domain.c Ulf Hansson 2022-05-11 894 irq_safe_dev_in_sleep_domain(pdd->dev, genpd)) { 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 895 not_suspended++; f0f6da10152fb8f drivers/pmdomain/core.c Ulf Hansson 2024-11-04 896 f0f6da10152fb8f drivers/pmdomain/core.c Ulf Hansson 2024-11-04 897 /* The device may need its PM domain to stay powered on. */ f0f6da10152fb8f drivers/pmdomain/core.c Ulf Hansson 2024-11-04 @898 if (to_gpd_data(pdd)->rpm_always_on) f0f6da10152fb8f drivers/pmdomain/core.c Ulf Hansson 2024-11-04 899 return -EBUSY; } 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 900 } 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 901 3c64649d1cf9f32 drivers/base/power/domain.c Ulf Hansson 2017-02-17 902 if (not_suspended > 1 || (not_suspended == 1 && !one_dev_on)) 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 903 return -EBUSY; 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 904 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 905 if (genpd->gov && genpd->gov->power_down_ok) { 1f8728b7adc4c2b drivers/base/power/domain.c Ulf Hansson 2017-02-17 906 if (!genpd->gov->power_down_ok(&genpd->domain)) -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki