[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <dc0d7cb8-e855-3453-25e4-e2caa77e6d7f@sifive.com>
Date: Mon, 24 Jul 2023 19:19:05 -0500
From: Samuel Holland <samuel.holland@...ive.com>
To: Emil Renner Berthing <emil.renner.berthing@...onical.com>
Cc: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Conor Dooley <conor.dooley@...rochip.com>,
Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Yang Li <yang.lee@...ux.alibaba.com>,
linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org
Subject: Re: [PATCH 2/2] clk: sifive: Allow building the driver as a module
On 2023-07-19 9:18 AM, Emil Renner Berthing wrote:
> On Wed, 19 Jul 2023 at 10:07, Samuel Holland <samuel.holland@...ive.com> wrote:
>>
>> This can reduce the kernel image size in multiplatform configurations.
>
> I don't mind this, but booting without this driver also means there is
> no uart for debug output or any other peripheral until the kernel gets
> to the initrd to load the driver. Does the earlycon console work all
> the way until we reach the initrd? Otherwise I can't imagine many
> scenarios where configuring this as a module is desirable.
Thanks for the review.
Yes, an "earlycon" command-line argument still works after this change, since
the stdout-path UART already has its clock set up by a previous boot stage.
>> Signed-off-by: Samuel Holland <samuel.holland@...ive.com>
>> ---
>>
>> drivers/clk/sifive/Kconfig | 2 +-
>> drivers/clk/sifive/sifive-prci.c | 8 +++-----
>> 2 files changed, 4 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/clk/sifive/Kconfig b/drivers/clk/sifive/Kconfig
>> index 2322f634a910..49597d95602e 100644
>> --- a/drivers/clk/sifive/Kconfig
>> +++ b/drivers/clk/sifive/Kconfig
>> @@ -10,7 +10,7 @@ menuconfig CLK_SIFIVE
>> if CLK_SIFIVE
>>
>> config CLK_SIFIVE_PRCI
>> - bool "PRCI driver for SiFive SoCs"
>> + tristate "PRCI driver for SiFive SoCs"
>> default ARCH_SIFIVE
>> select RESET_CONTROLLER
>> select RESET_SIMPLE
>> diff --git a/drivers/clk/sifive/sifive-prci.c b/drivers/clk/sifive/sifive-prci.c
>> index e317f3454e93..8c67d1a7c8df 100644
>> --- a/drivers/clk/sifive/sifive-prci.c
>> +++ b/drivers/clk/sifive/sifive-prci.c
>> @@ -7,6 +7,7 @@
>> #include <linux/clkdev.h>
>> #include <linux/delay.h>
>> #include <linux/io.h>
>> +#include <linux/module.h>
>> #include <linux/of_device.h>
>> #include "sifive-prci.h"
>> #include "fu540-prci.h"
>> @@ -618,9 +619,6 @@ static struct platform_driver sifive_prci_driver = {
>> },
>> .probe = sifive_prci_probe,
>> };
>> +module_platform_driver(sifive_prci_driver);
>>
>> -static int __init sifive_prci_init(void)
>> -{
>> - return platform_driver_register(&sifive_prci_driver);
>> -}
>> -core_initcall(sifive_prci_init);
>
> Maybe also add the MODULE_AUTHOR() and MODULE_DESCRIPTION() macros
> while you're at it.
Will do.
>> +MODULE_LICENSE("GPL");
>> --
>> 2.40.1
>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv@...ts.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
Powered by blists - more mailing lists