public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Németh Márton" <nm127@freemail.hu>
To: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Richard Purdie <rpurdie@rpsys.net>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-kernel@vger.kernel.org, Rodrigo Pereira <rodripe@gmail.com>
Subject: Re: [PATCH 3/3] leds-clevo-mail: driver for Clevo mail LED
Date: Sun, 21 Oct 2007 14:52:53 +0200	[thread overview]
Message-ID: <471B4BA5.30100@freemail.hu> (raw)
In-Reply-To: <20071019133607.3419b00a.randy.dunlap@oracle.com>

Randy Dunlap wrote:
> On Fri, 19 Oct 2007 20:52:52 +0200 Németh Márton wrote:
> 
>> From: Márton Németh <nm127@freemail.hu>
>>
>> The driver supports the mail LED commonly found on different Clevo notebooks.
>> The driver access the LED through the i8042 hardware and implements the support for
>> hardware accelerated blink function.
>>
>> Signed-off-by: Márton Németh <nm127@freemail.hu>
>> ---
>> diff -uprN linux-2.6.23.orig/drivers/leds/Kconfig linux-2.6.23/drivers/leds/Kconfig
>> --- linux-2.6.23.orig/drivers/leds/Kconfig	2007-10-09 22:31:38.000000000 +0200
>> +++ linux-2.6.23/drivers/leds/Kconfig	2007-10-18 07:20:12.000000000 +0200
>> @@ -101,6 +101,26 @@ config LEDS_GPIO
>>  	  outputs. To be useful the particular board must have LEDs
>>  	  and they must be connected to the GPIO lines.
>>
>> +config LEDS_CLEVO_MAIL
>> +	tristate "Mail LED on Clevo notebook (EXPERIMENTAL)"
>> +	depends on LEDS_CLASS && X86 && SERIO_I8042 && DMI && EXPERIMENTAL
>> +	help
>> +	  This driver makes the mail LED accessible from userspace
>> +	  programs through the leds subsystem. This LED can blink at
>> +	  about 0.5Hz and 1Hz.
> 
> ?:
> 	  can blink 1 time every 1 or 2 seconds.

It has three modes, I'll try to explain this in more detail in my next patch version.

> 
>> +	  This module can drive the mail LED for the following notebooks:
>> +
>> +		Clevo D410J
>> +		Clevo D410V
>> +		Clevo D400V/D470V (not tested, but might work)
>> +		Clevo M540N
>> +		Clevo M5x0N (not tested, but might work)
>> +		Positivo Mobile (Clevo M5x0V)
>> +
>> +	  To compile this driver as a module, choose M here: the
>> +	  module will be called leds-clevo-mail.
>> +
>  comment "LED Triggers"
>
>  config LEDS_TRIGGERS

I'll document the led trigger extension in more detail in the next
version of the "[PATCH 2/3] leds-clevo-mail: hw accelerated LED blink extension",
in drivers/leds/Kconfig.

>> +#define TRUE				1
>> +#define FALSE				0
> 
> Just use true / false.

I'll delete these #defines.

>> +#define HANDLED				0
>> +
>> +#define CLEVO_MAIL_LED_OFF		0x0084
>> +#define CLEVO_MAIL_LED_BLINK_1HZ	0x008A
>> +#define CLEVO_MAIL_LED_BLINK_0_5HZ	0x0083
>> +
>> +#define MODULE_FNAME		"leds-clevo-mail.c"
>> +#define DRVNAME			"clevo-mail-led"
> 
> Kbuild provides KBUILD_BASENAME and KBUILD_MODNAME.  Can you use
> one of those?

I'll use KBUILD_MODNAME instead.

>> +#define NO_RESOURCES		NULL
> 
> Just use NULL.

I'll delete NO_RESOURCES.

>> +static int __init clevo_mail_led_dmi_callback(struct dmi_system_id *id)
>> +{
>> +	printk(KERN_INFO MODULE_FNAME ": '%s' found\n", id->ident);
> 
> MODULE_FNAME string looks too long and out of place here.

I'll replace MODULE_FNAME with KBUILD_MODNAME. Is this what you mean?

>> +/**
> 
> /** introduces kernel-doc, but there is no following kernel-doc....,
> so just use /*, please.

OK, I'll replace.

>> +static struct led_classdev clevo_mail_led = {
>> +	.name			= "clevo::mail",
> 
> What's the purpose of the "::"?

Here I have the problem that the different laptop models have
different colors of mail LED. So I left out the color and
introduced the type of the LED which is "mail". I'll try to
document this in Documents/leds-class.txt

>> +static struct platform_driver clevo_mail_led_driver = {
>> +	.probe		= clevo_mail_led_probe,
>> +	.remove		= clevo_mail_led_remove,
>> +#ifdef CONFIG_PM
>> +	.suspend	= clevo_mail_led_suspend,
>> +	.resume		= clevo_mail_led_resume,
>> +#endif
>> +	.driver		= {
>> +		.name		= DRVNAME,
>> +	},
>> +};
> 
> We prefer to have clevo_mail_led_susped() and _resume() defined
> all the time, so that the above  ifdef & endif can go away, so
> do more like:
> 
> #ifdef CONFIG_PM
> /* those functions as you have them */
> #else
> #define clevo_mail_led_suspend	NULL
> #define clevo_mail_led_resume	NULL
> #endif

I'll change this to what you proposed.

>> +	if (!count) {
>> +		return -ENODEV;
>> +	}
> 
> Don't use braces on one-statement/one-line "blocks."

I'll remove the braces for the on-line expression.

>> +	pdev = platform_device_register_simple(DRVNAME, -1, NO_RESOURCES, 0);
>> +	if (!IS_ERR(pdev)) {
>> +		error = platform_driver_probe(&clevo_mail_led_driver,
>> +					      clevo_mail_led_probe);
>> +		if (error) {
>> +			printk(KERN_ERR MODULE_FNAME
> 
> Use the module logical name, not source file name.

I'll use KBUILD_MODNAME instead.

> ---
> ~Randy

Márton Németh

  reply	other threads:[~2007-10-21 12:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-19 18:52 [PATCH 3/3] leds-clevo-mail: driver for Clevo mail LED Németh Márton
2007-10-19 20:36 ` Randy Dunlap
2007-10-21 12:52   ` Németh Márton [this message]
2007-10-21 12:55     ` Németh Márton
2007-10-23 21:48       ` Richard Purdie
2007-10-28 11:22         ` Németh Márton
2007-10-31 14:14           ` Richard Purdie
  -- strict thread matches above, loose matches on Subject: below --
2007-07-17 10:18 Németh Márton
2007-07-17 13:20 ` Dmitry Torokhov
2007-07-17 18:13 ` Németh Márton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=471B4BA5.30100@freemail.hu \
    --to=nm127@freemail.hu \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    --cc=rodripe@gmail.com \
    --cc=rpurdie@rpsys.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox