On Sun, Aug 27, 2023 at 02:50:18PM +0300, Dmitry Baryshkov wrote: > Add a simple driver that handles scaling of L2 frequency and voltages. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > --- [...] > +static const struct of_device_id krait_l2_match_table[] = { > + { .compatible = "qcom,krait-l2-cache" }, > + {} > +}; > +MODULE_DEVICE_TABLE(of, krait_l2_match_table); > + > +static struct platform_driver krait_l2_driver = { > + .probe = krait_l2_probe, > + .remove = krait_l2_remove, > + .driver = { > + .name = "qcom-krait-l2", > + .of_match_table = krait_l2_match_table, > + .sync_state = icc_sync_state, > + }, > +}; As I mentioned in the other thread, cache devices already have a struct device. Specifically, they have a struct device (no subclass) on the cpu_subsys bus type. So there should be no need for a platform device and second struct device. See drivers/acpi/processor_driver.c for an example. Or grep any use of "cpu_subsys". Rob