Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pmdomain-v6.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain fixes from Ulf Hansson:

- mediatek: Fix spinlock recursion in probe

- tegra: Use GENPD_FLAG_NO_STAY_ON to restore old behaviour

* tag 'pmdomain-v6.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
pmdomain: tegra: Add GENPD_FLAG_NO_STAY_ON flag
pmdomains: mtk-pm-domains: Fix spinlock recursion in probe

+16 -3
+15 -3
drivers/pmdomain/mediatek/mtk-pm-domains.c
··· 748 748 } 749 749 } 750 750 751 + static struct device_node *scpsys_get_legacy_regmap(struct device_node *np, const char *pn) 752 + { 753 + struct device_node *local_node; 754 + 755 + for_each_child_of_node(np, local_node) { 756 + if (of_property_present(local_node, pn)) 757 + return local_node; 758 + } 759 + 760 + return NULL; 761 + } 762 + 751 763 static int scpsys_get_bus_protection_legacy(struct device *dev, struct scpsys *scpsys) 752 764 { 753 765 const u8 bp_blocks[3] = { ··· 781 769 * this makes it then possible to allocate the array of bus_prot 782 770 * regmaps and convert all to the new style handling. 783 771 */ 784 - node = of_find_node_with_property(np, "mediatek,infracfg"); 772 + node = scpsys_get_legacy_regmap(np, "mediatek,infracfg"); 785 773 if (node) { 786 774 regmap[0] = syscon_regmap_lookup_by_phandle(node, "mediatek,infracfg"); 787 775 of_node_put(node); ··· 794 782 regmap[0] = NULL; 795 783 } 796 784 797 - node = of_find_node_with_property(np, "mediatek,smi"); 785 + node = scpsys_get_legacy_regmap(np, "mediatek,smi"); 798 786 if (node) { 799 787 smi_np = of_parse_phandle(node, "mediatek,smi", 0); 800 788 of_node_put(node); ··· 812 800 regmap[1] = NULL; 813 801 } 814 802 815 - node = of_find_node_with_property(np, "mediatek,infracfg-nao"); 803 + node = scpsys_get_legacy_regmap(np, "mediatek,infracfg-nao"); 816 804 if (node) { 817 805 regmap[2] = syscon_regmap_lookup_by_phandle(node, "mediatek,infracfg-nao"); 818 806 num_regmaps++;
+1
drivers/pmdomain/tegra/powergate-bpmp.c
··· 184 184 powergate->genpd.name = kstrdup(info->name, GFP_KERNEL); 185 185 powergate->genpd.power_on = tegra_powergate_power_on; 186 186 powergate->genpd.power_off = tegra_powergate_power_off; 187 + powergate->genpd.flags = GENPD_FLAG_NO_STAY_ON; 187 188 188 189 err = pm_genpd_init(&powergate->genpd, NULL, off); 189 190 if (err < 0) {