[RFC PATCH v3 0/3] Add support for Vendor Defined Error Types in Einj Module

From: Avadhut Naik
Date: Mon Jun 12 2023 - 17:51:56 EST


This patchset adds support for Vendor Defined Error types in the einj
module by exporting a binary blob file in module's debugfs directory.
Userspace tools can write OEM Defined Structures into the blob file as
part of injecting Vendor defined errors.

The first patch refactors available_error_type_show() function to ensure
all errors supported by the platform are output through einj module's
available_error_type file in debugfs.

The second patch adds a write callback for binary blobs created through
debugfs_create_blob() API.

The third adds the required support i.e. establishing the memory mapping
and exporting it through debugfs blob file for Vendor-defined Error types.

Changes in v2:
- Split the v1 patch, as was recommended, to have a separate patch for
changes in debugfs.
- Refactored available_error_type_show() function into a separate patch.
- Changed file permissions to octal format to remove checkpatch warnings.

Changes in v3:
- Use BIT macro for generating error masks instead of hex values since
ACPI spec uses bit numbers.
- Handle the corner case of acpi_os_map_iomem() returning NULL through
a local variable to a store the size of OEM defined data structure.

Avadhut Naik (3):
ACPI: APEI: EINJ: Refactor available_error_type_show()
fs: debugfs: Add write functionality to debugfs blobs
ACPI: APEI: EINJ: Add support for vendor defined error types

drivers/acpi/apei/einj.c | 67 +++++++++++++++++++++++++++-------------
fs/debugfs/file.c | 28 ++++++++++++++---
2 files changed, 69 insertions(+), 26 deletions(-)

--
2.34.1