Introduce a new platform driver to gather topology information from UV systems and expose that information via a sysfs interface at /sys/firmware/sgi_uv/. This is version 3 with these changes since version 2: * Export sn_coherency_id to fix build failure when UV_SYSFS=m, caused by re-introduction of /sys/firmware/sgi_uv/coherence_id in v2. * Fix a null pointer dereference in drivers/platform/x86/uv_sysfs.c:uv_ports_exit() caused by calling kobject_put() on an out of range index value. Version 2 included these changes since version 1: * Re-introduced /sys/firmware/sgi_uv/coherence_id file in the new driver after removing it in Patch 1/5. This keeps the userspace API unbroken. Justin Ernst (5): x86/platform/uv: Remove existing /sys/firmware/sgi_uv/ interface x86/platform/uv: Add and export uv_bios_* functions x86/platform/uv: Add new uv_sysfs platform driver x86/platform/uv: Update ABI documentation of /sys/firmware/sgi_uv/ x86/platform/uv: Update MAINTAINERS for uv_sysfs driver .../ABI/testing/sysfs-firmware-sgi_uv | 141 ++- MAINTAINERS | 6 + arch/x86/include/asm/uv/bios.h | 49 + arch/x86/include/asm/uv/uv_geo.h | 103 +++ arch/x86/platform/uv/Makefile | 2 +- arch/x86/platform/uv/bios_uv.c | 55 ++ arch/x86/platform/uv/uv_sysfs.c | 63 -- drivers/platform/x86/Kconfig | 11 + drivers/platform/x86/Makefile | 3 + drivers/platform/x86/uv_sysfs.c | 862 ++++++++++++++++++ 10 files changed, 1217 insertions(+), 78 deletions(-) create mode 100644 arch/x86/include/asm/uv/uv_geo.h delete mode 100644 arch/x86/platform/uv/uv_sysfs.c create mode 100644 drivers/platform/x86/uv_sysfs.c -- 2.26.2