On Tue, Nov 13, 2018 at 11:39:12AM -0600, Dave Gerlach wrote:
Currently the ti-cpufreq driver blindly registers a 'ti-cpufreq' to force
the driver to probe on any platforms where the driver is built in.
However, this should only happen on platforms that actually can make use
of the driver. There is already functionality in place to match the
SoC compatible so let's factor this out into a separate call and
make sure we find a match before creating the ti-cpufreq platform device.
Reviewed-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Dave Gerlach <redacted>
---
v2->v3: Use platform_device_register_resndata to pass match data to probe to
to avoid matching again in probe.
v2: https://patchwork.kernel.org/patch/10574535/
static int ti_cpufreq_init(void)
{
- platform_device_register_simple("ti-cpufreq", -1, NULL, 0);
+ const struct of_device_id *match;
+
+ /* Check to ensure we are on a compatible platform */
+ match = ti_cpufreq_match_node();
+ if (match)
+ platform_device_register_resndata(NULL, "ti-cpufreq", -1, NULL,
+ 0, match,
+ sizeof(*match));
platform_device_register_data()?
return 0;
}
module_init(ti_cpufreq_init);
Johan