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