Messages in this thread | | | Subject | Re: [PATCH 07/14] clock: milbeaut: Add Milbeaut M10V clock control | From | "Sugaya, Taichi" <> | Date | Fri, 28 Dec 2018 15:38:58 +0900 |
| |
Hi
On 2018/12/28 9:39, Stephen Boyd wrote: > Quoting Sugaya, Taichi (2018-12-25 17:35:27) >> Hi >> >> On 2018/11/30 17:31, Stephen Boyd wrote: >>>> + init.num_parents = parents; >>>> + init.parent_names = parent_names; >>>> + >>>> + mcm->cname = clk_name; >>>> + mcm->parent = 0; >>>> + mcm->hw.init = &init; >>>> + >>>> + clk = clk_register(NULL, &mcm->hw); >>>> + if (IS_ERR(clk)) >>>> + goto err_clk; >>>> + >>>> + of_clk_add_provider(node, of_clk_src_simple_get, clk); >>>> + return; >>>> + >>>> +err_clk: >>>> + kfree(mcm); >>>> +err_mcm: >>>> + kfree(parent_names); >>>> +} >>>> +CLK_OF_DECLARE(m10v_clk_mux, "socionext,milbeaut-m10v-clk-mux", >>>> + m10v_clk_mux_setup); >>> >>> Any chance you can use a platform driver? >>> >> >> Excuse me to re-ask you. >> Why do you recommend to use a platform driver? Is that current fad? > > Not exactly a fad. We've been doing it for some time now. From an older > email on the list: > > Reasons (in no particular order): > > 1. We get a dev pointer to use with clk_hw_register() > > 2. We can handle probe defer if some resource is not available > > 3. Using device model gets us a hook into power management frameworks > like runtime PM and system PM for things like suspend and hibernate > > 4. It encourages a single DT node clk controller style binding > instead of a single node per clk style binding > > 5. We can use non-DT specific functions like devm_ioremap_resource() to map > registers and acquire other resources, leading to more portable and > generic code > > 6. We may be able to make the device driver a module, which will > make distros happy if we don't have to compile in all > these clk drivers to the resulting vmlinux >
Great thanks for answering. I strongly understand. #It takes a bit of time to send v2.
Best Regards, Sugaya Taichi
| |