summaryrefslogtreecommitdiff
path: root/include/net/dsa.h
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2014-10-29 10:44:58 -0700
committerDavid S. Miller <davem@davemloft.net>2014-10-30 14:54:11 -0400
commit51579c3f1a9192b75365576227d40c7619493285 (patch)
treee8609bf267a534ab1e5ea4418e868e476a6f517a /include/net/dsa.h
parent2716777b4f21649fb907b4a4fb96e1c8d0a5ec16 (diff)
downloadlwn-51579c3f1a9192b75365576227d40c7619493285.tar.gz
lwn-51579c3f1a9192b75365576227d40c7619493285.zip
net: dsa: Add support for reporting switch chip temperatures
Some switches provide chip temperature data. Add support for reporting it through the hwmon subsystem. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r--include/net/dsa.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h
index b76559293535..55e75e7e8d41 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -139,6 +139,14 @@ struct dsa_switch {
*/
struct device *master_dev;
+#ifdef CONFIG_NET_DSA_HWMON
+ /*
+ * Hardware monitoring information
+ */
+ char hwmon_name[IFNAMSIZ + 8];
+ struct device *hwmon_dev;
+#endif
+
/*
* Slave mii_bus and devices for the individual ports.
*/
@@ -242,6 +250,14 @@ struct dsa_switch_driver {
struct ethtool_eee *e);
int (*get_eee)(struct dsa_switch *ds, int port,
struct ethtool_eee *e);
+
+#ifdef CONFIG_NET_DSA_HWMON
+ /* Hardware monitoring */
+ int (*get_temp)(struct dsa_switch *ds, int *temp);
+ int (*get_temp_limit)(struct dsa_switch *ds, int *temp);
+ int (*set_temp_limit)(struct dsa_switch *ds, int temp);
+ int (*get_temp_alarm)(struct dsa_switch *ds, bool *alarm);
+#endif
};
void register_switch_driver(struct dsa_switch_driver *type);