Hi Stephen Thank you for your review
> > + init.parent_names = parent_names; > > + init.num_parents = ARRAY_SIZE(parent_names); > > + > > + priv->hw.init = &init; > > + > > + clk = clk_register(NULL, &priv->hw); > > How about using devm_clk_register() and passing the i2c device > down to this function? Can I confirm ? Does this "i2c device down" means call i2c_set_clientdata() in this function ? > > +static int cs2000_clk_init(struct cs2000_priv *priv) > > +{ > > + struct device *dev = priv_to_dev(priv); > > + struct device_node *np = dev->of_node; > > + u32 rate; > > + int ch = 0; /* it uses ch0 only at this point */ > > + int ret; > > + > > + if (of_property_read_u32(np, "clock-frequency", &rate)) > > Why can't we do this with DT assigned rates? What doesn this "DT assigned rates" mean ? this rate will be used as default output -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/