Re: [PATCH] cxl: add missing MODULE_DESCRIPTION() macros
From: Jeff Johnson
Date: Tue Jun 04 2024 - 16:22:24 EST
On 6/4/2024 9:04 AM, Jonathan Cameron wrote:
> On Mon, 3 Jun 2024 21:48:53 -0700
> Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> wrote:
>
>> make allmodconfig && make W=1 C=1 reports:
>> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cxl/core/cxl_core.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cxl/cxl_pci.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cxl/cxl_mem.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cxl/cxl_acpi.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cxl/cxl_pmem.o
>> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cxl/cxl_port.o
>>
>> Add the missing invocations of the MODULE_DESCRIPTION() macro.
>>
>> Signed-off-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
>
> This has been irritating me as well. Need to do
> drivers/perf/cxl_pmu.c at somepoint as well but given that goes through
> a different maintainer makes sense to do separately.
>
> Only comment I have is that we should probably strive for more consistency
> than you currently have. Always expand CXL or never do, use
> colons consistently, use Support everywhere or nowhere.
I'm going through a bunch of these tree-wide, and usually just copy/paste
either from existing comments in the .c file or the description of any
associated Kconfig item.
>> ---
>> drivers/cxl/acpi.c | 1 +
>> drivers/cxl/core/port.c | 1 +
>> drivers/cxl/mem.c | 1 +
>> drivers/cxl/pci.c | 1 +
>> drivers/cxl/pmem.c | 1 +
>> drivers/cxl/port.c | 1 +
>> 6 files changed, 6 insertions(+)
>>
>> diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c
>> index 571069863c62..e51315ea4a6a 100644
>> --- a/drivers/cxl/acpi.c
>> +++ b/drivers/cxl/acpi.c
>> @@ -921,6 +921,7 @@ static void __exit cxl_acpi_exit(void)
>> /* load before dax_hmem sees 'Soft Reserved' CXL ranges */
>> subsys_initcall(cxl_acpi_init);
>> module_exit(cxl_acpi_exit);
>> +MODULE_DESCRIPTION("CXL ACPI: Platform Support");
>From Kconfig:
config CXL_ACPI
tristate "CXL ACPI: Platform Support"
>> MODULE_LICENSE("GPL v2");
>> MODULE_IMPORT_NS(CXL);
>> MODULE_IMPORT_NS(ACPI);
>> diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c
>> index 887ed6e358fb..ccaa00cd0321 100644
>> --- a/drivers/cxl/core/port.c
>> +++ b/drivers/cxl/core/port.c
>> @@ -2356,5 +2356,6 @@ static void cxl_core_exit(void)
>>
>> subsys_initcall(cxl_core_init);
>> module_exit(cxl_core_exit);
>> +MODULE_DESCRIPTION("CXL (Compute Express Link) Devices Support");
>
> Why the expanded version for this one?
>
> I'm not sure Devices really makes sense here, particularly as it
> likely a range of other driver will make some use of this core
> functionality over time. Maybe "CXL core" is sufficient?
>
>From Kconfig:
menuconfig CXL_BUS
tristate "CXL (Compute Express Link) Devices Support"
>> MODULE_LICENSE("GPL v2");
>> MODULE_IMPORT_NS(CXL);
>> diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c
>> index 0c79d9ce877c..1afb0e78082b 100644
>> --- a/drivers/cxl/mem.c
>> +++ b/drivers/cxl/mem.c
>> @@ -252,6 +252,7 @@ static struct cxl_driver cxl_mem_driver = {
>>
>> module_cxl_driver(cxl_mem_driver);
>>
>> +MODULE_DESCRIPTION("CXL: Memory Expansion");
>
> Why does this one get a colon? Also no Support at the end?
>From Kconfig:
config CXL_MEM
tristate "CXL: Memory Expansion"
>
>> MODULE_LICENSE("GPL v2");
>> MODULE_IMPORT_NS(CXL);
>> MODULE_ALIAS_CXL(CXL_DEVICE_MEMORY_EXPANDER);
>> diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
>> index e53646e9f2fb..2c17fcb1b4ee 100644
>> --- a/drivers/cxl/pci.c
>> +++ b/drivers/cxl/pci.c
>> @@ -1066,5 +1066,6 @@ static void __exit cxl_pci_driver_exit(void)
>>
>> module_init(cxl_pci_driver_init);
>> module_exit(cxl_pci_driver_exit);
>> +MODULE_DESCRIPTION("CXL PCI manageability");
Kconfig just has:
config CXL_PCI
tristate "PCI manageability"
I added CXL
>> MODULE_LICENSE("GPL v2");
>> MODULE_IMPORT_NS(CXL);
>> diff --git a/drivers/cxl/pmem.c b/drivers/cxl/pmem.c
>> index 2ecdaee63021..4ef93da22335 100644
>> --- a/drivers/cxl/pmem.c
>> +++ b/drivers/cxl/pmem.c
>> @@ -453,6 +453,7 @@ static __exit void cxl_pmem_exit(void)
>> cxl_driver_unregister(&cxl_nvdimm_bridge_driver);
>> }
>>
>> +MODULE_DESCRIPTION("CXL PMEM: Persistent Memory Support");
>From Kconfig:
config CXL_PMEM
tristate "CXL PMEM: Persistent Memory Support"
>> MODULE_LICENSE("GPL v2");
>> module_init(cxl_pmem_init);
>> module_exit(cxl_pmem_exit);
>> diff --git a/drivers/cxl/port.c b/drivers/cxl/port.c
>> index 97c21566677a..5ceff1df60db 100644
>> --- a/drivers/cxl/port.c
>> +++ b/drivers/cxl/port.c
>> @@ -209,6 +209,7 @@ static struct cxl_driver cxl_port_driver = {
>> };
>>
>> module_cxl_driver(cxl_port_driver);
>> +MODULE_DESCRIPTION("CXL Port Support");
This I just made up from the others since config CXL_PORT doesn't have a menu
description or help text and the .c file begins with:
* DOC: cxl port
>> MODULE_LICENSE("GPL v2");
>> MODULE_IMPORT_NS(CXL);
>> MODULE_ALIAS_CXL(CXL_DEVICE_PORT);
If you have specific edits you'd like me to make, I'm happy to make them.
I have no opinion on the content -- I just want to get rid of the warnings :)
/jeff