From: Jarrett Schultz <jaschultz@xxxxxxxxxxxxx> After v4, there were some suggestions to change the driver again to use nvmem that would include some other changes to the sm8150 dtsi. While the suggestions make sense, this driver was supposed to remain simple for the introduction in order to get it into the tree and I think that it would be best to implement those and any other suggestions in a future patch. Hopefully this patch is now in a state where it can be accepted. Thanks to all who have helped and been patient along the way, this was my first patch :) ~ Jarrett --- Introduce the Surface Extensible Boot Loader driver for the Surface Duo. Exposes information about the driver to user space via sysfs for consumption in manufacturing mode. --- Changes in v5: - Minor changes to yaml --- Changes in v4: - Small binding definition changes - Removed ACPI propagation from patch series since it has been cherry-picked - Fixed the Signed-off-by: and From: mismatch --- Changes in v3: - For the yaml documentation: * Updated description * Fixed examples * Updated 'required' field - Further propogated ACPI dependency in Kconfigs - Updated sysfs several binding descriptions - Renamed files to conform to naming conventions --- Changes in v2: - Per Maximilian, added patch 2: propagated ACPI dependency from the directory as a whole to each individual driver - For the yaml documentation: * Removed json-schema dependence * Elaborated on description of driver * Updated example - Changed target KernelVersion in sysfs documentation - Updated MAINTAINER changes to be properly applied across patches - For the driver itself, * Added types.h inclusion and removed unused inclusions * Minor updates to code and acronym style * Remove __packed attribute on driver struct * Use .dev_groups for sysfs - Added more in-depth description of driver in Kconfig - Modified dts to reference a newly added section in sm8150.dtsi --- Jarrett Schultz (4): dt-bindings: platform: microsoft: Document surface xbl platform: surface: Add surface xbl arm64: dts: qcom: sm8150: Add imem section arm64: dts: qcom: surface-duo: Add surface xbl .../ABI/testing/sysfs-platform-surface-xbl | 79 ++++++++ .../platform/microsoft/surface-xbl.yaml | 70 +++++++ MAINTAINERS | 9 + .../dts/qcom/sm8150-microsoft-surface-duo.dts | 10 + arch/arm64/boot/dts/qcom/sm8150.dtsi | 8 + drivers/platform/surface/Kconfig | 12 ++ drivers/platform/surface/Makefile | 1 + drivers/platform/surface/surface_xbl.c | 186 ++++++++++++++++++ 8 files changed, 375 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-platform-surface-xbl create mode 100644 Documentation/devicetree/bindings/platform/microsoft/surface-xbl.yaml create mode 100644 drivers/platform/surface/surface_xbl.c -- 2.25.1