Message ID | 20190811195944.23765-4-efremov@linux.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Simplify PCIe hotplug indicator control | expand |
On Sun, Aug 11, 2019 at 10:59:43PM +0300, Denis Efremov wrote: > +#define pciehp_set_attention_status(ctrl, status) \ > + pciehp_set_indicators(ctrl, PWR_NONE, (status == 0 ? ATTN_OFF : status)) Reviewed-by: Lukas Wunner <lukas@wunner.de> Good catch regarding the translation of the "off" value that's needed here.
Hi, On 8/11/19 12:59 PM, Denis Efremov wrote: > This patch replaces pciehp_set_attention_status() with > pciehp_set_indicators(). > > Signed-off-by: Denis Efremov <efremov@linux.com> Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> > --- > drivers/pci/hotplug/pciehp.h | 4 +++- > drivers/pci/hotplug/pciehp_hpc.c | 25 ------------------------- > 2 files changed, 3 insertions(+), 26 deletions(-) > > diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h > index 17305a6f01f1..9a2a2d0db9d2 100644 > --- a/drivers/pci/hotplug/pciehp.h > +++ b/drivers/pci/hotplug/pciehp.h > @@ -181,7 +181,6 @@ void pciehp_get_power_status(struct controller *ctrl, u8 *status); > void pciehp_set_indicators(struct controller *ctrl, > enum pciehp_indicator pwr, > enum pciehp_indicator attn); > -void pciehp_set_attention_status(struct controller *ctrl, u8 status); > void pciehp_get_latch_status(struct controller *ctrl, u8 *status); > int pciehp_query_power_fault(struct controller *ctrl); > void pciehp_green_led_on(struct controller *ctrl); > @@ -200,6 +199,9 @@ int pciehp_get_attention_status(struct hotplug_slot *hotplug_slot, u8 *status); > int pciehp_set_raw_indicator_status(struct hotplug_slot *h_slot, u8 status); > int pciehp_get_raw_indicator_status(struct hotplug_slot *h_slot, u8 *status); > > +#define pciehp_set_attention_status(ctrl, status) \ > + pciehp_set_indicators(ctrl, PWR_NONE, (status == 0 ? ATTN_OFF : status)) > + > static inline const char *slot_name(struct controller *ctrl) > { > return hotplug_slot_name(&ctrl->hotplug_slot); > diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c > index 68b880bc30db..fb4bea16063a 100644 > --- a/drivers/pci/hotplug/pciehp_hpc.c > +++ b/drivers/pci/hotplug/pciehp_hpc.c > @@ -418,31 +418,6 @@ int pciehp_set_raw_indicator_status(struct hotplug_slot *hotplug_slot, > return 0; > } > > -void pciehp_set_attention_status(struct controller *ctrl, u8 value) > -{ > - u16 slot_cmd; > - > - if (!ATTN_LED(ctrl)) > - return; > - > - switch (value) { > - case 0: /* turn off */ > - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_OFF; > - break; > - case 1: /* turn on */ > - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_ON; > - break; > - case 2: /* turn blink */ > - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_BLINK; > - break; > - default: > - return; > - } > - pcie_write_cmd_nowait(ctrl, slot_cmd, PCI_EXP_SLTCTL_AIC); > - ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__, > - pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, slot_cmd); > -} > - > void pciehp_set_indicators(struct controller *ctrl, > enum pciehp_indicator pwr, > enum pciehp_indicator attn)
diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h index 17305a6f01f1..9a2a2d0db9d2 100644 --- a/drivers/pci/hotplug/pciehp.h +++ b/drivers/pci/hotplug/pciehp.h @@ -181,7 +181,6 @@ void pciehp_get_power_status(struct controller *ctrl, u8 *status); void pciehp_set_indicators(struct controller *ctrl, enum pciehp_indicator pwr, enum pciehp_indicator attn); -void pciehp_set_attention_status(struct controller *ctrl, u8 status); void pciehp_get_latch_status(struct controller *ctrl, u8 *status); int pciehp_query_power_fault(struct controller *ctrl); void pciehp_green_led_on(struct controller *ctrl); @@ -200,6 +199,9 @@ int pciehp_get_attention_status(struct hotplug_slot *hotplug_slot, u8 *status); int pciehp_set_raw_indicator_status(struct hotplug_slot *h_slot, u8 status); int pciehp_get_raw_indicator_status(struct hotplug_slot *h_slot, u8 *status); +#define pciehp_set_attention_status(ctrl, status) \ + pciehp_set_indicators(ctrl, PWR_NONE, (status == 0 ? ATTN_OFF : status)) + static inline const char *slot_name(struct controller *ctrl) { return hotplug_slot_name(&ctrl->hotplug_slot); diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 68b880bc30db..fb4bea16063a 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -418,31 +418,6 @@ int pciehp_set_raw_indicator_status(struct hotplug_slot *hotplug_slot, return 0; } -void pciehp_set_attention_status(struct controller *ctrl, u8 value) -{ - u16 slot_cmd; - - if (!ATTN_LED(ctrl)) - return; - - switch (value) { - case 0: /* turn off */ - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_OFF; - break; - case 1: /* turn on */ - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_ON; - break; - case 2: /* turn blink */ - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_BLINK; - break; - default: - return; - } - pcie_write_cmd_nowait(ctrl, slot_cmd, PCI_EXP_SLTCTL_AIC); - ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__, - pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, slot_cmd); -} - void pciehp_set_indicators(struct controller *ctrl, enum pciehp_indicator pwr, enum pciehp_indicator attn)
This patch replaces pciehp_set_attention_status() with pciehp_set_indicators(). Signed-off-by: Denis Efremov <efremov@linux.com> --- drivers/pci/hotplug/pciehp.h | 4 +++- drivers/pci/hotplug/pciehp_hpc.c | 25 ------------------------- 2 files changed, 3 insertions(+), 26 deletions(-)