lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1184058473.16979.13.camel@localhost.localdomain>
Date:	Tue, 10 Jul 2007 17:07:53 +0800
From:	Zhang Rui <rui.zhang@...el.com>
To:	Adrian Bunk <bunk@...sta.de>
Cc:	lenb@...nel.org, linux-acpi <linux-acpi@...r.kernel.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [2.6 patch] the scheduled ACPI_PROCFS removal

Hi,

I really appreciate your help.
The ACPI sysfs conversion work is still in progress.
We'll update the ACPI_PROCFS removal plan soon.
Sorry to make you confused.

Thanks,
Rui


On Mon, 2007-07-09 at 22:57 +0800, Adrian Bunk wrote:
> This patch contains the scheduled removal of the ACPI procfs
> interface.
> 
> Signed-off-by: Adrian Bunk <bunk@...sta.de>
> 
> ---
> 
>  Documentation/feature-removal-schedule.txt |    8 -
>  drivers/acpi/Kconfig                       |   13 -
>  drivers/acpi/debug.c                       |  143
> ---------------------
>  drivers/acpi/system.c                      |  129 ------------------
>  4 files changed, 293 deletions(-)
> 
> --- linux-2.6.22-rc6-mm1/Documentation/feature-removal-
> schedule.txt.old 2007-07-09 02:04:01.000000000 +0200
> +++ linux-2.6.22-rc6-mm1/Documentation/feature-removal-schedule.txt
> 2007-07-09 02:04:32.000000000 +0200
> @@ -190,14 +190,6 @@
> 
>  ---------------------------
> 
> -What:  ACPI procfs interface
> -When:  July 2007
> -Why:   After ACPI sysfs conversion, ACPI attributes will be
> duplicated
> -       in sysfs and the ACPI procfs interface should be removed.
> -Who:   Zhang Rui <rui.zhang@...el.com>
> -
> ----------------------------
> -
>  What:  /proc/acpi/button
>  When:  August 2007
>  Why:   /proc/acpi/button has been replaced by events to the input
> layer
> --- linux-2.6.22-rc6-mm1/drivers/acpi/Kconfig.old       2007-07-09
> 02:04:39.000000000 +0200
> +++ linux-2.6.22-rc6-mm1/drivers/acpi/Kconfig   2007-07-09
> 02:04:57.000000000 +0200
> @@ -75,19 +75,6 @@
>           Create /proc/acpi/sleep
>           Deprecated by /sys/power/state
> 
> -config ACPI_PROCFS
> -       bool "Procfs interface (deprecated)"
> -       default y
> -       ---help---
> -         The Procfs interface for ACPI is made optional for backward
> compatibility.
> -         As the same functions are duplicated in the sysfs interface
> -         and this proc interface will be removed some time later,
> -         it's marked as deprecated.
> -         ( /proc/acpi/debug_layer && debug_level are deprecated by
> -           /sys/module/acpi/parameters/debug_layer && debug_level.
> -           /proc/acpi/info is deprecated by
> -           /sys/module/acpi/parameters/acpica_version )
> -
>  config ACPI_AC
>         tristate "AC Adapter"
>         depends on X86
> --- linux-2.6.22-rc6-mm1/drivers/acpi/debug.c.old       2007-07-09
> 02:05:04.000000000 +0200
> +++ linux-2.6.22-rc6-mm1/drivers/acpi/debug.c   2007-07-09
> 02:05:41.000000000 +0200
> @@ -130,146 +130,3 @@
>  module_param_call(debug_layer, param_set_uint, param_get_debug_layer,
> &acpi_dbg_layer, 0644);
>  module_param_call(debug_level, param_set_uint, param_get_debug_level,
> &acpi_dbg_level, 0644);
> 
> -/*
> --------------------------------------------------------------------------
> -                              FS Interface (/proc)
> -
> -------------------------------------------------------------------------- */
> -#ifdef CONFIG_ACPI_PROCFS
> -#define ACPI_SYSTEM_FILE_DEBUG_LAYER   "debug_layer"
> -#define ACPI_SYSTEM_FILE_DEBUG_LEVEL           "debug_level"
> -
> -static int
> -acpi_system_read_debug(char *page,
> -                      char **start, off_t off, int count, int *eof,
> void *data)
> -{
> -       char *p = page;
> -       int size = 0;
> -       unsigned int i;
> -
> -       if (off != 0)
> -               goto end;
> -
> -       p += sprintf(p, "%-25s\tHex        SET\n", "Description");
> -
> -       switch ((unsigned long)data) {
> -       case 0:
> -               for (i = 0; i < ARRAY_SIZE(acpi_debug_layers); i++) {
> -                       p += sprintf(p, "%-25s\t0x%08lX [%c]\n",
> -                                    acpi_debug_layers[i].name,
> -                                    acpi_debug_layers[i].value,
> -                                    (acpi_dbg_layer &
> acpi_debug_layers[i].
> -                                     value) ? '*' : ' ');
> -               }
> -               p += sprintf(p, "%-25s\t0x%08X [%c]\n",
> "ACPI_ALL_DRIVERS",
> -                            ACPI_ALL_DRIVERS,
> -                            (acpi_dbg_layer & ACPI_ALL_DRIVERS) ==
> -                            ACPI_ALL_DRIVERS ? '*' : (acpi_dbg_layer
> &
> -
> ACPI_ALL_DRIVERS) ==
> -                            0 ? ' ' : '-');
> -               p += sprintf(p,
> -                            "--\ndebug_layer = 0x%08X (* = enabled, -
> = partial)\n",
> -                            acpi_dbg_layer);
> -               break;
> -       case 1:
> -               for (i = 0; i < ARRAY_SIZE(acpi_debug_levels); i++) {
> -                       p += sprintf(p, "%-25s\t0x%08lX [%c]\n",
> -                                    acpi_debug_levels[i].name,
> -                                    acpi_debug_levels[i].value,
> -                                    (acpi_dbg_level &
> acpi_debug_levels[i].
> -                                     value) ? '*' : ' ');
> -               }
> -               p += sprintf(p, "--\ndebug_level = 0x%08X (* =
> enabled)\n",
> -                            acpi_dbg_level);
> -               break;
> -       default:
> -               p += sprintf(p, "Invalid debug option\n");
> -               break;
> -       }
> -
> -      end:
> -       size = (p - page);
> -       if (size <= off + count)
> -               *eof = 1;
> -       *start = page + off;
> -       size -= off;
> -       if (size > count)
> -               size = count;
> -       if (size < 0)
> -               size = 0;
> -
> -       return size;
> -}
> -
> -static int
> -acpi_system_write_debug(struct file *file,
> -                       const char __user * buffer,
> -                       unsigned long count, void *data)
> -{
> -       char debug_string[12] = { '\0' };
> -
> -
> -       if (count > sizeof(debug_string) - 1)
> -               return -EINVAL;
> -
> -       if (copy_from_user(debug_string, buffer, count))
> -               return -EFAULT;
> -
> -       debug_string[count] = '\0';
> -
> -       switch ((unsigned long)data) {
> -       case 0:
> -               acpi_dbg_layer = simple_strtoul(debug_string, NULL,
> 0);
> -               break;
> -       case 1:
> -               acpi_dbg_level = simple_strtoul(debug_string, NULL,
> 0);
> -               break;
> -       default:
> -               return -EINVAL;
> -       }
> -
> -       return count;
> -}
> -
> -static int __init acpi_debug_init(void)
> -{
> -       struct proc_dir_entry *entry;
> -       int error = 0;
> -       char *name;
> -
> -
> -       if (acpi_disabled)
> -               return 0;
> -
> -       /* 'debug_layer' [R/W] */
> -       name = ACPI_SYSTEM_FILE_DEBUG_LAYER;
> -       entry =
> -           create_proc_read_entry(name, S_IFREG | S_IRUGO | S_IWUSR,
> -                                  acpi_root_dir,
> acpi_system_read_debug,
> -                                  (void *)0);
> -       if (entry)
> -               entry->write_proc = acpi_system_write_debug;
> -       else
> -               goto Error;
> -
> -       /* 'debug_level' [R/W] */
> -       name = ACPI_SYSTEM_FILE_DEBUG_LEVEL;
> -       entry =
> -           create_proc_read_entry(name, S_IFREG | S_IRUGO | S_IWUSR,
> -                                  acpi_root_dir,
> acpi_system_read_debug,
> -                                  (void *)1);
> -       if (entry)
> -               entry->write_proc = acpi_system_write_debug;
> -       else
> -               goto Error;
> -
> -      Done:
> -       return error;
> -
> -      Error:
> -       remove_proc_entry(ACPI_SYSTEM_FILE_DEBUG_LEVEL,
> acpi_root_dir);
> -       remove_proc_entry(ACPI_SYSTEM_FILE_DEBUG_LAYER,
> acpi_root_dir);
> -       error = -ENODEV;
> -       goto Done;
> -}
> -
> -subsys_initcall(acpi_debug_init);
> -#endif
> --- linux-2.6.22-rc6-mm1/drivers/acpi/system.c.old      2007-07-09
> 02:05:48.000000000 +0200
> +++ linux-2.6.22-rc6-mm1/drivers/acpi/system.c  2007-07-09
> 02:06:30.000000000 +0200
> @@ -167,131 +167,6 @@
>         return 0;
>  }
> 
> -/*
> --------------------------------------------------------------------------
> -                              FS Interface (/proc)
> -
> -------------------------------------------------------------------------- */
> -#ifdef CONFIG_ACPI_PROCFS
> -#define ACPI_SYSTEM_FILE_INFO          "info"
> -#define ACPI_SYSTEM_FILE_EVENT         "event"
> -#define ACPI_SYSTEM_FILE_DSDT          "dsdt"
> -#define ACPI_SYSTEM_FILE_FADT          "fadt"
> -
> -static int acpi_system_read_info(struct seq_file *seq, void *offset)
> -{
> -
> -       seq_printf(seq, "version:                 %x\n",
> ACPI_CA_VERSION);
> -       return 0;
> -}
> -
> -static int acpi_system_info_open_fs(struct inode *inode, struct file
> *file)
> -{
> -       return single_open(file, acpi_system_read_info, PDE(inode)-
> >data);
> -}
> -
> -static const struct file_operations acpi_system_info_ops = {
> -       .open = acpi_system_info_open_fs,
> -       .read = seq_read,
> -       .llseek = seq_lseek,
> -       .release = single_release,
> -};
> -
> -static ssize_t acpi_system_read_dsdt(struct file *, char __user *,
> size_t,
> -                                    loff_t *);
> -
> -static const struct file_operations acpi_system_dsdt_ops = {
> -       .read = acpi_system_read_dsdt,
> -};
> -
> -static ssize_t
> -acpi_system_read_dsdt(struct file *file,
> -                     char __user * buffer, size_t count, loff_t *
> ppos)
> -{
> -       acpi_status status = AE_OK;
> -       struct acpi_table_header *dsdt = NULL;
> -       ssize_t res;
> -
> -       status = acpi_get_table(ACPI_SIG_DSDT, 1, &dsdt);
> -       if (ACPI_FAILURE(status))
> -               return -ENODEV;
> -
> -       res = simple_read_from_buffer(buffer, count, ppos, dsdt, dsdt-
> >length);
> -
> -       return res;
> -}
> -
> -static ssize_t acpi_system_read_fadt(struct file *, char __user *,
> size_t,
> -                                    loff_t *);
> -
> -static const struct file_operations acpi_system_fadt_ops = {
> -       .read = acpi_system_read_fadt,
> -};
> -
> -static ssize_t
> -acpi_system_read_fadt(struct file *file,
> -                     char __user * buffer, size_t count, loff_t *
> ppos)
> -{
> -       acpi_status status = AE_OK;
> -       struct acpi_table_header *fadt = NULL;
> -       ssize_t res;
> -
> -       status = acpi_get_table(ACPI_SIG_FADT, 1, &fadt);
> -       if (ACPI_FAILURE(status))
> -               return -ENODEV;
> -
> -       res = simple_read_from_buffer(buffer, count, ppos, fadt, fadt-
> >length);
> -
> -       return res;
> -}
> -
> -static int acpi_system_procfs_init(void)
> -{
> -       struct proc_dir_entry *entry;
> -       int error = 0;
> -       char *name;
> -
> -       /* 'info' [R] */
> -       name = ACPI_SYSTEM_FILE_INFO;
> -       entry = create_proc_entry(name, S_IRUGO, acpi_root_dir);
> -       if (!entry)
> -               goto Error;
> -       else {
> -               entry->proc_fops = &acpi_system_info_ops;
> -       }
> -
> -       /* 'dsdt' [R] */
> -       name = ACPI_SYSTEM_FILE_DSDT;
> -       entry = create_proc_entry(name, S_IRUSR, acpi_root_dir);
> -       if (entry)
> -               entry->proc_fops = &acpi_system_dsdt_ops;
> -       else
> -               goto Error;
> -
> -       /* 'fadt' [R] */
> -       name = ACPI_SYSTEM_FILE_FADT;
> -       entry = create_proc_entry(name, S_IRUSR, acpi_root_dir);
> -       if (entry)
> -               entry->proc_fops = &acpi_system_fadt_ops;
> -       else
> -               goto Error;
> -
> -      Done:
> -       return error;
> -
> -      Error:
> -       remove_proc_entry(ACPI_SYSTEM_FILE_FADT, acpi_root_dir);
> -       remove_proc_entry(ACPI_SYSTEM_FILE_DSDT, acpi_root_dir);
> -       remove_proc_entry(ACPI_SYSTEM_FILE_INFO, acpi_root_dir);
> -
> -       error = -EFAULT;
> -       goto Done;
> -}
> -#else
> -static int acpi_system_procfs_init(void)
> -{
> -       return 0;
> -}
> -#endif
> -
>  static int __init acpi_system_init(void)
>  {
>         int result = 0;
> @@ -299,10 +174,6 @@
>         if (acpi_disabled)
>                 return 0;
> 
> -       result = acpi_system_procfs_init();
> -       if (result)
> -               return result;
> -
>         result = acpi_system_sysfs_init();
> 
>         return result;
> 
> 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ