Commit 2a9efef8 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

powerpc/pseries: move to use bus_get_dev_root()

Direct access to the struct bus_type dev_root pointer is going away soon
so replace that with a call to bus_get_dev_root() instead, which is what
it is there for.

Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linuxppc-dev@lists.ozlabs.org
Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
Link: https://lore.kernel.org/r/20230313182918.1312597-14-gregkh@linuxfoundation.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3bf88c42
Loading
Loading
Loading
Loading
+17 −11
Original line number Diff line number Diff line
@@ -300,20 +300,22 @@ static struct device_attribute attr_percpu_deactivate_hint =
static int __init pseries_energy_init(void)
{
	int cpu, err;
	struct device *cpu_dev;
	struct device *cpu_dev, *dev_root;

	if (!firmware_has_feature(FW_FEATURE_BEST_ENERGY))
		return 0; /* H_BEST_ENERGY hcall not supported */

	/* Create the sysfs files */
	err = device_create_file(cpu_subsys.dev_root,
				&attr_cpu_activate_hint_list);
	dev_root = bus_get_dev_root(&cpu_subsys);
	if (dev_root) {
		err = device_create_file(dev_root, &attr_cpu_activate_hint_list);
		if (!err)
		err = device_create_file(cpu_subsys.dev_root,
				&attr_cpu_deactivate_hint_list);

			err = device_create_file(dev_root, &attr_cpu_deactivate_hint_list);
		put_device(dev_root);
		if (err)
			return err;
	}

	for_each_possible_cpu(cpu) {
		cpu_dev = get_cpu_device(cpu);
		err = device_create_file(cpu_dev,
@@ -337,14 +339,18 @@ static int __init pseries_energy_init(void)
static void __exit pseries_energy_cleanup(void)
{
	int cpu;
	struct device *cpu_dev;
	struct device *cpu_dev, *dev_root;

	if (!sysfs_entries)
		return;

	/* Remove the sysfs files */
	device_remove_file(cpu_subsys.dev_root, &attr_cpu_activate_hint_list);
	device_remove_file(cpu_subsys.dev_root, &attr_cpu_deactivate_hint_list);
	dev_root = bus_get_dev_root(&cpu_subsys);
	if (dev_root) {
		device_remove_file(dev_root, &attr_cpu_activate_hint_list);
		device_remove_file(dev_root, &attr_cpu_deactivate_hint_list);
		put_device(dev_root);
	}

	for_each_possible_cpu(cpu) {
		cpu_dev = get_cpu_device(cpu);
+8 −2
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@ static const struct platform_suspend_ops pseries_suspend_ops = {
 **/
static int pseries_suspend_sysfs_register(struct device *dev)
{
	struct device *dev_root;
	int rc;

	if ((rc = subsys_system_register(&suspend_subsys, NULL)))
@@ -151,8 +152,13 @@ static int pseries_suspend_sysfs_register(struct device *dev)
	dev->id = 0;
	dev->bus = &suspend_subsys;

	if ((rc = device_create_file(suspend_subsys.dev_root, &dev_attr_hibernate)))
	dev_root = bus_get_dev_root(&suspend_subsys);
	if (dev_root) {
		rc = device_create_file(dev_root, &dev_attr_hibernate);
		put_device(dev_root);
		if (rc)
			goto subsys_unregister;
	}

	return 0;