PM / AVS: SmartReflex: Prepare to use device tree based probing
We are currently probing smartreflex with omap_device while we are
already probing smartreflex related interconnect target module with
ti-sysc driver and dts data.
Before we can flip things on for ti-sysc, we need to prepare the
smartreflex driver a bit:
1. The smartreflex clock is really for the whole interconnect target
module. So it may be configured at the parent device level with
ti-sysc
2. With ti-sysc, we have the child device manage interconnect target
module directly if pm_runtime_irq_safe() is set and there is only
one child. In that case nobody else is going to call pm_runtime_get
and put, so we need to add these calls to idle smartreflex properly
after probe if not fully configured
3. With ti-sysc, the parent driver may rebind. So we want to use
platform_driver_register() and don't want probe to be __init
Note that this patch depends on the related changes to ti-sysc driver
and omap_device probing to prevent both ti-sysc and omap_device to
try to probe smartreflex.
Cc: linux-pm@vger.kernel.org
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>