Re: [PATCH 3/3] firmware: scpi: add device power domain support using genpd

From: Sudeep Holla
Date: Wed Jun 15 2016 - 09:44:16 EST




On 15/06/16 14:29, Ulf Hansson wrote:
[...]


+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 assume compatibles are always preferred even if they are not used to
make it future proof and may be that's why the binding was accepted. We
need to have a node to specify phandle in the consumers anyways, it's
always better to have separate node for each of the SCPI users/provider
(like clock, sensors, power domains) instead of pointing all to the one
SCPI node. Again that's just my view.

I have no strong opinions about it, so perhaps it's then better to not
deviate from other cases!?


OK, thanks. I will respin with Kconfig changes and retain the file in
drivers/firmware for now.

--
Regards,
Sudeep