[...]
+static const struct of_device_id scpi_power_domain_ids[] = {
+ { .compatible = "arm,scpi-power-domains", },
+ { /* sentinel */ }
+};
Actually I think you shouldn't implement this a standalone driver and
thus you can remove this compatible.
While I tend to agree, I did this to keep it aligned with other SCPI
users(clocks, sensors,.. for example).
I assume remove compatible just from driver ? IMO, it doesn't make sense
to add power domain provider without a compatible.
Instead, I think it's better if you let the arm_scpi driver to also
initialize the PM domain.
OK, I can do that.
If you still want the PM domain code to be maintained in a separate
file, just provide a header file which declares an
"scpi_pm_domain_init()" function (and a stub when not supported),
which the arm_scpi driver should call during ->probe().
I am fine with that, just that it deviates from the approach taken in
other subsystems as I mentioned above.
If DT maintainers are happy with you adding a compatible for this,
don't let me stop you from implementing this as standalone driver.
I have no strong opinions about it, so perhaps it's then better to not
deviate from other cases!?