From: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Adrian Bunk <bunk@stusta.de>,
linux-kernel@vger.kernel.org,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [FIX] Re: [2.6 patch] drivers/cdrom/isp16.c: small cleanups
Date: Sun, 30 Jan 2005 09:02:41 +0000 [thread overview]
Message-ID: <20050130090241.GV8859@parcelfarce.linux.theplanet.co.uk> (raw)
In-Reply-To: <58cb370e0501291554450fbef8@mail.gmail.com>
On Sun, Jan 30, 2005 at 12:54:30AM +0100, Bartlomiej Zolnierkiewicz wrote:
> On Sun, 30 Jan 2005 00:46:24 +0100, Adrian Bunk <bunk@stusta.de> wrote:
> > On Sat, Jan 29, 2005 at 06:51:25PM +0100, Bartlomiej Zolnierkiewicz wrote:
> > > Hi,
> > >
> > > On Sat, 29 Jan 2005 18:11:08 +0100, Adrian Bunk <bunk@stusta.de> wrote:
> > > > This patch makes the needlessly global function isp16_init static.
> > > >
> > > > As a result, it turned out that both this function and some other code
> > > > are only required #ifdef MODULE.
... assuming that driver had not been broken to start with
> > >
> > > Your patch is correct but it is wrong. ;)
> > >
> > > #ifdefs around isp16_init() need to be removed as
> > > otherwise this driver is not initialized in built-in case.
... assuming that driver is initialized in built-in case
> > It's somehow initialized via isp16_setup.
... assuming that magic exists, which would follow from the original
assumptions
> Could you explain?
>
> AFAICS isp16_setup() only handles "isp16=" boot parameter.
Simple: driver is broken. And "obvious" transformations of that sort are
safe only when they are applied to correct code. Otherwise you end up with
obfuscation of original breakage.
Trivial check of history shows that
a) until 2.5.1-pre1 isp16_init() had been called from blk_dev_init()
b) in 2.5.1-pre2 Jens had taken that call out, but forgot to remove
ifdef in isp16.c
c) nobody had cared since then.
Fix follows.
diff -u RC11-rc2-bk6-base/drivers/cdrom/isp16.c RC11-rc2-bk6-current/drivers/cdrom/isp16.c
--- RC11-rc2-bk6-base/drivers/cdrom/isp16.c 2005-01-28 17:06:37.000000000 -0500
+++ RC11-rc2-bk6-current/drivers/cdrom/isp16.c 2005-01-30 04:00:09.319617779 -0500
@@ -112,7 +112,7 @@
* ISP16 initialisation.
*
*/
-int __init isp16_init(void)
+static int __init isp16_init(void)
{
u_char expected_drive;
@@ -366,15 +366,13 @@
return 0;
}
-void __exit isp16_exit(void)
+static void __exit isp16_exit(void)
{
release_region(ISP16_IO_BASE, ISP16_IO_SIZE);
printk(KERN_INFO "ISP16: module released.\n");
}
-#ifdef MODULE
module_init(isp16_init);
-#endif
module_exit(isp16_exit);
MODULE_LICENSE("GPL");
prev parent reply other threads:[~2005-01-30 9:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-29 17:11 Adrian Bunk
2005-01-29 17:51 ` Bartlomiej Zolnierkiewicz
2005-01-29 23:46 ` Adrian Bunk
2005-01-29 23:54 ` Bartlomiej Zolnierkiewicz
2005-01-30 9:02 ` Al Viro [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=20050130090241.GV8859@parcelfarce.linux.theplanet.co.uk \
--to=viro@parcelfarce.linux.theplanet.co.uk \
--cc=bunk@stusta.de \
--cc=bzolnier@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/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
Powered by JetHome