Message ID | 20180625160440.10537-1-brgl@bgdev.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 06/25/2018 11:04 AM, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > The way this function is implemented caused some confusion when > converting the TI DaVinci platform to using the common clock framework. > > Current kernel supports booting DaVinci boards both in device tree as > well as legacy, board-file mode. In the latter, we always end up > calling clk_get_sys() as of_node is NULL and __of_clk_get_by_name() > returns -ENOENT. > > It was not obvious at first glance how clk_get(dev, NULL) will work in > board-file mode since we always call __of_clk_get_by_name(). Let's make > it clearer by checking if of_node is NULL and skipping right to > clk_get_sys(). > > Cc: Sekhar Nori <nsekhar@ti.com> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: David Lechner <david@lechnology.com> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- Reviewed-by: David Lechner <david@lechnology.com>
On Tuesday 26 June 2018 04:32 AM, David Lechner wrote: > On 06/25/2018 11:04 AM, Bartosz Golaszewski wrote: >> From: Bartosz Golaszewski <bgolaszewski@baylibre.com> >> >> The way this function is implemented caused some confusion when >> converting the TI DaVinci platform to using the common clock framework. >> >> Current kernel supports booting DaVinci boards both in device tree as >> well as legacy, board-file mode. In the latter, we always end up >> calling clk_get_sys() as of_node is NULL and __of_clk_get_by_name() >> returns -ENOENT. >> >> It was not obvious at first glance how clk_get(dev, NULL) will work in >> board-file mode since we always call __of_clk_get_by_name(). Let's make >> it clearer by checking if of_node is NULL and skipping right to >> clk_get_sys(). >> >> Cc: Sekhar Nori <nsekhar@ti.com> >> Cc: Kevin Hilman <khilman@baylibre.com> >> Cc: David Lechner <david@lechnology.com> >> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> >> --- > > Reviewed-by: David Lechner <david@lechnology.com> I think Russell previously said that the patch looks good to him. So you can probably just add it to his patch tracker. http://www.arm.linux.org.uk/developer/patches/add.php FWIW, you can also add: Reviewed-by: Sekhar Nori <nsekhar@ti.com> Thanks, Sekhar
diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c index 7513411140b6..f394e8964909 100644 --- a/drivers/clk/clkdev.c +++ b/drivers/clk/clkdev.c @@ -199,7 +199,7 @@ struct clk *clk_get(struct device *dev, const char *con_id) const char *dev_id = dev ? dev_name(dev) : NULL; struct clk *clk; - if (dev) { + if (dev && dev->of_node) { clk = __of_clk_get_by_name(dev->of_node, dev_id, con_id); if (!IS_ERR(clk) || PTR_ERR(clk) == -EPROBE_DEFER) return clk;