Thread (1 message) 1 message, 1 author, 2004-08-20

Re: [PATCH]Panasonic Hotkey Driver v0.5 [2/2]

From: Hiroshi Miura <hidden>
Date: 2004-08-20 08:43:04

At Fri, 20 Aug 2004 00:44:47 -0700,
David Bronaugh wrote:
Hiroshi Miura wrote:
quoted
Hi,

This is incremental bkpatch against pcc_acpi driver v0.4.
It is made using bkexport.
 <CUT>
 
quoted
+static int* sinf;
+static int num_sifr;
 
Is this really necessary...? Maybe this is just me hating globals.
From Panasonic BIOS specification, driver must alloc memory that quantity
is gotten by SQTY. Ok, I'll try remove this.
 
quoted
-static char*
-read_nothing(char* p)
-{
-	/* nothing to do*/
-	return p;
+	if ((sinf = (int*)kmalloc(sizeof(int) * (num_sifr + 1), GFP_KERNEL)) == NULL ) {
+		status = AE_ERROR;
+	}
Doesn't this introduce a memory leak at module unload time? I don't see 
any corresponding kfree()...
kfree() exists on v0.4 patch, i think. 
<SNIP>
quoted
+static char*
+acpi_pcc_read_brightness(char* p)
+{
+	int i;
+
+	if (!acpi_pcc_retrive_biosdata())
+		return p;
+
+	for (i = 2; i < 8 ; i++) {
+		p += sprintf(p, "%d",	sinf[i]);
+		switch (i) {
+		case 2:
+		case 3:
+		case 5:
+		case 6:
+			p += sprintf(p, ",");
+			break;
+		case 4:
+		case 7:
+			p += sprintf(p, "\n");
+			break;
+		default:
+			p += sprintf(p, ","); 
+		}
+	}
+	
 
The for loop immediately above could be reduced to:
p += sprintf(p, "%d,%d,%d\n", sinf[2], sinf[3], sinf[4]);
p += sprintf(p, "%d,%d,%d\n", sinf[5], sinf[6], sinf[7]);
thanks. I'll take it. 
<SNIP>
quoted
+static unsigned long
+acpi_pcc_write_brightness(const char* buffer, unsigned long count)
+{
+	int value1, value2;
+
+	if (sscanf(buffer, "%i,%i", &value1, &value2) == 2 && value1 >= 0 && value1 < 2 && value2 >=0 && value2 < 20) {
+		write_sset((value1 == 1)?7:4, value2);
+	} else
+		printk("write_brightness error\n");
+
+	return count;
+}
 
Why are there two values for brightness? What do they do?
It's from Panasonic spec.

0,n  -- brightness on AC 
1,n  -- brightness on battery. 

If pc go suspend/resume, BIOS set brightness according to this value.

I should further study this interface.

-- 
Hiroshi Miura  --- http://www.da-cha.org/  --- miura-yiisDzvROlQdnm+yROfE0A@public.gmane.org
NTTDATA Corp. OpenSource Software Center. --- miurahr-3MafRgGXt7BL9jVzuh4AOg@public.gmane.org 
NTTDATA Intellilink Corp. OpenSource Engineering Dev. -- miurahr@intellilink.co.jp
Key fingerprint = 9117 9407 5684 FBF1 4063  15B4 401D D077 04AB 8617


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help