public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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		= &microcode_fops,
>  };
> 
> +static devfs_handle_t devfs_handle;
> +
>  static int __init microcode_init (void)
>  {
>  	int error;
> 
>  	error = misc_register(&microcode_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,
> +			&microcode_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(&microcode_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)
> 

      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