On Wed, Jun 5, 2024 at 7:47 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > > > > > > wifi@0 { > > > compatible = "pci17cb,1101", "wlan-pwrseq"; > > > > What even is "pwrseq" in the context of the hardware description? DT > > maintainers would like to have a word with you. :) > > There are "compatible" strings like "simple-bus", "simple-mfd", and > "syscon" that allow drivers to bind and provide generic functionality > when they don't need to know the exact hardware. > There's a difference however: a "simple bus" is a thing. A "simple multifunction device" is also an actual thing. A "pwrseq" or "power-sequencer" is not a thing, it's a functionality. And we don't describe it in device-tree. Rob has said before that he regrets having merged the mmc pwrseq bindings back in the day and that he wouldn't do it again now because it describes what HW does and not what it is. In this case the PMU is simply a PMIC and the bindings I'm proposing describe it as such. But what you're proposing is even worse: this is the ath1x module of the larger chipset (power sequencee rather than sequencer) so naming it "wlan-pwrseq" makes absolutely no sense at all. It's a PCI device whose ID is 0x17cb1101 and the device tree describes it as such. > > > and pci_pwrctl_pwrseq_of_match[] had this: > > > > > > { .compatible = "wlan-pwrseq", .data = "wlan", } > > > > > > Wouldn't this pci-pwrctl-pwrseq driver work the same? I'm not a DT > > > whiz, so likely I'm missing something, but it would be nice if we > > > didn't have to update this very generic-looking driver to add every > > > device that needs it. > > Do you have any other ideas to reduce the churn in this file? It just > seems weird to have to add an ID to this file without adding any > actual code or data related to it. > Is it really that much churn though? You'd save 4 lines of code? I think this is premature optimization, we'll see about unifying it when we have several models supported, right now with two, I'd just leave it as is and not seek perfection. > We should probably also add a pattern to MAINTAINERS so > get_maintainers.pl on this file will show you as a maintainer. > Makes sense. Bartosz > Bjorn