From: "Giacomo A. Catenazzi" <cate@debian.org>
To: Tigran Aivazian <tigran@veritas.com>
Cc: "Giacomo A. Catenazzi" <cate@debian.org>,
Ryan Underwood <nemesis@icequake.net>,
224355@bugs.debian.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [patch-2.4.25] microcode.c fix (wasRe: microcode, devfs: Wrong interface change in 2.4.25
Date: Tue, 24 Feb 2004 09:29:42 +0100 [thread overview]
Message-ID: <403B0B76.5050905@debian.org> (raw)
In-Reply-To: <Pine.GSO.4.44.0402230948190.6162-100000@south.veritas.com>
Tigran Aivazian wrote:
> Hi Giacomo,
>
> Yes, you are right. I have now looked at the driver in 2.4.25 and see that
> the latest change did break the compatibility inadvertently (because of
> wrongly backporting the changes from 2.6 --- can't remember who did it
> now, but it doesn't matter).
>
> Please test the attached patch. I have tested it on 2.4.25 but only
> without devfs compiled into the kernel.
The patch is correct. Now devfs will create the devices in
/dev/cpu/microcode (and in /dev/misc).
[Yesterday I had some space problem with your patch, but I think
the problem was in my MUA]
thanks!
ciao
giacomo
>
> Kind regards
> Tigran
>
> PS.Notice that I also added your earlier suggestion to do compile-time
> merging of strings instead of runtime.
>
> --- linux-2.4.25-orig/arch/i386/kernel/microcode.c 2004-02-18 13:36:30.000000000 +0000
> +++ linux-2.4.25/arch/i386/kernel/microcode.c 2004-02-23 18:07:41.000000000 +0000
> @@ -1,7 +1,7 @@
> /*
> * Intel CPU Microcode Update driver for Linux
> *
> - * Copyright (C) 2000 Tigran Aivazian
> + * Copyright (C) 2000-2004 Tigran Aivazian
> *
> * This driver allows to upgrade microcode on Intel processors
> * belonging to IA-32 family - PentiumPro, Pentium II,
> @@ -64,6 +64,10 @@
> * Removed ->read() method and obsoleted MICROCODE_IOCFREE ioctl
> * because we no longer hold a copy of applied microcode
> * in kernel memory.
> + * 1.14 23 Feb 2004 Tigran Aivazian <tigran@veritas.com>
> + * Restored devfs regular file entry point which was
> + * accidentally removed when back-porting changes from the 2.6
> + * version of the driver.
> */
>
>
> @@ -73,6 +77,7 @@
> #include <linux/slab.h>
> #include <linux/vmalloc.h>
> #include <linux/miscdevice.h>
> +#include <linux/devfs_fs_kernel.h>
> #include <linux/spinlock.h>
> #include <linux/mm.h>
>
> @@ -84,8 +89,8 @@
> MODULE_AUTHOR("Tigran Aivazian <tigran@veritas.com>");
> MODULE_LICENSE("GPL");
>
> -#define MICROCODE_VERSION "1.13"
> -#define MICRO_DEBUG 1
> +#define MICROCODE_VERSION "1.14"
> +#define MICRO_DEBUG 0
> #if MICRO_DEBUG
> #define dprintk(x...) printk(KERN_INFO x)
> #else
> @@ -470,6 +475,7 @@
> return -EINVAL;
> }
>
> +/* shared between misc device and devfs regular file */
> static struct file_operations microcode_fops = {
> .owner = THIS_MODULE,
> .write = microcode_write,
> @@ -483,29 +489,38 @@
> .fops = µcode_fops,
> };
>
> +static devfs_handle_t devfs_handle;
> +
> static int __init microcode_init (void)
> {
> int error;
>
> error = misc_register(µcode_dev);
> - if (error) {
> + if (error)
> printk(KERN_ERR
> "microcode: can't misc_register on minor=%d\n",
> MICROCODE_MINOR);
> - return error;
> + devfs_handle = devfs_register(NULL, "cpu/microcode",
> + DEVFS_FL_DEFAULT, 0, 0, S_IFREG | S_IRUSR | S_IWUSR,
> + µcode_fops, NULL);
> + if (devfs_handle == NULL && error) {
> + printk(KERN_ERR "microcode: failed to devfs_register()\n");
> + goto out;
> }
> -
> + error = 0;
> printk(KERN_INFO
> - "IA-32 Microcode Update Driver: v%s <tigran@veritas.com>\n",
> - MICROCODE_VERSION);
> - return 0;
> + "IA-32 Microcode Update Driver: v"
> + MICROCODE_VERSION " <tigran@veritas.com>\n");
> +out:
> + return error;
> }
>
> static void __exit microcode_exit (void)
> {
> misc_deregister(µcode_dev);
> - printk(KERN_INFO "IA-32 Microcode Update Driver v%s unregistered\n",
> - MICROCODE_VERSION);
> + devfs_unregister(devfs_handle);
> + printk(KERN_INFO "IA-32 Microcode Update Driver v"
> + MICROCODE_VERSION " unregistered\n");
> }
>
> module_init(microcode_init)
>
prev parent reply other threads:[~2004-02-24 8:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1Auyi3-0000Up-00@dbz>
[not found] ` <4039BE3E.5070302@debian.org>
[not found] ` <20040223142838.GA26601@dbz.icequake.net>
2004-02-23 15:01 ` microcode, devfs: Wrong interface change in 2.4.25 Giacomo A. Catenazzi
2004-02-23 15:27 ` Tigran Aivazian
2004-02-23 17:52 ` [patch-2.4.25] microcode.c fix (wasRe: " Tigran Aivazian
2004-02-24 8:29 ` Giacomo A. Catenazzi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=403B0B76.5050905@debian.org \
--to=cate@debian.org \
--cc=224355@bugs.debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nemesis@icequake.net \
--cc=tigran@veritas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox