diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-09-23 00:44:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-23 01:17:35 -0400 |
commit | 0365ba7fb1fa94a41289d6a3d36b4d95960e56cc (patch) | |
tree | 1da4b5fb97266849d86a78010141e7345cc599aa /include/asm-ppc/of_device.h | |
parent | 0f329075fb1dbd6845db03e9bb8252024fdbea1f (diff) |
[PATCH] ppc64: SMU driver update & i2c support
The SMU is the "system controller" chip used by Apple recent G5 machines
including the iMac G5. It drives things like fans, i2c busses, real time
clock, etc...
The current kernel contains a very crude driver that doesn't do much more
than reading the real time clock synchronously. This is a completely
rewritten driver that provides interrupt based command queuing, a userland
interface, and an i2c/smbus driver for accessing the devices hanging off
the SMU i2c busses like temperature sensors. This driver is a basic block
for upcoming work on thermal control for those machines, among others.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-ppc/of_device.h')
-rw-r--r-- | include/asm-ppc/of_device.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-ppc/of_device.h b/include/asm-ppc/of_device.h index 4b264cfd3998..575bce418f80 100644 --- a/include/asm-ppc/of_device.h +++ b/include/asm-ppc/of_device.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define __OF_DEVICE_H__ | 2 | #define __OF_DEVICE_H__ |
3 | 3 | ||
4 | #include <linux/device.h> | 4 | #include <linux/device.h> |
5 | #include <linux/mod_devicetable.h> | ||
5 | #include <asm/prom.h> | 6 | #include <asm/prom.h> |
6 | 7 | ||
7 | /* | 8 | /* |
@@ -55,7 +56,9 @@ extern int of_register_driver(struct of_platform_driver *drv); | |||
55 | extern void of_unregister_driver(struct of_platform_driver *drv); | 56 | extern void of_unregister_driver(struct of_platform_driver *drv); |
56 | extern int of_device_register(struct of_device *ofdev); | 57 | extern int of_device_register(struct of_device *ofdev); |
57 | extern void of_device_unregister(struct of_device *ofdev); | 58 | extern void of_device_unregister(struct of_device *ofdev); |
58 | extern struct of_device *of_platform_device_create(struct device_node *np, const char *bus_id); | 59 | extern struct of_device *of_platform_device_create(struct device_node *np, |
60 | const char *bus_id, | ||
61 | struct device *parent); | ||
59 | extern void of_release_dev(struct device *dev); | 62 | extern void of_release_dev(struct device *dev); |
60 | 63 | ||
61 | #endif /* __OF_DEVICE_H__ */ | 64 | #endif /* __OF_DEVICE_H__ */ |