[PATCH 1/2] staging: sm7xxfb: start using module parameters

Subsystems: staging subsystem, the rest

STALE4151d

5 messages, 2 authors, 2015-03-24 · open the first message on its own page

[PATCH 1/2] staging: sm7xxfb: start using module parameters

From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date: 2015-03-24 04:50:21

add module parameters so that we can configure X and Y resolutions
and bpp when using this driver as a module.

Signed-off-by: Sudip Mukherjee <redacted>
---
 drivers/staging/sm7xxfb/sm7xxfb.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
diff --git a/drivers/staging/sm7xxfb/sm7xxfb.c b/drivers/staging/sm7xxfb/sm7xxfb.c
index abdb021..6e9b2aa 100644
--- a/drivers/staging/sm7xxfb/sm7xxfb.c
+++ b/drivers/staging/sm7xxfb/sm7xxfb.c
@@ -1033,6 +1033,24 @@ static int __init sm712fb_init(void)
 
 module_init(sm712fb_init);
 
+module_param(mode_option, charp, S_IRUGO);
+
+MODULE_PARM_DESC(mode_option, "\n\t\tOptions:\n"
+		 "\t\t0x301 = 640x480-8\n"
+		 "\t\t0x303 = 800x600-8\n"
+		 "\t\t0x305 = 1024x768-8\n"
+		 "\t\t0x307 = 1280x1024-8\n"
+		 "\t\t0x311 = 640x480-16\n"
+		 "\t\t0x314 = 800x600-16\n"
+		 "\t\t0x317 = 1024x768-16\n"
+		 "\t\t0x31A = 1280x1024-16\n"
+		 "\t\t0x312 = 640x480-24\n"
+		 "\t\t0x315 = 800x600-24\n"
+		 "\t\t0x318 = 1024x768-24\n"
+		 "\t\t0x31B = 1280x1024-24\n"
+		 "\t\tUsual example:\n"
+		 "\t\tinsmod ./sm7xxfb.ko mode_option=\"0x301\"\n");
+
 static void __exit sm712fb_exit(void)
 {
 	pci_unregister_driver(&smtcfb_driver);
-- 
1.8.1.2

[PATCH 2/2] staging: sm7xxfb: add MODULE_DEVICE_TABLE

From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date: 2015-03-24 04:50:27

add MODULE_DEVICE_TABLE to support hot-plugging.

Signed-off-by: Sudip Mukherjee <redacted>
---
 drivers/staging/sm7xxfb/sm7xxfb.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/staging/sm7xxfb/sm7xxfb.c b/drivers/staging/sm7xxfb/sm7xxfb.c
index 6e9b2aa..15509a6 100644
--- a/drivers/staging/sm7xxfb/sm7xxfb.c
+++ b/drivers/staging/sm7xxfb/sm7xxfb.c
@@ -922,6 +922,8 @@ static const struct pci_device_id smtcfb_pci_table[] = {
 	{0,}
 };
 
+MODULE_DEVICE_TABLE(pci, smtcfb_pci_table);
+
 static void smtcfb_pci_remove(struct pci_dev *pdev)
 {
 	struct smtcfb_info *sfb;
-- 
1.8.1.2

Re: [PATCH 1/2] staging: sm7xxfb: start using module parameters

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2015-03-24 09:48:34

On Tue, Mar 24, 2015 at 10:20:08AM +0530, Sudip Mukherjee wrote:
quoted hunk
add module parameters so that we can configure X and Y resolutions
and bpp when using this driver as a module.

Signed-off-by: Sudip Mukherjee <redacted>
---
 drivers/staging/sm7xxfb/sm7xxfb.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
diff --git a/drivers/staging/sm7xxfb/sm7xxfb.c b/drivers/staging/sm7xxfb/sm7xxfb.c
index abdb021..6e9b2aa 100644
--- a/drivers/staging/sm7xxfb/sm7xxfb.c
+++ b/drivers/staging/sm7xxfb/sm7xxfb.c
@@ -1033,6 +1033,24 @@ static int __init sm712fb_init(void)
 
 module_init(sm712fb_init);
 
+module_param(mode_option, charp, S_IRUGO);
+
+MODULE_PARM_DESC(mode_option, "\n\t\tOptions:\n"
+		 "\t\t0x301 = 640x480-8\n"
+		 "\t\t0x303 = 800x600-8\n"
+		 "\t\t0x305 = 1024x768-8\n"
+		 "\t\t0x307 = 1280x1024-8\n"
+		 "\t\t0x311 = 640x480-16\n"
+		 "\t\t0x314 = 800x600-16\n"
+		 "\t\t0x317 = 1024x768-16\n"
+		 "\t\t0x31A = 1280x1024-16\n"
+		 "\t\t0x312 = 640x480-24\n"
+		 "\t\t0x315 = 800x600-24\n"
+		 "\t\t0x318 = 1024x768-24\n"
+		 "\t\t0x31B = 1280x1024-24\n"
+		 "\t\tUsual example:\n"
+		 "\t\tinsmod ./sm7xxfb.ko mode_option=\"0x301\"\n");
+
That's funny :)

And how do you handle multiple devices in the system?

:(

Seriously, never use module parameters for device parameters, they are
two different things.  The framebuffer core has options for handling
modes, why not use them?

And yes, lots of framebuffer drivers do have crazy module parameters,
but that doesn't mean you have to perpetuate the insanity, please do
things properly here.

thanks,

greg k-h

Re: [PATCH 1/2] staging: sm7xxfb: start using module parameters

From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date: 2015-03-24 10:28:48

On Tue, Mar 24, 2015 at 10:48:26AM +0100, Greg Kroah-Hartman wrote:
On Tue, Mar 24, 2015 at 10:20:08AM +0530, Sudip Mukherjee wrote:
quoted
+		 "\t\t0x31B = 1280x1024-24\n"
+		 "\t\tUsual example:\n"
+		 "\t\tinsmod ./sm7xxfb.ko mode_option=\"0x301\"\n");
+
That's funny :)

And how do you handle multiple devices in the system?
frankly speaking, never got the idea about multiple devices.
:(

Seriously, never use module parameters for device parameters, they are
two different things.  The framebuffer core has options for handling
modes, why not use them?

And yes, lots of framebuffer drivers do have crazy module parameters,
but that doesn't mean you have to perpetuate the insanity, please do
things properly here.
i am learning from other framebuffer drivers. i guess i should only
see at skeletonfb.c and not the others.
please drop this 1/2 patch, do i need to resend the 2/2 which adds
the MODULE_DEVICE_TABLE ? 

regards
sudip
thanks,

greg k-h

Re: [PATCH 1/2] staging: sm7xxfb: start using module parameters

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2015-03-24 10:40:45

On Tue, Mar 24, 2015 at 03:58:35PM +0530, Sudip Mukherjee wrote:
On Tue, Mar 24, 2015 at 10:48:26AM +0100, Greg Kroah-Hartman wrote:
quoted
On Tue, Mar 24, 2015 at 10:20:08AM +0530, Sudip Mukherjee wrote:
quoted
+		 "\t\t0x31B = 1280x1024-24\n"
+		 "\t\tUsual example:\n"
+		 "\t\tinsmod ./sm7xxfb.ko mode_option=\"0x301\"\n");
+
That's funny :)

And how do you handle multiple devices in the system?
frankly speaking, never got the idea about multiple devices.
quoted
:(

Seriously, never use module parameters for device parameters, they are
two different things.  The framebuffer core has options for handling
modes, why not use them?

And yes, lots of framebuffer drivers do have crazy module parameters,
but that doesn't mean you have to perpetuate the insanity, please do
things properly here.
i am learning from other framebuffer drivers. i guess i should only
see at skeletonfb.c and not the others.
please drop this 1/2 patch, do i need to resend the 2/2 which adds
the MODULE_DEVICE_TABLE ? 
Please do, it's long gone from my queue.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help