On Fri, Feb 25, 2022 at 01:24:51PM +0100, Pali Rohár wrote: > On Thursday 24 February 2022 14:28:43 Bjorn Helgaas wrote: > > On Tue, Feb 22, 2022 at 05:31:54PM +0100, Pali Rohár wrote: > > > These macros allows to easily compose and extract Slot Power Limit and > > > Physical Slot Number values from Slot Capability Register. > > > > > > Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> > > > Signed-off-by: Marek Behún <kabel@xxxxxxxxxx> > > > --- > > > include/uapi/linux/pci_regs.h | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h > > > index 108f8523fa04..3fc9a4cac630 100644 > > > --- a/include/uapi/linux/pci_regs.h > > > +++ b/include/uapi/linux/pci_regs.h > > > @@ -591,10 +591,13 @@ > > > #define PCI_EXP_SLTCAP_HPS 0x00000020 /* Hot-Plug Surprise */ > > > #define PCI_EXP_SLTCAP_HPC 0x00000040 /* Hot-Plug Capable */ > > > #define PCI_EXP_SLTCAP_SPLV 0x00007f80 /* Slot Power Limit Value */ > > > +#define PCI_EXP_SLTCAP_SPLV_SHIFT 7 /* Slot Power Limit Value shift */ > > > > Is there a way to use FIELD_PREP() and FIELD_GET() instead? It seems > > like that's what the cool kids are doing now. > > This is possible too. > > I have proposed a patch with _SHIFT macros as this is the way how are > other macros in this file defined and used. Yes, it's a mix. For some recent additions, I've resisted adding the _SHIFT macros on the theory that they clutter the file, they never change, and the main point of the #defines is readability and so grep/tags/etc can find things. There are a *few* users of FIELD_PREP() and FIELD_GET(): git grep -E "FIELD_(GET|PREP)\(PCI_EXP" and I'm inclined to go that direction in the future. What do you think? Bjorn