More seq-file fixes for /proc/acpi

From: Pavel Machek (pavel@ucw.cz)
Date: Thu Feb 13 2003 - 17:39:00 EST


Hi!

More seq-file fixes. [This is not a dup ;-)] Toshiba maintainer,
please fix your stuff yourself. This should fix all /proc write
problems in acpi I know... Please apply,

                                                        Pavel

--- clean/drivers/acpi/processor.c 2003-02-11 17:40:46.000000000 +0100
+++ linux/drivers/acpi/processor.c 2003-02-13 23:16:28.000000000 +0100
@@ -1356,7 +1356,8 @@
         loff_t *data)
 {
         int result = 0;
- struct acpi_processor *pr = (struct acpi_processor *) data;
+ struct seq_file *m = (struct seq_file *)file->private_data;
+ struct acpi_processor *pr = (struct acpi_processor *)m->private;
         char state_string[12] = {'\0'};
 
         ACPI_FUNCTION_TRACE("acpi_processor_write_throttling");
@@ -1418,7 +1419,8 @@
         loff_t *data)
 {
         int result = 0;
- struct acpi_processor *pr = (struct acpi_processor *) data;
+ struct seq_file *m = (struct seq_file *)file->private_data;
+ struct acpi_processor *pr = (struct acpi_processor *)m->private;
         char limit_string[25] = {'\0'};
         int px = 0;
         int tx = 0;
--- clean/drivers/acpi/thermal.c 2003-02-11 17:40:46.000000000 +0100
+++ linux/drivers/acpi/thermal.c 2003-02-13 23:17:37.000000000 +0100
@@ -946,11 +948,12 @@
 acpi_thermal_write_cooling_mode (
         struct file *file,
         const char *buffer,
- size_t count,
- loff_t *data)
+ unsigned long count,
+ loff_t *ppos)
 {
         int result = 0;
- struct acpi_thermal *tz = (struct acpi_thermal *) data;
+ struct seq_file *m = (struct seq_file *)file->private_data;
+ struct acpi_thermal *tz = (struct acpi_thermal *) m->private;
         char mode_string[12] = {'\0'};
 
         ACPI_FUNCTION_TRACE("acpi_thermal_write_cooling_mode");
@@ -1006,11 +1009,12 @@
 acpi_thermal_write_polling (
         struct file *file,
         const char *buffer,
- size_t count,
- loff_t *data)
+ unsigned long count,
+ loff_t *ppos)
 {
+ struct seq_file *m = (struct seq_file *)file->private_data;
         int result = 0;
- struct acpi_thermal *tz = (struct acpi_thermal *) data;
+ struct acpi_thermal *tz = (struct acpi_thermal *) m->private;
         char polling_string[12] = {'\0'};
         int seconds = 0;
 
--- clean/drivers/acpi/toshiba_acpi.c 2003-02-11 17:40:46.000000000 +0100
+++ linux/drivers/acpi/toshiba_acpi.c 2003-02-13 23:17:16.000000000 +0100
@@ -519,6 +519,7 @@
         if (proc) {
                 proc->proc_fops = &toshiba_lcd_fops;
                 proc->proc_fops->write = proc_write_lcd;
+#warning You need to fix up after converting to seq_file; see thermal.c for examples.
         }
 
         proc = create_proc_entry(PROC_VIDEO, S_IFREG | S_IRUGO | S_IWUSR,

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:57 EST