[PATCH v3 0/4] Simplify PCIe hotplug indicator control

From: Denis Efremov
Date: Mon Aug 19 2019 - 12:07:14 EST


PCIe defines two optional hotplug indicators: a Power indicator and an
Attention indicator. Both are controlled by the same register, and each
can be on, off or blinking. The current interfaces
(pciehp_green_led_{on,off,blink}() and pciehp_set_attention_status()) are
non-uniform and require two register writes in many cases where we could
do one.

This patchset introduces the new function pciehp_set_indicators(). It
allows one to set two indicators with a single register write. All
calls to previous interfaces (pciehp_green_led_* and
pciehp_set_attention_status()) are replaced with a new one. Thus,
the amount of duplicated code for setting indicators is reduced.

Changes in v3:
- Changed pciehp_set_indicators() to work with existing
PCI_EXP_SLTCTL_* macros
- Reworked the inputs validation in pciehp_set_indicators()
- Removed pciehp_set_attention_status() and pciehp_green_led_*()
completely

Denis Efremov (4):
PCI: pciehp: Add pciehp_set_indicators() to jointly set LED indicators
PCI: pciehp: Switch LED indicators with a single write
PCI: pciehp: Remove pciehp_set_attention_status()
PCI: pciehp: Remove pciehp_green_led_{on,off,blink}()

drivers/pci/hotplug/pciehp.h | 5 +-
drivers/pci/hotplug/pciehp_core.c | 7 ++-
drivers/pci/hotplug/pciehp_ctrl.c | 31 +++++++-----
drivers/pci/hotplug/pciehp_hpc.c | 82 ++++++++++---------------------
include/uapi/linux/pci_regs.h | 3 ++
5 files changed, 54 insertions(+), 74 deletions(-)

--
2.21.0