projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck...
[cascardo/linux.git]
/
drivers
/
hwmon
/
smsc47m1.c
diff --git
a/drivers/hwmon/smsc47m1.c
b/drivers/hwmon/smsc47m1.c
index
c590c14
..
b5aa38d
100644
(file)
--- a/
drivers/hwmon/smsc47m1.c
+++ b/
drivers/hwmon/smsc47m1.c
@@
-491,10
+491,10
@@
static const struct attribute_group smsc47m1_group = {
.attrs = smsc47m1_attributes,
};
.attrs = smsc47m1_attributes,
};
-static int __init smsc47m1_find(unsigned short *addr,
- struct smsc47m1_sio_data *sio_data)
+static int __init smsc47m1_find(struct smsc47m1_sio_data *sio_data)
{
u8 val;
{
u8 val;
+ unsigned short addr;
superio_enter();
val = force_id ? force_id : superio_inb(SUPERIO_REG_DEVID);
superio_enter();
val = force_id ? force_id : superio_inb(SUPERIO_REG_DEVID);
@@
-546,9
+546,9
@@
static int __init smsc47m1_find(unsigned short *addr,
}
superio_select();
}
superio_select();
-
*
addr = (superio_inb(SUPERIO_REG_BASE) << 8)
+ addr = (superio_inb(SUPERIO_REG_BASE) << 8)
| superio_inb(SUPERIO_REG_BASE + 1);
| superio_inb(SUPERIO_REG_BASE + 1);
- if (
*
addr == 0) {
+ if (addr == 0) {
pr_info("Device address not set, will not use\n");
superio_exit();
return -ENODEV;
pr_info("Device address not set, will not use\n");
superio_exit();
return -ENODEV;
@@
-565,7
+565,7
@@
static int __init smsc47m1_find(unsigned short *addr,
}
superio_exit();
}
superio_exit();
- return
0
;
+ return
addr
;
}
/* Restore device to its initial state */
}
/* Restore device to its initial state */
@@
-938,13
+938,15
@@
static int __init sm_smsc47m1_init(void)
unsigned short address;
struct smsc47m1_sio_data sio_data;
unsigned short address;
struct smsc47m1_sio_data sio_data;
- if (smsc47m1_find(&address, &sio_data))
- return -ENODEV;
+ err = smsc47m1_find(&sio_data);
+ if (err < 0)
+ return err;
+ address = err;
/* Sets global pdev as a side effect */
err = smsc47m1_device_add(address, &sio_data);
if (err)
/* Sets global pdev as a side effect */
err = smsc47m1_device_add(address, &sio_data);
if (err)
-
goto exit
;
+
return err
;
err = platform_driver_probe(&smsc47m1_driver, smsc47m1_probe);
if (err)
err = platform_driver_probe(&smsc47m1_driver, smsc47m1_probe);
if (err)
@@
-955,7
+957,6
@@
static int __init sm_smsc47m1_init(void)
exit_device:
platform_device_unregister(pdev);
smsc47m1_restore(&sio_data);
exit_device:
platform_device_unregister(pdev);
smsc47m1_restore(&sio_data);
-exit:
return err;
}
return err;
}