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

From: Bjorn Helgaas
Date: Tue Aug 27 2019 - 18:53:25 EST


On Tue, Aug 27, 2019 at 05:32:54PM -0500, Bjorn Helgaas wrote:
> On Tue, Aug 20, 2019 at 03:16:43PM +0300, Denis Efremov wrote:
> > On 8/19/19 7:06 PM, Denis Efremov wrote:
> > > 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}()
> >
> > Lukas, Sathyanarayanan, sorry that I've dropped most of yours "Reviewed-by".
> > The changes in the last 2 patches were significant.
>
> Anybody want to review these?

Unrelated, but if anybody is looking at pciehp, is there value in
having pciehp split across five files?

drivers/pci/hotplug/pciehp.h
drivers/pci/hotplug/pciehp_core.c
drivers/pci/hotplug/pciehp_ctrl.c
drivers/pci/hotplug/pciehp_hpc.c
drivers/pci/hotplug/pciehp_pci.c

To me, it just makes things harder because when I'm browsing for
something in pciehp and I don't know the exact name of it, I have to
guess which file it's in, and I'm invariably wrong.

It seems like it would be much simpler if everything were in a single
pciehp.c file. Then we could also get rid of the header and make
several more things static.

Bjorn