Re: [PATCH v2] hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable

From: Buland Singh
Date: Thu Dec 20 2018 - 08:43:02 EST


On 12/20/18 5:59 PM, Greg KH wrote:
On Thu, Dec 20, 2018 at 05:35:24PM +0530, Buland Singh wrote:
Commit '3d035f580699 ("drivers/char/hpet.c: allow user controlled mmap for
user processes")' introduced a new kernel command line parameter hpet_mmap,
that is required to expose the memory map of the HPET registers to
user-space. Unfortunately the kernel command line parameter 'hpet_mmap' is
broken and never takes effect due to missing '=' character in the __setup()
code of hpet_mmap_enable.

Before this patch:

dmesg output with the kernel command line parameter hpet_mmap=1

[ 0.204152] HPET mmap disabled

dmesg output with the kernel command line parameter hpet_mmap=0

[ 0.204192] HPET mmap disabled

After this patch:

dmesg output with the kernel command line parameter hpet_mmap=1

[ 0.203945] HPET mmap enabled

dmesg output with the kernel command line parameter hpet_mmap=0

[ 0.204652] HPET mmap disabled

Fixes: 3d035f580699 ("drivers/char/hpet.c: allow user controlled mmap for user processes")
Signed-off-by: Buland Singh <bsingh@xxxxxxxxxx>
---
drivers/char/hpet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 4a22b4b41aef..9bffcd37cc7b 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -377,7 +377,7 @@ static __init int hpet_mmap_enable(char *str)
pr_info("HPET mmap %s\n", hpet_mmap_enabled ? "enabled" : "disabled");
return 1;
}
-__setup("hpet_mmap", hpet_mmap_enable);
+__setup("hpet_mmap=", hpet_mmap_enable);

Hello Greag,

This has _never_ worked? Since 3.13?

Yes, that's true :)

Why not just remove the thing as it is obvious no one actually has ever used it. > That would make the code even simpler :)

Data Plane Development Kit (DPDK)[1] provides API that requires the CONFIG_HPET_MMAP
kernel configuration option to be enabled[2]. Some end users might want to use the
HPET MMAP functionality within the application.
Regards,
Buland Singh

[1] https://www.dpdk.org
[2] https://doc.dpdk.org/guides-18.08/linux_gsg/enable_func.html