Re: [PATCH V6 3/5] tty: serial: meson: Describes the calculation of the UART baud rate clock using a clock frame

From: Yu Tu
Date: Wed Jan 19 2022 - 01:00:58 EST


Hi Jiri,
Thank you very much for your patient reply.I learned a lot from your response.

On 2022/1/18 17:39, Jiri Slaby wrote:
[ EXTERNAL EMAIL ]

On 18. 01. 22, 4:09, Yu Tu wrote:
Using the common Clock code to describe the UART baud rate clock
makes it easier for the UART driver to be compatible with the
baud rate requirements of the UART IP on different meson chips.
...
--- a/drivers/tty/serial/meson_uart.c
+++ b/drivers/tty/serial/meson_uart.c
...
@@ -629,57 +640,105 @@ static struct uart_driver meson_uart_driver = {
      .cons        = MESON_SERIAL_CONSOLE,
  };
-static inline struct clk *meson_uart_probe_clock(struct device *dev,
-                         const char *id)
-{
-    struct clk *clk = NULL;
-    int ret;
-
-    clk = devm_clk_get(dev, id);
-    if (IS_ERR(clk))
-        return clk;
-
-    ret = clk_prepare_enable(clk);
-    if (ret) {
-        dev_err(dev, "couldn't enable clk\n");
-        return ERR_PTR(ret);
-    }
-
-    devm_add_action_or_reset(dev,
-            (void(*)(void *))clk_disable_unprepare,
-            clk);
-
-    return clk;
-}
+static struct clk_div_table xtal_div_table[] = {

This can be const, right?
You are right.

+    {0, 3},
+    {1, 1},
+    {2, 2},
+    {3, 2},

Not sure if you didn't remove too much whitespace. I think it should be like: "{ 0, 3 },". But I actually don't care, it's a minor thing.

Ok, I will correct it if it needs to be changed.
I cannot comment on the rest (clk and OF part) as my knowledge is pretty limited there. Leaving up to others.

Anyway, thanks for your reply.
thanks,