-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dmitry Torokhov wrote:
| Hrm, can we be a little more explicit and not poke in the sysfs guts right
| in the driver? What do you think about the patch below athat implements
| "attribute arrays"? And I am attaching cumulative i8k patch using these
| arrays so they can be tested.
|
| I am CC-ing Greg to see what he thinks about it.

Well, yes. That would probably be the better way to go about it, though
I have to admit I was somewhat pleased with myself that I came up with
something that worked. :)

Your patches work well, with a few minor notes:

1: My Inspiron 9200 (and perhaps others) doesn't seem to respond to the
I8K_SMM_BIOS_VERSION function call, so it fails the check in i8k_probe.
~ The check of i8k_get_bios_version doesn't seem critical, and removing
the return -ENODEV makes it work again for me.  That's the current
behavior, so perhaps the printk level should just be changed to
KERN_WARNING rather than KERN_ALERT.

2: To compile 2.6.11 cleanly, I needed two hunks from your original
patch 2 (perhaps you're working from a more up-to-date tree than I am?
If so, these are probably already addressed.):

- --- dtor.orig/arch/i386/kernel/dmi_scan.c
+++ dtor/arch/i386/kernel/dmi_scan.c
@@ -416,6 +416,7 @@ static void __init dmi_decode(struct dmi
~                       dmi_save_ident(dm, DMI_PRODUCT_VERSION, 6);
~                       dmi_printk(("Serial Number: %s\n",
~                               dmi_string(dm, data[7])));
+                       dmi_save_ident(dm, DMI_PRODUCT_SERIAL, 7);
~                       break;
~               case 2:
~                       dmi_printk(("Board Vendor: %s\n",
- --- dtor.orig/include/linux/dmi.h
+++ dtor/include/linux/dmi.h
@@ -9,6 +9,7 @@ enum dmi_field {
~       DMI_SYS_VENDOR,
~       DMI_PRODUCT_NAME,
~       DMI_PRODUCT_VERSION,
+       DMI_PRODUCT_SERIAL,
~       DMI_BOARD_VENDOR,
~       DMI_BOARD_NAME,
~       DMI_BOARD_VERSION,


I also have a question about the structure created using sysfs attribute arrays. Applying it in this case, I get: ./temp ./temp/3 ./temp/2 ./temp/1 ./temp/0 ./fan_speed ./fan_speed/1 ./fan_speed/0 ./fan_state ./fan_state/1 ./fan_state/0

The 'temp' entries make sense, however I'm not sure about the fan_speed
and fan_state entries.  From the perspective of how the objects are
ordered, a fan would have 'speed' and 'state' attributes, but a
'fan_state' attribute wouldn't normally have a fan.  Maybe something
along these lines would make more sense from that perspective:

./fan/0
./fan/0/speed
./fan/0/state
./fan/1
./fan/1/speed
./fan/1/state

I'm not certain about the best way to do this, so this may just be a
thought.  It would certainly be more complex to reorder it, and it
appears usable in its current form.

Frank
- --
Frank Sorenson - KD7TZK
Systems Manager, Computer Science Department
Brigham Young University
[EMAIL PROTECTED]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD4DBQFCOU/0aI0dwg4A47wRAjgDAJwLsvd14J/qAmgv7JzkXG2xgAmTGwCY6RUc
Nomk0pwTSfymHtIuF7ylzQ==
=85eA
-----END PGP SIGNATURE-----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to