*/
 static int __init apm_init(void)
 {
-       struct proc_dir_entry *apm_proc;
        struct desc_struct *gdt;
        int err;
 
        set_base(gdt[APM_DS >> 3],
                 __va((unsigned long)apm_info.bios.dseg << 4));
 
-       apm_proc = create_proc_entry("apm", 0, NULL);
-       if (apm_proc)
-               apm_proc->proc_fops = &apm_file_ops;
+       proc_create("apm", 0, NULL, &apm_file_ops);
 
        kapmd_task = kthread_create(apm, NULL, "kapmd");
        if (IS_ERR(kapmd_task)) {
 
                return -ENODEV;
 
        proc_root_mtrr =
-           create_proc_entry("mtrr", S_IWUSR | S_IRUGO, &proc_root);
-       if (proc_root_mtrr) {
+               proc_create("mtrr", S_IWUSR | S_IRUGO, &proc_root, &mtrr_fops);
+
+       if (proc_root_mtrr)
                proc_root_mtrr->owner = THIS_MODULE;
-               proc_root_mtrr->proc_fops = &mtrr_fops;
-       }
        return 0;
 }