#ifndef __XFS_MESSAGE_H #define __XFS_MESSAGE_H 1 struct xfs_mount; extern __printf(2, 3) void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...); extern __printf(2, 3) void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...); extern __printf(3, 4) void xfs_alert_tag(const struct xfs_mount *mp, int tag, const char *fmt, ...); extern __printf(2, 3) void xfs_crit(const struct xfs_mount *mp, const char *fmt, ...); extern __printf(2, 3) void xfs_err(const struct xfs_mount *mp, const char *fmt, ...); extern __printf(2, 3) void xfs_warn(const struct xfs_mount *mp, const char *fmt, ...); extern __printf(2, 3) void xfs_notice(const struct xfs_mount *mp, const char *fmt, ...); extern __printf(2, 3) void xfs_info(const struct xfs_mount *mp, const char *fmt, ...); #ifdef DEBUG extern __printf(2, 3) void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...); #else static inline __printf(2, 3) void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) { } #endif #define xfs_printk_ratelimited(func, dev, fmt, ...) \ do { \ static DEFINE_RATELIMIT_STATE(_rs, \ DEFAULT_RATELIMIT_INTERVAL, \ DEFAULT_RATELIMIT_BURST); \ if (__ratelimit(&_rs)) \ func(dev, fmt, ##__VA_ARGS__); \ } while (0) #define xfs_emerg_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_emerg, dev, fmt, ##__VA_ARGS__) #define xfs_alert_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_alert, dev, fmt, ##__VA_ARGS__) #define xfs_crit_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_crit, dev, fmt, ##__VA_ARGS__) #define xfs_err_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_err, dev, fmt, ##__VA_ARGS__) #define xfs_warn_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_warn, dev, fmt, ##__VA_ARGS__) #define xfs_notice_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_notice, dev, fmt, ##__VA_ARGS__) #define xfs_info_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_info, dev, fmt, ##__VA_ARGS__) #define xfs_debug_ratelimited(dev, fmt, ...) \ xfs_printk_ratelimited(xfs_debug, dev, fmt, ##__VA_ARGS__) extern void assfail(char *expr, char *f, int l); extern void asswarn(char *expr, char *f, int l); extern void xfs_hex_dump(void *p, int length); #endif /* __XFS_MESSAGE_H */ ='hidden' name='h' value='nds-private-remove'/>
path: root/include
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2017-02-01 03:40:06 +0100
committerDavid S. Miller <davem@davemloft.net>2017-02-02 21:50:51 -0500
commite4cf8a38fc0d257b4070066e46a678f4777fecaa (patch)
treeafd3728409a6973e261120a326aa708494edc850 /include
parentda9f33018e2c0b2f341cb574e3c08363e3b0dd28 (diff)
net: phy: Marvell: Add mv88e6390 internal PHY
The mv88e6390 Ethernet switch has internal PHYs. These PHYs don't have an model ID in the ID2 register. So the MDIO driver in the switch intercepts reads to this register, and returns the switch family ID. Extend the Marvell PHY driver by including this ID, and treat the PHY as a 88E1540. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/marvell_phy.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/marvell_phy.h b/include/linux/marvell_phy.h