On Mon, 9 Dec 2019 16:20:10 +0100 Giulio Benetti <giulio.bene...@benettiengineering.com> wrote:
> Hi Lukasz, > > On 12/8/19 3:52 PM, Lukasz Majewski wrote: > > On Wed, 4 Dec 2019 18:44:33 +0100 > > Giulio Benetti <giulio.bene...@benettiengineering.com> wrote: > > > >> This driver assumes that lpuart clock is already enabled before > >> probing but using DM only lpuart won't be automatically enabled so > >> add clk_enable() when probing if CONFIG_CLK is defined. > >> > >> Signed-off-by: Giulio Benetti > >> <giulio.bene...@benettiengineering.com> --- > >> drivers/serial/serial_lpuart.c | 13 +++++++++++++ > >> 1 file changed, 13 insertions(+) > >> > >> diff --git a/drivers/serial/serial_lpuart.c > >> b/drivers/serial/serial_lpuart.c index 4b0a964d1b..52bd2baf7d > >> 100644 --- a/drivers/serial/serial_lpuart.c > >> +++ b/drivers/serial/serial_lpuart.c > >> @@ -483,6 +483,19 @@ static int lpuart_serial_pending(struct > >> udevice *dev, bool input) > >> static int lpuart_serial_probe(struct udevice *dev) > >> { > >> +#if CONFIG_IS_ENABLED(CLK) > >> + struct clk per_clk; > >> + int ret; > >> + > >> + ret = clk_get_by_name(dev, "per", &per_clk); > >> + if (ret) { > >> + dev_err(dev, "Failed to get per clk: %d\n", ret); > >> + return ret; > >> + } > >> + > >> + clk_enable(&per_clk); > >> +#endif > >> + > > > > I think that this change will _silently_ break all boards which do > > have CONFIG_CLK enabled (for some clocks/drivers), but did not yet > > provided CCF definition for lpuart clock. > > Oops, yes, you're totally right. > Would it be correct if I try to retrieve clock and otherwise I > fallback sending warnings like following?: > > ` > static int lpuart_serial_probe(struct udevice *dev) > { > #if CONFIG_IS_ENABLED(CLK) > struct clk per_clk; > int ret; > > ret = clk_get_by_name(dev, "per", &per_clk); > if (!ret) { > ret = clk_enable(&per_clk); > if (ret) { > dev_err(dev, "Failed to get per clk: %d\n", > ret); > return; > } > } else { > dev_warn(dev, "Failed to get per clk: %d\n", > ret); > } > #endif > Yes, warning is OK. > .... > > ` > > Best regards Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lu...@denx.de
pgpR6Mxx2Dtvc.pgp
Description: OpenPGP digital signature