Hi Stephen-san, Thank you for your comments! > From: Stephen Boyd > Sent: Thursday, July 6, 2017 6:18 AM > > On 06/28, Yoshihiro Shimoda wrote: > > + > > + > > + platform_set_drvdata(pdev, priv); > > + dev_set_drvdata(dev, priv); > > + > > + init.name = "rcar_usb2_clock_sel"; > > + init.ops = &usb2_clock_sel_clock_ops; > > + init.flags = CLK_IS_BASIC; > > Please drop CLK_IS_BASIC unless you need it. I got it. > > + init.parent_names = NULL; > > + init.num_parents = 0; > > + priv->hw.init = &init; > > + > > + clk = clk_register(NULL, &priv->hw); > > + if (IS_ERR(clk)) > > + return PTR_ERR(clk); > > + > > + error = of_clk_add_provider(np, of_clk_src_simple_get, clk); > > Can you use clk_hw_register() and of_clk_add_hw_provider() > please? I could use of_clk_add_hw_provider(). Best regards, Yoshihiro Shimoda > > + if (error) > > + return error; > > + > > + return 0; > > +} > > + > > +static const struct dev_pm_ops rcar_usb2_clock_sel_pm_ops = { > > + .suspend = rcar_usb2_clock_sel_suspend, > > + .resume = rcar_usb2_clock_sel_resume, > > +}; > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, > a Linux Foundation Collaborative Project