Message ID | c0acc51a7210fb30cae7b26f4ad1f0449beed95e.1738963156.git.andrea.porta@suse.com |
---|---|
State | New |
Headers | show |
Series | Add support for RaspberryPi RP1 PCI device using a DT overlay | expand |
Hello, [...] > diff --git a/MAINTAINERS b/MAINTAINERS > index d45c88955072..af2e4652bf3b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -19752,6 +19752,7 @@ RASPBERRY PI RP1 PCI DRIVER > M: Andrea della Porta <andrea.porta@suse.com> > S: Maintained > F: Documentation/devicetree/bindings/clock/raspberrypi,rp1-clocks.yaml > +F: Documentation/devicetree/bindings/pci/pci-ep-bus.yaml > F: Documentation/devicetree/bindings/pinctrl/raspberrypi,rp1-gpio.yaml > F: include/dt-bindings/clock/rp1.h > F: include/dt-bindings/misc/rp1.h I would be happy to pick this via the PCI tree as per the standard operating procedure. However, the MAINTAINERS changes do not exist for us yet, and are added in the first patch of the series, which is not ideal. I can add the missing dependency manually, but that would cause issues for linux-next tree, which is also not ideal. I saw some review feedback, as such, when you are going to be sending another version, can you make MAINTAINERS changes to be the last patch, perhaps. Basically, something standalone that perhaps whoever will pick the misc patch could also pick and apply at the same time. Alternatively, someone else picking up the PCI dt-bindings would work, too. Your thoughts? Thank you! Krzysztof
On Mon, Mar 10, 2025 at 4:21 PM Krzysztof Wilczynski <kw@linux.com> wrote: > > Hello, > > [...] > > diff --git a/MAINTAINERS b/MAINTAINERS > > index d45c88955072..af2e4652bf3b 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -19752,6 +19752,7 @@ RASPBERRY PI RP1 PCI DRIVER > > M: Andrea della Porta <andrea.porta@suse.com> > > S: Maintained > > F: Documentation/devicetree/bindings/clock/raspberrypi,rp1-clocks.yaml > > +F: Documentation/devicetree/bindings/pci/pci-ep-bus.yaml > > F: Documentation/devicetree/bindings/pinctrl/raspberrypi,rp1-gpio.yaml > > F: include/dt-bindings/clock/rp1.h > > F: include/dt-bindings/misc/rp1.h > > I would be happy to pick this via the PCI tree as per the standard > operating procedure. However, the MAINTAINERS changes do not exist > for us yet, and are added in the first patch of the series, which is > not ideal. > > I can add the missing dependency manually, but that would cause issues > for linux-next tree, which is also not ideal. > > I saw some review feedback, as such, when you are going to be sending > another version, can you make MAINTAINERS changes to be the last patch, > perhaps. Basically, something standalone that perhaps whoever will pick > the misc patch could also pick and apply at the same time. > > Alternatively, someone else picking up the PCI dt-bindings would work, too. > > Your thoughts? I guess I missed this in review, but why is a common schema buried in a device maintainer entry? Also, an entry in MAINTAINERS is redundant anyway because get_maintainers.pl can fetch maintainers from the schema file. Rob
diff --git a/Documentation/devicetree/bindings/pci/pci-ep-bus.yaml b/Documentation/devicetree/bindings/pci/pci-ep-bus.yaml new file mode 100644 index 000000000000..33479a5b40c6 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/pci-ep-bus.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/pci-ep-bus.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Common Properties for PCI MFD EP with Peripherals Addressable from BARs + +maintainers: + - Andrea della Porta <andrea.porta@suse.com> + +description: + Define a generic node representing a PCI endpoint which contains several sub- + peripherals. The peripherals can be accessed through one or more BARs. + This common schema is intended to be referenced from device tree bindings, and + does not represent a device tree binding by itself. + +properties: + '#address-cells': + const: 3 + + '#size-cells': + const: 2 + + ranges: + minItems: 1 + maxItems: 6 + items: + maxItems: 8 + additionalItems: true + items: + - maximum: 5 # The BAR number + - const: 0 + - const: 0 + +patternProperties: + '^pci-ep-bus@[0-5]$': + type: object + description: + One node for each BAR used by peripherals contained in the PCI endpoint. + Each node represent a bus on which peripherals are connected. + This allows for some segmentation, e.g. one peripheral is accessible + through BAR0 and another through BAR1, and you don't want the two + peripherals to be able to act on the other BAR. Alternatively, when + different peripherals need to share BARs, you can define only one node + and use 'ranges' property to map all the used BARs. + + additionalProperties: true + + properties: + compatible: + const: simple-bus + + required: + - compatible + +additionalProperties: true +... diff --git a/MAINTAINERS b/MAINTAINERS index d45c88955072..af2e4652bf3b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19752,6 +19752,7 @@ RASPBERRY PI RP1 PCI DRIVER M: Andrea della Porta <andrea.porta@suse.com> S: Maintained F: Documentation/devicetree/bindings/clock/raspberrypi,rp1-clocks.yaml +F: Documentation/devicetree/bindings/pci/pci-ep-bus.yaml F: Documentation/devicetree/bindings/pinctrl/raspberrypi,rp1-gpio.yaml F: include/dt-bindings/clock/rp1.h F: include/dt-bindings/misc/rp1.h