lkml.org 
[lkml]   [2022]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v9 0/9] Add Ampere's Altra SMPro MFD and its child drivers
    Date
    The SMpro co-processor on Ampere Altra processor family is to monitor
    and report various data included hwmon-related info, RAS errors, and
    other miscellaneous information. The SMPro MFD driver initializes the
    register map and instantiates all sub-devices. All the specifics will
    be handled in the child drivers.

    This patch set includes support for Ampere SMpro hwmon, errmon, and
    misc as the child drivers. The hwmon driver supports accessing various
    CPU sensors provided by the SMpro co-processor including temperature,
    power, voltages, and current found on Ampere Altra processor family.
    The errmon driver supports monitoring and reporting RAS-related errors.
    The misc driver is to support reporting boot progress and other
    miscellaneous information.

    Discussion for v8:
    https://lore.kernel.org/all/20220422024653.2199489-1-quan@os.amperecomputing.com/

    v9:
    + Fix issue when building htmldocs [Bagas]
    + Insert 'break;' to avoid fall-through [kernel test robot]
    + Update SPDX license [Greg]
    + Fix messy goto [Greg]
    + Use ATTRIBUTE_GROUPS() [Greg]
    + Use dev_groups instead of sysfs_create_group() to avoid
    user space racing issue [Greg]
    + Fix ugly static struct define [Greg]
    + Rename smpro-mfd.c to smpro-core.c [Lee Jones]
    + Fix include files in alphabetical order [Lee Jones]
    + Add defines to avoid using magic numbers [Lee Jones]
    + Return -EINVAL if device does not match [Lee Jones]
    + Remove unnecessary comment [Lee Jones]
    + Remove unnecessary channel info for VRD and DIMM event [Quan]
    + Separate error_[smpro|pmpro] to error_* and warn_* [Quan]
    + Add minor refactor code [Quan]

    v8:
    + Insert 'break;' to avoid fall-through [kernel test robot]
    + Avoid uninitialized variable use [kernel test robot]
    + Remove unused #*_cells [Krzysztof]
    + Switch to use sysfs_emit() [Greg]
    + Sysfs to return single value only [Greg]
    + Fix KernelVerion field in Documentation/ABI/testing doc [Greg]
    + Change errors_* sysfs to error_* [Quan]
    + Add overflow_[core|mem|pcie|other]_[ce|ue] sysfs to report
    overflow status of each type of HW errors [Quan]
    + Update wording in Kconfig for smpro-errmon and smpro-misc [Quan]
    + Masks reserved bit when read 10-bit power value [Quan]
    + Add some minor refactor [Quan]

    v7:
    + Add docs to Documentation/ABI/testing [Greg]
    + Re-order patches to avoid compile dependency [Lee Jones]
    + Remove regmap_acquire/release_lock() [Quan]
    + Install regmap bus->read/write() to handle multiple types of bus
    access [Quan]
    + Replace i2c block read by regmap_noinc_read() [Quan]
    + Fix wrong return type of *show/store() [kernel test robot]
    + Update GPL version [Quan]
    + Add some others minor code refactor [Quan]

    v6:
    + Introduced smpro-errmon, smpro-misc as smpro-mfd sub-device [Quan]

    v5:
    + Introduced the smpro-mfd driver and drop the use of
    simple-mfd-i2c driver to avoid DT node with no resource in child
    device DT nodes [Rob]
    + Removed the use of reg DT property in child driver [Quan]
    + Validated ManufactureID when probing smpro-mfd drivers [Quan]
    + As child devices are instantiated by SMPro MFD driver, drop the
    ManufacturerID checking in child driver, ie: smpro-hwmon [Quan]
    + Revised commit messages [Quan]

    v4:
    + Revised commit message [Quan]
    + Fixed build issue found by kernel test robot [Guenter]
    + Returned regmap_read() error code [Guenter]

    v3:
    + Supported list of compatible string [Rob]
    + Introduced reg property in DT to specify reg offset [Rob]
    + Updated description and other minor changes in yaml file [Rob]
    + Handled negative temperature value [Guenter]
    + Returned -ENODEV if Manufacturer ID is wrong [Guenter]
    + Refactored smpro_read_string() and smpro_temp_read() [Guenter]
    + Removed smpro_write() function [Guenter]
    + Added minor refactor changes [Quan]

    v2:
    + Used 'struct of_device_id's .data attribute [Lee Jones]
    + Removed "virtual" sensors [Guenter]
    + Fixed typo "mili" to "milli", "nanoWatt" to "microWatt" [Guenter]
    + Reported SOC_TDP as "Socket TDP" using max attributes [Guenter]
    + Clarified "highest" meaning in documentation [Guenter]
    + Corrected return error code when host is turn off [Guenter]
    + Reported MEM HOT Threshold for all DIMMs as temp*_crit [Guenter]
    + Removed license info as SPDX-License-Identifier existed [Guenter]
    + Added is_visible() support [Guenter]
    + Used HWMON_CHANNEL_INFO() macro and LABEL attributes [Guenter]
    + Made is_valid_id() return boolean [Guenter]
    + Returned -EPROBE_DEFER when smpro reg inaccessible [Guenter]
    + Removed unnecessary error message when dev register fail [Guenter]
    + Removed Socket TDP sensor [Quan]
    + Changed "ampere,ac01-smpro" to "ampere,smpro" [Quan]
    + Included sensor type and channel in labels [Quan]
    + Refactorized code to fix checkpatch.pl --strict complaint [Quan]

    Quan Nguyen (9):
    hwmon: smpro: Add Ampere's Altra smpro-hwmon driver
    docs: hwmon: (smpro-hwmon) Add documentation
    misc: smpro-errmon: Add Ampere's SMpro error monitor driver
    docs: misc-devices: (smpro-errmon) Add documentation
    misc: smpro-misc: Add Ampere's Altra SMpro misc driver
    docs: misc-devices: (smpro-misc) Add documentation
    dt-bindings: mfd: Add bindings for Ampere Altra SMPro MFD driver
    mfd: Add Ampere's Altra SMpro MFD driver
    docs: ABI: testing: Document the Ampere Altra Family's SMpro sysfs
    interfaces

    .../sysfs-bus-platform-devices-ampere-smpro | 125 +++++
    .../devicetree/bindings/mfd/ampere,smpro.yaml | 42 ++
    Documentation/hwmon/index.rst | 1 +
    Documentation/hwmon/smpro-hwmon.rst | 101 ++++
    Documentation/misc-devices/index.rst | 2 +
    Documentation/misc-devices/smpro-errmon.rst | 193 +++++++
    Documentation/misc-devices/smpro-misc.rst | 82 +++
    drivers/hwmon/Kconfig | 8 +
    drivers/hwmon/Makefile | 1 +
    drivers/hwmon/smpro-hwmon.c | 463 +++++++++++++++
    drivers/mfd/Kconfig | 12 +
    drivers/mfd/Makefile | 1 +
    drivers/mfd/smpro-core.c | 138 +++++
    drivers/misc/Kconfig | 22 +
    drivers/misc/Makefile | 2 +
    drivers/misc/smpro-errmon.c | 529 ++++++++++++++++++
    drivers/misc/smpro-misc.c | 145 +++++
    17 files changed, 1867 insertions(+)
    create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
    create mode 100644 Documentation/devicetree/bindings/mfd/ampere,smpro.yaml
    create mode 100644 Documentation/hwmon/smpro-hwmon.rst
    create mode 100644 Documentation/misc-devices/smpro-errmon.rst
    create mode 100644 Documentation/misc-devices/smpro-misc.rst
    create mode 100644 drivers/hwmon/smpro-hwmon.c
    create mode 100644 drivers/mfd/smpro-core.c
    create mode 100644 drivers/misc/smpro-errmon.c
    create mode 100644 drivers/misc/smpro-misc.c

    --
    2.35.1

    \
     
     \ /
      Last update: 2022-09-29 11:45    [W:4.500 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site