Merge tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
Pull powerpc updates from Michael Ellerman: - Numerous minor fixes, cleanups etc. - More EEH work from Gavin to remove its dependency on device_nodes. - Memory hotplug implemented entirely in the kernel from Nathan Fontenot. - Removal of redundant CONFIG_PPC_OF by Kevin Hao. - Rewrite of VPHN parsing logic & tests from Greg Kurz. - A fix from Nish Aravamudan to reduce memory usage by clamping nodes_possible_map. - Support for pstore on powernv from Hari Bathini. - Removal of old powerpc specific byte swap routines by David Gibson. - Fix from Vasant Hegde to prevent the flash driver telling you it was flashing your firmware when it wasn't. - Patch from Ben Herrenschmidt to add an OPAL heartbeat driver. - Fix for an oops causing get/put_cpu_var() imbalance in perf by Jan Stancek. - Some fixes for migration from Tyrel Datwyler. - A new syscall to switch the cpu endian by Michael Ellerman. - Large series from Wei Yang to implement SRIOV, reviewed and acked by Bjorn. - A fix for the OPAL sensor driver from Cédric Le Goater. - Fixes to get STRICT_MM_TYPECHECKS building again by Michael Ellerman. - Large series from Daniel Axtens to make our PCI hooks per PHB rather than per machine. - Small patch from Sam Bobroff to explicitly abort non-suspended transactions on syscalls, plus a test to exercise it. - Numerous reworks and fixes for the 24x7 PMU from Sukadev Bhattiprolu. - Small patch to enable the hard lockup detector from Anton Blanchard. - Fix from Dave Olson for missing L2 cache information on some CPUs. - Some fixes from Michael Ellerman to get Cell machines booting again. - Freescale updates from Scott: Highlights include BMan device tree nodes, an MSI erratum workaround, a couple minor performance improvements, config updates, and misc fixes/cleanup. * tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (196 commits) powerpc/powermac: Fix build error seen with powermac smp builds powerpc/pseries: Fix compile of memory hotplug without CONFIG_MEMORY_HOTREMOVE powerpc: Remove PPC32 code from pseries specific find_and_init_phbs() powerpc/cell: Fix iommu breakage caused by controller_ops change powerpc/eeh: Fix crash in eeh_add_device_early() on Cell powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog() fails powerpc/pseries: Correct memory hotplug locking powerpc: Fix missing L2 cache size in /sys/devices/system/cpu powerpc: Add ppc64 hard lockup detector support oprofile: Disable oprofile NMI timer on ppc64 powerpc/perf/hv-24x7: Add missing put_cpu_var() powerpc/perf/hv-24x7: Break up single_24x7_request powerpc/perf/hv-24x7: Define update_event_count() powerpc/perf/hv-24x7: Whitespace cleanup powerpc/perf/hv-24x7: Define add_event_to_24x7_request() powerpc/perf/hv-24x7: Rename hv_24x7_event_update powerpc/perf/hv-24x7: Move debug prints to separate function powerpc/perf/hv-24x7: Drop event_24x7_request() powerpc/perf/hv-24x7: Use pr_devel() to log message ... Conflicts: tools/testing/selftests/powerpc/Makefile tools/testing/selftests/powerpc/tm/Makefile
This commit is contained in:
@@ -320,28 +320,34 @@ static ssize_t migrate_store(struct class *class, struct class_attribute *attr,
|
||||
{
|
||||
u64 streamid;
|
||||
int rc;
|
||||
int vasi_rc = 0;
|
||||
|
||||
rc = kstrtou64(buf, 0, &streamid);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
do {
|
||||
rc = rtas_ibm_suspend_me(streamid, &vasi_rc);
|
||||
if (!rc && vasi_rc == RTAS_NOT_SUSPENDABLE)
|
||||
rc = rtas_ibm_suspend_me(streamid);
|
||||
if (rc == -EAGAIN)
|
||||
ssleep(1);
|
||||
} while (!rc && vasi_rc == RTAS_NOT_SUSPENDABLE);
|
||||
} while (rc == -EAGAIN);
|
||||
|
||||
if (rc)
|
||||
return rc;
|
||||
if (vasi_rc)
|
||||
return vasi_rc;
|
||||
|
||||
post_mobility_fixup();
|
||||
return count;
|
||||
}
|
||||
|
||||
/*
|
||||
* Used by drmgr to determine the kernel behavior of the migration interface.
|
||||
*
|
||||
* Version 1: Performs all PAPR requirements for migration including
|
||||
* firmware activation and device tree update.
|
||||
*/
|
||||
#define MIGRATION_API_VERSION 1
|
||||
|
||||
static CLASS_ATTR(migration, S_IWUSR, NULL, migrate_store);
|
||||
static CLASS_ATTR_STRING(api_version, S_IRUGO, __stringify(MIGRATION_API_VERSION));
|
||||
|
||||
static int __init mobility_sysfs_init(void)
|
||||
{
|
||||
@@ -352,7 +358,13 @@ static int __init mobility_sysfs_init(void)
|
||||
return -ENOMEM;
|
||||
|
||||
rc = sysfs_create_file(mobility_kobj, &class_attr_migration.attr);
|
||||
if (rc)
|
||||
pr_err("mobility: unable to create migration sysfs file (%d)\n", rc);
|
||||
|
||||
return rc;
|
||||
rc = sysfs_create_file(mobility_kobj, &class_attr_api_version.attr.attr);
|
||||
if (rc)
|
||||
pr_err("mobility: unable to create api_version sysfs file (%d)\n", rc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
machine_device_initcall(pseries, mobility_sysfs_init);
|
||||
|
Reference in New Issue
Block a user