diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2006-12-06 20:36:21 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 08:39:33 -0800 |
commit | b4178ab58aa81f4ed3c75c48940682fe3b45d880 (patch) | |
tree | d9bd5827ee1f9a36bf9958a56760f6206272cc2f /drivers/block/paride/kbic.c | |
parent | f4330002d11f032559954cbff68a5cad95b6d27f (diff) |
[PATCH] paride_register(): shuffle return values
paride_register() returns 1 on success, 0 on failure and module init
code looks like
static int __init foo_init(void)
{
return paride_register(&foo) - 1;
}
which is not what one get used to. Converted to usual 0/-E convention.
In case of kbic driver, unwind registration. It was just
return (paride_register(&k951)||paride_register(&k971))-1;
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block/paride/kbic.c')
-rw-r--r-- | drivers/block/paride/kbic.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/block/paride/kbic.c b/drivers/block/paride/kbic.c index a5632819027..35999c415ee 100644 --- a/drivers/block/paride/kbic.c +++ b/drivers/block/paride/kbic.c @@ -283,7 +283,15 @@ static struct pi_protocol k971 = { static int __init kbic_init(void) { - return (paride_register(&k951)||paride_register(&k971))-1; + int rv; + + rv = paride_register(&k951); + if (rv < 0) + return rv; + rv = paride_register(&k971); + if (rv < 0) + paride_unregister(&k951); + return rv; } static void __exit kbic_exit(void) |