diff options
61 files changed, 324 insertions, 350 deletions
diff --git a/drivers/isdn/hisax/callc.c b/drivers/isdn/hisax/callc.c index 37e685eafd24..c4897e1075d8 100644 --- a/drivers/isdn/hisax/callc.c +++ b/drivers/isdn/hisax/callc.c | |||
@@ -65,7 +65,7 @@ hisax_findcard(int driverid) | |||
65 | return (struct IsdnCardState *) 0; | 65 | return (struct IsdnCardState *) 0; |
66 | } | 66 | } |
67 | 67 | ||
68 | static __attribute__((format(printf, 3, 4))) void | 68 | static __printf(3, 4) void |
69 | link_debug(struct Channel *chanp, int direction, char *fmt, ...) | 69 | link_debug(struct Channel *chanp, int direction, char *fmt, ...) |
70 | { | 70 | { |
71 | va_list args; | 71 | va_list args; |
@@ -1068,7 +1068,7 @@ init_d_st(struct Channel *chanp) | |||
1068 | return 0; | 1068 | return 0; |
1069 | } | 1069 | } |
1070 | 1070 | ||
1071 | static __attribute__((format(printf, 2, 3))) void | 1071 | static __printf(2, 3) void |
1072 | callc_debug(struct FsmInst *fi, char *fmt, ...) | 1072 | callc_debug(struct FsmInst *fi, char *fmt, ...) |
1073 | { | 1073 | { |
1074 | va_list args; | 1074 | va_list args; |
diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h index 0a5c42a3f125..aff45a11a92d 100644 --- a/drivers/isdn/hisax/hisax.h +++ b/drivers/isdn/hisax/hisax.h | |||
@@ -1287,9 +1287,9 @@ int jiftime(char *s, long mark); | |||
1287 | 1287 | ||
1288 | int HiSax_command(isdn_ctrl * ic); | 1288 | int HiSax_command(isdn_ctrl * ic); |
1289 | int HiSax_writebuf_skb(int id, int chan, int ack, struct sk_buff *skb); | 1289 | int HiSax_writebuf_skb(int id, int chan, int ack, struct sk_buff *skb); |
1290 | __attribute__((format(printf, 3, 4))) | 1290 | __printf(3, 4) |
1291 | void HiSax_putstatus(struct IsdnCardState *cs, char *head, char *fmt, ...); | 1291 | void HiSax_putstatus(struct IsdnCardState *cs, char *head, char *fmt, ...); |
1292 | __attribute__((format(printf, 3, 0))) | 1292 | __printf(3, 0) |
1293 | void VHiSax_putstatus(struct IsdnCardState *cs, char *head, char *fmt, va_list args); | 1293 | void VHiSax_putstatus(struct IsdnCardState *cs, char *head, char *fmt, va_list args); |
1294 | void HiSax_reportcard(int cardnr, int sel); | 1294 | void HiSax_reportcard(int cardnr, int sel); |
1295 | int QuickHex(char *txt, u_char * p, int cnt); | 1295 | int QuickHex(char *txt, u_char * p, int cnt); |
diff --git a/drivers/isdn/hisax/isdnl1.h b/drivers/isdn/hisax/isdnl1.h index 425d86116f2b..66ddcab19bba 100644 --- a/drivers/isdn/hisax/isdnl1.h +++ b/drivers/isdn/hisax/isdnl1.h | |||
@@ -21,7 +21,7 @@ | |||
21 | #define B_XMTBUFREADY 1 | 21 | #define B_XMTBUFREADY 1 |
22 | #define B_ACKPENDING 2 | 22 | #define B_ACKPENDING 2 |
23 | 23 | ||
24 | __attribute__((format(printf, 2, 3))) | 24 | __printf(2, 3) |
25 | void debugl1(struct IsdnCardState *cs, char *fmt, ...); | 25 | void debugl1(struct IsdnCardState *cs, char *fmt, ...); |
26 | void DChannel_proc_xmt(struct IsdnCardState *cs); | 26 | void DChannel_proc_xmt(struct IsdnCardState *cs); |
27 | void DChannel_proc_rcv(struct IsdnCardState *cs); | 27 | void DChannel_proc_rcv(struct IsdnCardState *cs); |
diff --git a/drivers/isdn/hisax/isdnl3.c b/drivers/isdn/hisax/isdnl3.c index ad291f21b201..1c24e4457b6f 100644 --- a/drivers/isdn/hisax/isdnl3.c +++ b/drivers/isdn/hisax/isdnl3.c | |||
@@ -66,7 +66,7 @@ static char *strL3Event[] = | |||
66 | "EV_TIMEOUT", | 66 | "EV_TIMEOUT", |
67 | }; | 67 | }; |
68 | 68 | ||
69 | static __attribute__((format(printf, 2, 3))) void | 69 | static __printf(2, 3) void |
70 | l3m_debug(struct FsmInst *fi, char *fmt, ...) | 70 | l3m_debug(struct FsmInst *fi, char *fmt, ...) |
71 | { | 71 | { |
72 | va_list args; | 72 | va_list args; |
diff --git a/drivers/isdn/hisax/st5481_d.c b/drivers/isdn/hisax/st5481_d.c index 44082637a09f..db247b79e561 100644 --- a/drivers/isdn/hisax/st5481_d.c +++ b/drivers/isdn/hisax/st5481_d.c | |||
@@ -167,7 +167,7 @@ static struct FsmNode L1FnList[] __initdata = | |||
167 | {ST_L1_F8, EV_IND_RSY, l1_ignore}, | 167 | {ST_L1_F8, EV_IND_RSY, l1_ignore}, |
168 | }; | 168 | }; |
169 | 169 | ||
170 | static __attribute__((format(printf, 2, 3))) | 170 | static __printf(2, 3) |
171 | void l1m_debug(struct FsmInst *fi, char *fmt, ...) | 171 | void l1m_debug(struct FsmInst *fi, char *fmt, ...) |
172 | { | 172 | { |
173 | va_list args; | 173 | va_list args; |
@@ -270,7 +270,7 @@ static char *strDoutEvent[] = | |||
270 | "EV_DOUT_UNDERRUN", | 270 | "EV_DOUT_UNDERRUN", |
271 | }; | 271 | }; |
272 | 272 | ||
273 | static __attribute__((format(printf, 2, 3))) | 273 | static __printf(2, 3) |
274 | void dout_debug(struct FsmInst *fi, char *fmt, ...) | 274 | void dout_debug(struct FsmInst *fi, char *fmt, ...) |
275 | { | 275 | { |
276 | va_list args; | 276 | va_list args; |
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h index fca66165110e..8fda331c65df 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | |||
@@ -581,8 +581,9 @@ extern const struct ethtool_ops mlx4_en_ethtool_ops; | |||
581 | * printk / logging functions | 581 | * printk / logging functions |
582 | */ | 582 | */ |
583 | 583 | ||
584 | __printf(3, 4) | ||
584 | int en_print(const char *level, const struct mlx4_en_priv *priv, | 585 | int en_print(const char *level, const struct mlx4_en_priv *priv, |
585 | const char *format, ...) __attribute__ ((format (printf, 3, 4))); | 586 | const char *format, ...); |
586 | 587 | ||
587 | #define en_dbg(mlevel, priv, format, arg...) \ | 588 | #define en_dbg(mlevel, priv, format, arg...) \ |
588 | do { \ | 589 | do { \ |
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h index 908fdbc3e0ee..0f9ee46cfc97 100644 --- a/drivers/net/wireless/ath/ath.h +++ b/drivers/net/wireless/ath/ath.h | |||
@@ -173,8 +173,7 @@ bool ath_hw_keyreset(struct ath_common *common, u16 entry); | |||
173 | void ath_hw_cycle_counters_update(struct ath_common *common); | 173 | void ath_hw_cycle_counters_update(struct ath_common *common); |
174 | int32_t ath_hw_get_listen_time(struct ath_common *common); | 174 | int32_t ath_hw_get_listen_time(struct ath_common *common); |
175 | 175 | ||
176 | extern __attribute__((format (printf, 2, 3))) | 176 | extern __printf(2, 3) void ath_printk(const char *level, const char *fmt, ...); |
177 | void ath_printk(const char *level, const char *fmt, ...); | ||
178 | 177 | ||
179 | #define _ath_printk(level, common, fmt, ...) \ | 178 | #define _ath_printk(level, common, fmt, ...) \ |
180 | do { \ | 179 | do { \ |
@@ -258,7 +257,7 @@ do { \ | |||
258 | 257 | ||
259 | #else | 258 | #else |
260 | 259 | ||
261 | static inline __attribute__((format (printf, 3, 4))) | 260 | static inline __attribute__ ((format (printf, 3, 4))) |
262 | void ath_dbg(struct ath_common *common, enum ATH_DEBUG dbg_mask, | 261 | void ath_dbg(struct ath_common *common, enum ATH_DEBUG dbg_mask, |
263 | const char *fmt, ...) | 262 | const char *fmt, ...) |
264 | { | 263 | { |
diff --git a/drivers/net/wireless/ath/ath5k/debug.h b/drivers/net/wireless/ath/ath5k/debug.h index 7f37df3125fd..0a3f916a1ef3 100644 --- a/drivers/net/wireless/ath/ath5k/debug.h +++ b/drivers/net/wireless/ath/ath5k/debug.h | |||
@@ -141,10 +141,10 @@ ath5k_debug_printtxbuf(struct ath5k_hw *ah, struct ath5k_buf *bf); | |||
141 | 141 | ||
142 | #include <linux/compiler.h> | 142 | #include <linux/compiler.h> |
143 | 143 | ||
144 | static inline void __attribute__ ((format (printf, 3, 4))) | 144 | static inline __printf(3, 4) void |
145 | ATH5K_DBG(struct ath5k_hw *ah, unsigned int m, const char *fmt, ...) {} | 145 | ATH5K_DBG(struct ath5k_hw *ah, unsigned int m, const char *fmt, ...) {} |
146 | 146 | ||
147 | static inline void __attribute__ ((format (printf, 3, 4))) | 147 | static inline __printf(3, 4) void |
148 | ATH5K_DBG_UNLIMIT(struct ath5k_hw *ah, unsigned int m, const char *fmt, ...) | 148 | ATH5K_DBG_UNLIMIT(struct ath5k_hw *ah, unsigned int m, const char *fmt, ...) |
149 | {} | 149 | {} |
150 | 150 | ||
diff --git a/drivers/net/wireless/ath/ath6kl/debug.h b/drivers/net/wireless/ath/ath6kl/debug.h index 9288a3ce1e39..7b7675f70a10 100644 --- a/drivers/net/wireless/ath/ath6kl/debug.h +++ b/drivers/net/wireless/ath/ath6kl/debug.h | |||
@@ -44,8 +44,8 @@ enum ATH6K_DEBUG_MASK { | |||
44 | }; | 44 | }; |
45 | 45 | ||
46 | extern unsigned int debug_mask; | 46 | extern unsigned int debug_mask; |
47 | extern int ath6kl_printk(const char *level, const char *fmt, ...) | 47 | extern __printf(2, 3) |
48 | __attribute__ ((format (printf, 2, 3))); | 48 | int ath6kl_printk(const char *level, const char *fmt, ...); |
49 | 49 | ||
50 | #define ath6kl_info(fmt, ...) \ | 50 | #define ath6kl_info(fmt, ...) \ |
51 | ath6kl_printk(KERN_INFO, fmt, ##__VA_ARGS__) | 51 | ath6kl_printk(KERN_INFO, fmt, ##__VA_ARGS__) |
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index 447a2307c9d9..37110dfd2c96 100644 --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h | |||
@@ -1011,14 +1011,10 @@ static inline bool b43_using_pio_transfers(struct b43_wldev *dev) | |||
1011 | } | 1011 | } |
1012 | 1012 | ||
1013 | /* Message printing */ | 1013 | /* Message printing */ |
1014 | void b43info(struct b43_wl *wl, const char *fmt, ...) | 1014 | __printf(2, 3) void b43info(struct b43_wl *wl, const char *fmt, ...); |
1015 | __attribute__ ((format(printf, 2, 3))); | 1015 | __printf(2, 3) void b43err(struct b43_wl *wl, const char *fmt, ...); |
1016 | void b43err(struct b43_wl *wl, const char *fmt, ...) | 1016 | __printf(2, 3) void b43warn(struct b43_wl *wl, const char *fmt, ...); |
1017 | __attribute__ ((format(printf, 2, 3))); | 1017 | __printf(2, 3) void b43dbg(struct b43_wl *wl, const char *fmt, ...); |
1018 | void b43warn(struct b43_wl *wl, const char *fmt, ...) | ||
1019 | __attribute__ ((format(printf, 2, 3))); | ||
1020 | void b43dbg(struct b43_wl *wl, const char *fmt, ...) | ||
1021 | __attribute__ ((format(printf, 2, 3))); | ||
1022 | 1018 | ||
1023 | 1019 | ||
1024 | /* A WARN_ON variant that vanishes when b43 debugging is disabled. | 1020 | /* A WARN_ON variant that vanishes when b43 debugging is disabled. |
diff --git a/drivers/net/wireless/b43legacy/b43legacy.h b/drivers/net/wireless/b43legacy/b43legacy.h index 12b518251581..1d4fc9db7f5e 100644 --- a/drivers/net/wireless/b43legacy/b43legacy.h +++ b/drivers/net/wireless/b43legacy/b43legacy.h | |||
@@ -810,15 +810,15 @@ struct b43legacy_lopair *b43legacy_get_lopair(struct b43legacy_phy *phy, | |||
810 | 810 | ||
811 | 811 | ||
812 | /* Message printing */ | 812 | /* Message printing */ |
813 | void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...) | 813 | __printf(2, 3) |
814 | __attribute__((format(printf, 2, 3))); | 814 | void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...); |
815 | void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...) | 815 | __printf(2, 3) |
816 | __attribute__((format(printf, 2, 3))); | 816 | void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...); |
817 | void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...) | 817 | __printf(2, 3) |
818 | __attribute__((format(printf, 2, 3))); | 818 | void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...); |
819 | #if B43legacy_DEBUG | 819 | #if B43legacy_DEBUG |
820 | void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...) | 820 | __printf(2, 3) |
821 | __attribute__((format(printf, 2, 3))); | 821 | void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...); |
822 | #else /* DEBUG */ | 822 | #else /* DEBUG */ |
823 | # define b43legacydbg(wl, fmt...) do { /* nothing */ } while (0) | 823 | # define b43legacydbg(wl, fmt...) do { /* nothing */ } while (0) |
824 | #endif /* DEBUG */ | 824 | #endif /* DEBUG */ |
diff --git a/drivers/staging/iio/trigger.h b/drivers/staging/iio/trigger.h index 598fcb3599f9..5cc42a655c88 100644 --- a/drivers/staging/iio/trigger.h +++ b/drivers/staging/iio/trigger.h | |||
@@ -115,8 +115,7 @@ void iio_trigger_poll_chained(struct iio_trigger *trig, s64 time); | |||
115 | 115 | ||
116 | irqreturn_t iio_trigger_generic_data_rdy_poll(int irq, void *private); | 116 | irqreturn_t iio_trigger_generic_data_rdy_poll(int irq, void *private); |
117 | 117 | ||
118 | struct iio_trigger *iio_allocate_trigger(const char *fmt, ...) | 118 | __printf(1, 2) struct iio_trigger *iio_allocate_trigger(const char *fmt, ...); |
119 | __attribute__((format(printf, 1, 2))); | ||
120 | void iio_free_trigger(struct iio_trigger *trig); | 119 | void iio_free_trigger(struct iio_trigger *trig); |
121 | 120 | ||
122 | #endif /* _IIO_TRIGGER_H_ */ | 121 | #endif /* _IIO_TRIGGER_H_ */ |
diff --git a/fs/ecryptfs/ecryptfs_kernel.h b/fs/ecryptfs/ecryptfs_kernel.h index b36c5572b3f3..54481a3b2c79 100644 --- a/fs/ecryptfs/ecryptfs_kernel.h +++ b/fs/ecryptfs/ecryptfs_kernel.h | |||
@@ -514,7 +514,7 @@ ecryptfs_set_dentry_lower_mnt(struct dentry *dentry, struct vfsmount *lower_mnt) | |||
514 | 514 | ||
515 | #define ecryptfs_printk(type, fmt, arg...) \ | 515 | #define ecryptfs_printk(type, fmt, arg...) \ |
516 | __ecryptfs_printk(type "%s: " fmt, __func__, ## arg); | 516 | __ecryptfs_printk(type "%s: " fmt, __func__, ## arg); |
517 | __attribute__ ((format(printf, 1, 2))) | 517 | __printf(1, 2) |
518 | void __ecryptfs_printk(const char *fmt, ...); | 518 | void __ecryptfs_printk(const char *fmt, ...); |
519 | 519 | ||
520 | extern const struct file_operations ecryptfs_main_fops; | 520 | extern const struct file_operations ecryptfs_main_fops; |
diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index af9fc89b1b2d..9a4e5e206d08 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h | |||
@@ -135,10 +135,10 @@ extern long ext2_compat_ioctl(struct file *, unsigned int, unsigned long); | |||
135 | struct dentry *ext2_get_parent(struct dentry *child); | 135 | struct dentry *ext2_get_parent(struct dentry *child); |
136 | 136 | ||
137 | /* super.c */ | 137 | /* super.c */ |
138 | extern void ext2_error (struct super_block *, const char *, const char *, ...) | 138 | extern __printf(3, 4) |
139 | __attribute__ ((format (printf, 3, 4))); | 139 | void ext2_error(struct super_block *, const char *, const char *, ...); |
140 | extern void ext2_msg(struct super_block *, const char *, const char *, ...) | 140 | extern __printf(3, 4) |
141 | __attribute__ ((format (printf, 3, 4))); | 141 | void ext2_msg(struct super_block *, const char *, const char *, ...); |
142 | extern void ext2_update_dynamic_rev (struct super_block *sb); | 142 | extern void ext2_update_dynamic_rev (struct super_block *sb); |
143 | extern void ext2_write_super (struct super_block *); | 143 | extern void ext2_write_super (struct super_block *); |
144 | 144 | ||
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index b7d7bd0f066e..cec3145e532c 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -1878,40 +1878,40 @@ extern int ext4_group_extend(struct super_block *sb, | |||
1878 | extern void *ext4_kvmalloc(size_t size, gfp_t flags); | 1878 | extern void *ext4_kvmalloc(size_t size, gfp_t flags); |
1879 | extern void *ext4_kvzalloc(size_t size, gfp_t flags); | 1879 | extern void *ext4_kvzalloc(size_t size, gfp_t flags); |
1880 | extern void ext4_kvfree(void *ptr); | 1880 | extern void ext4_kvfree(void *ptr); |
1881 | extern void __ext4_error(struct super_block *, const char *, unsigned int, | 1881 | extern __printf(4, 5) |
1882 | const char *, ...) | 1882 | void __ext4_error(struct super_block *, const char *, unsigned int, |
1883 | __attribute__ ((format (printf, 4, 5))); | 1883 | const char *, ...); |
1884 | #define ext4_error(sb, message...) __ext4_error(sb, __func__, \ | 1884 | #define ext4_error(sb, message...) __ext4_error(sb, __func__, \ |
1885 | __LINE__, ## message) | 1885 | __LINE__, ## message) |
1886 | extern void ext4_error_inode(struct inode *, const char *, unsigned int, | 1886 | extern __printf(5, 6) |
1887 | ext4_fsblk_t, const char *, ...) | 1887 | void ext4_error_inode(struct inode *, const char *, unsigned int, ext4_fsblk_t, |
1888 | __attribute__ ((format (printf, 5, 6))); | 1888 | const char *, ...); |
1889 | extern void ext4_error_file(struct file *, const char *, unsigned int, | 1889 | extern __printf(5, 6) |
1890 | ext4_fsblk_t, const char *, ...) | 1890 | void ext4_error_file(struct file *, const char *, unsigned int, ext4_fsblk_t, |
1891 | __attribute__ ((format (printf, 5, 6))); | 1891 | const char *, ...); |
1892 | extern void __ext4_std_error(struct super_block *, const char *, | 1892 | extern void __ext4_std_error(struct super_block *, const char *, |
1893 | unsigned int, int); | 1893 | unsigned int, int); |
1894 | extern void __ext4_abort(struct super_block *, const char *, unsigned int, | 1894 | extern __printf(4, 5) |
1895 | const char *, ...) | 1895 | void __ext4_abort(struct super_block *, const char *, unsigned int, |
1896 | __attribute__ ((format (printf, 4, 5))); | 1896 | const char *, ...); |
1897 | #define ext4_abort(sb, message...) __ext4_abort(sb, __func__, \ | 1897 | #define ext4_abort(sb, message...) __ext4_abort(sb, __func__, \ |
1898 | __LINE__, ## message) | 1898 | __LINE__, ## message) |
1899 | extern void __ext4_warning(struct super_block *, const char *, unsigned int, | 1899 | extern __printf(4, 5) |
1900 | const char *, ...) | 1900 | void __ext4_warning(struct super_block *, const char *, unsigned int, |
1901 | __attribute__ ((format (printf, 4, 5))); | 1901 | const char *, ...); |
1902 | #define ext4_warning(sb, message...) __ext4_warning(sb, __func__, \ | 1902 | #define ext4_warning(sb, message...) __ext4_warning(sb, __func__, \ |
1903 | __LINE__, ## message) | 1903 | __LINE__, ## message) |
1904 | extern void ext4_msg(struct super_block *, const char *, const char *, ...) | 1904 | extern __printf(3, 4) |
1905 | __attribute__ ((format (printf, 3, 4))); | 1905 | void ext4_msg(struct super_block *, const char *, const char *, ...); |
1906 | extern void __dump_mmp_msg(struct super_block *, struct mmp_struct *mmp, | 1906 | extern void __dump_mmp_msg(struct super_block *, struct mmp_struct *mmp, |
1907 | const char *, unsigned int, const char *); | 1907 | const char *, unsigned int, const char *); |
1908 | #define dump_mmp_msg(sb, mmp, msg) __dump_mmp_msg(sb, mmp, __func__, \ | 1908 | #define dump_mmp_msg(sb, mmp, msg) __dump_mmp_msg(sb, mmp, __func__, \ |
1909 | __LINE__, msg) | 1909 | __LINE__, msg) |
1910 | extern void __ext4_grp_locked_error(const char *, unsigned int, \ | 1910 | extern __printf(7, 8) |
1911 | struct super_block *, ext4_group_t, \ | 1911 | void __ext4_grp_locked_error(const char *, unsigned int, |
1912 | unsigned long, ext4_fsblk_t, \ | 1912 | struct super_block *, ext4_group_t, |
1913 | const char *, ...) | 1913 | unsigned long, ext4_fsblk_t, |
1914 | __attribute__ ((format (printf, 7, 8))); | 1914 | const char *, ...); |
1915 | #define ext4_grp_locked_error(sb, grp, message...) \ | 1915 | #define ext4_grp_locked_error(sb, grp, message...) \ |
1916 | __ext4_grp_locked_error(__func__, __LINE__, (sb), (grp), ## message) | 1916 | __ext4_grp_locked_error(__func__, __LINE__, (sb), (grp), ## message) |
1917 | extern void ext4_update_dynamic_rev(struct super_block *sb); | 1917 | extern void ext4_update_dynamic_rev(struct super_block *sb); |
diff --git a/fs/fat/fat.h b/fs/fat/fat.h index a5d3853822e0..1510a4d51990 100644 --- a/fs/fat/fat.h +++ b/fs/fat/fat.h | |||
@@ -326,15 +326,14 @@ extern int fat_fill_super(struct super_block *sb, void *data, int silent, | |||
326 | extern int fat_flush_inodes(struct super_block *sb, struct inode *i1, | 326 | extern int fat_flush_inodes(struct super_block *sb, struct inode *i1, |
327 | struct inode *i2); | 327 | struct inode *i2); |
328 | /* fat/misc.c */ | 328 | /* fat/misc.c */ |
329 | extern void | 329 | extern __printf(3, 4) __cold |
330 | __fat_fs_error(struct super_block *sb, int report, const char *fmt, ...) | 330 | void __fat_fs_error(struct super_block *sb, int report, const char *fmt, ...); |
331 | __attribute__ ((format (printf, 3, 4))) __cold; | ||
332 | #define fat_fs_error(sb, fmt, args...) \ | 331 | #define fat_fs_error(sb, fmt, args...) \ |
333 | __fat_fs_error(sb, 1, fmt , ## args) | 332 | __fat_fs_error(sb, 1, fmt , ## args) |
334 | #define fat_fs_error_ratelimit(sb, fmt, args...) \ | 333 | #define fat_fs_error_ratelimit(sb, fmt, args...) \ |
335 | __fat_fs_error(sb, __ratelimit(&MSDOS_SB(sb)->ratelimit), fmt , ## args) | 334 | __fat_fs_error(sb, __ratelimit(&MSDOS_SB(sb)->ratelimit), fmt , ## args) |
336 | void fat_msg(struct super_block *sb, const char *level, const char *fmt, ...) | 335 | __printf(3, 4) __cold |
337 | __attribute__ ((format (printf, 3, 4))) __cold; | 336 | void fat_msg(struct super_block *sb, const char *level, const char *fmt, ...); |
338 | extern int fat_clusters_flush(struct super_block *sb); | 337 | extern int fat_clusters_flush(struct super_block *sb); |
339 | extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster); | 338 | extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster); |
340 | extern void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts, | 339 | extern void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts, |
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h index 66707118af25..2553b858a72e 100644 --- a/fs/gfs2/glock.h +++ b/fs/gfs2/glock.h | |||
@@ -201,7 +201,7 @@ int gfs2_glock_nq_m(unsigned int num_gh, struct gfs2_holder *ghs); | |||
201 | void gfs2_glock_dq_m(unsigned int num_gh, struct gfs2_holder *ghs); | 201 | void gfs2_glock_dq_m(unsigned int num_gh, struct gfs2_holder *ghs); |
202 | void gfs2_glock_dq_uninit_m(unsigned int num_gh, struct gfs2_holder *ghs); | 202 | void gfs2_glock_dq_uninit_m(unsigned int num_gh, struct gfs2_holder *ghs); |
203 | 203 | ||
204 | __attribute__ ((format(printf, 2, 3))) | 204 | __printf(2, 3) |
205 | void gfs2_print_dbg(struct seq_file *seq, const char *fmt, ...); | 205 | void gfs2_print_dbg(struct seq_file *seq, const char *fmt, ...); |
206 | 206 | ||
207 | /** | 207 | /** |
diff --git a/fs/hpfs/hpfs_fn.h b/fs/hpfs/hpfs_fn.h index 331b5e234ef3..de946170ebb1 100644 --- a/fs/hpfs/hpfs_fn.h +++ b/fs/hpfs/hpfs_fn.h | |||
@@ -311,8 +311,8 @@ static inline struct hpfs_sb_info *hpfs_sb(struct super_block *sb) | |||
311 | 311 | ||
312 | /* super.c */ | 312 | /* super.c */ |
313 | 313 | ||
314 | void hpfs_error(struct super_block *, const char *, ...) | 314 | __printf(2, 3) |
315 | __attribute__((format (printf, 2, 3))); | 315 | void hpfs_error(struct super_block *, const char *, ...); |
316 | int hpfs_stop_cycles(struct super_block *, int, int *, int *, char *); | 316 | int hpfs_stop_cycles(struct super_block *, int, int *, int *, char *); |
317 | unsigned hpfs_count_one_bitmap(struct super_block *, secno); | 317 | unsigned hpfs_count_one_bitmap(struct super_block *, secno); |
318 | 318 | ||
diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h index 255d5e1c03b7..3777d138f895 100644 --- a/fs/nilfs2/nilfs.h +++ b/fs/nilfs2/nilfs.h | |||
@@ -276,10 +276,10 @@ int nilfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | |||
276 | /* super.c */ | 276 | /* super.c */ |
277 | extern struct inode *nilfs_alloc_inode(struct super_block *); | 277 | extern struct inode *nilfs_alloc_inode(struct super_block *); |
278 | extern void nilfs_destroy_inode(struct inode *); | 278 | extern void nilfs_destroy_inode(struct inode *); |
279 | extern void nilfs_error(struct super_block *, const char *, const char *, ...) | 279 | extern __printf(3, 4) |
280 | __attribute__ ((format (printf, 3, 4))); | 280 | void nilfs_error(struct super_block *, const char *, const char *, ...); |
281 | extern void nilfs_warning(struct super_block *, const char *, const char *, ...) | 281 | extern __printf(3, 4) |
282 | __attribute__ ((format (printf, 3, 4))); | 282 | void nilfs_warning(struct super_block *, const char *, const char *, ...); |
283 | extern struct nilfs_super_block * | 283 | extern struct nilfs_super_block * |
284 | nilfs_read_super_block(struct super_block *, u64, int, struct buffer_head **); | 284 | nilfs_read_super_block(struct super_block *, u64, int, struct buffer_head **); |
285 | extern int nilfs_store_magic_and_option(struct super_block *, | 285 | extern int nilfs_store_magic_and_option(struct super_block *, |
diff --git a/fs/ntfs/debug.h b/fs/ntfs/debug.h index 2142b1c68b61..53c27eaf2307 100644 --- a/fs/ntfs/debug.h +++ b/fs/ntfs/debug.h | |||
@@ -30,8 +30,9 @@ | |||
30 | 30 | ||
31 | extern int debug_msgs; | 31 | extern int debug_msgs; |
32 | 32 | ||
33 | extern void __ntfs_debug(const char *file, int line, const char *function, | 33 | extern __printf(4, 5) |
34 | const char *format, ...) __attribute__ ((format (printf, 4, 5))); | 34 | void __ntfs_debug(const char *file, int line, const char *function, |
35 | const char *format, ...); | ||
35 | /** | 36 | /** |
36 | * ntfs_debug - write a debug level message to syslog | 37 | * ntfs_debug - write a debug level message to syslog |
37 | * @f: a printf format string containing the message | 38 | * @f: a printf format string containing the message |
@@ -52,12 +53,14 @@ extern void ntfs_debug_dump_runlist(const runlist_element *rl); | |||
52 | 53 | ||
53 | #endif /* !DEBUG */ | 54 | #endif /* !DEBUG */ |
54 | 55 | ||
55 | extern void __ntfs_warning(const char *function, const struct super_block *sb, | 56 | extern __printf(3, 4) |
56 | const char *fmt, ...) __attribute__ ((format (printf, 3, 4))); | 57 | void __ntfs_warning(const char *function, const struct super_block *sb, |
58 | const char *fmt, ...); | ||
57 | #define ntfs_warning(sb, f, a...) __ntfs_warning(__func__, sb, f, ##a) | 59 | #define ntfs_warning(sb, f, a...) __ntfs_warning(__func__, sb, f, ##a) |
58 | 60 | ||
59 | extern void __ntfs_error(const char *function, const struct super_block *sb, | 61 | extern __printf(3, 4) |
60 | const char *fmt, ...) __attribute__ ((format (printf, 3, 4))); | 62 | void __ntfs_error(const char *function, const struct super_block *sb, |
63 | const char *fmt, ...); | ||
61 | #define ntfs_error(sb, f, a...) __ntfs_error(__func__, sb, f, ##a) | 64 | #define ntfs_error(sb, f, a...) __ntfs_error(__func__, sb, f, ##a) |
62 | 65 | ||
63 | #endif /* _LINUX_NTFS_DEBUG_H */ | 66 | #endif /* _LINUX_NTFS_DEBUG_H */ |
diff --git a/fs/ocfs2/super.h b/fs/ocfs2/super.h index 40c7de084c10..74ff74cf78fe 100644 --- a/fs/ocfs2/super.h +++ b/fs/ocfs2/super.h | |||
@@ -31,17 +31,15 @@ extern struct workqueue_struct *ocfs2_wq; | |||
31 | int ocfs2_publish_get_mount_state(struct ocfs2_super *osb, | 31 | int ocfs2_publish_get_mount_state(struct ocfs2_super *osb, |
32 | int node_num); | 32 | int node_num); |
33 | 33 | ||
34 | void __ocfs2_error(struct super_block *sb, | 34 | __printf(3, 4) |
35 | const char *function, | 35 | void __ocfs2_error(struct super_block *sb, const char *function, |
36 | const char *fmt, ...) | 36 | const char *fmt, ...); |
37 | __attribute__ ((format (printf, 3, 4))); | ||
38 | 37 | ||
39 | #define ocfs2_error(sb, fmt, args...) __ocfs2_error(sb, __PRETTY_FUNCTION__, fmt, ##args) | 38 | #define ocfs2_error(sb, fmt, args...) __ocfs2_error(sb, __PRETTY_FUNCTION__, fmt, ##args) |
40 | 39 | ||
41 | void __ocfs2_abort(struct super_block *sb, | 40 | __printf(3, 4) |
42 | const char *function, | 41 | void __ocfs2_abort(struct super_block *sb, const char *function, |
43 | const char *fmt, ...) | 42 | const char *fmt, ...); |
44 | __attribute__ ((format (printf, 3, 4))); | ||
45 | 43 | ||
46 | #define ocfs2_abort(sb, fmt, args...) __ocfs2_abort(sb, __PRETTY_FUNCTION__, fmt, ##args) | 44 | #define ocfs2_abort(sb, fmt, args...) __ocfs2_abort(sb, __PRETTY_FUNCTION__, fmt, ##args) |
47 | 45 | ||
diff --git a/fs/partitions/ldm.c b/fs/partitions/ldm.c index af9fdf046769..bd8ae788f689 100644 --- a/fs/partitions/ldm.c +++ b/fs/partitions/ldm.c | |||
@@ -49,18 +49,20 @@ | |||
49 | #define ldm_error(f, a...) _ldm_printk (KERN_ERR, __func__, f, ##a) | 49 | #define ldm_error(f, a...) _ldm_printk (KERN_ERR, __func__, f, ##a) |
50 | #define ldm_info(f, a...) _ldm_printk (KERN_INFO, __func__, f, ##a) | 50 | #define ldm_info(f, a...) _ldm_printk (KERN_INFO, __func__, f, ##a) |
51 | 51 | ||
52 | __attribute__ ((format (printf, 3, 4))) | 52 | static __printf(3, 4) |
53 | static void _ldm_printk (const char *level, const char *function, | 53 | void _ldm_printk(const char *level, const char *function, const char *fmt, ...) |
54 | const char *fmt, ...) | ||
55 | { | 54 | { |
56 | static char buf[128]; | 55 | struct va_format vaf; |
57 | va_list args; | 56 | va_list args; |
58 | 57 | ||
59 | va_start (args, fmt); | 58 | va_start (args, fmt); |
60 | vsnprintf (buf, sizeof (buf), fmt, args); | ||
61 | va_end (args); | ||
62 | 59 | ||
63 | printk ("%s%s(): %s\n", level, function, buf); | 60 | vaf.fmt = fmt; |
61 | vaf.va = &args; | ||
62 | |||
63 | printk("%s%s(): %pV\n", level, function, &vaf); | ||
64 | |||
65 | va_end(args); | ||
64 | } | 66 | } |
65 | 67 | ||
66 | /** | 68 | /** |
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index dbd52d4b5eed..dc8a8dcc5ae1 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h | |||
@@ -112,8 +112,8 @@ struct extent_position { | |||
112 | 112 | ||
113 | /* super.c */ | 113 | /* super.c */ |
114 | 114 | ||
115 | __attribute__((format(printf, 3, 4))) | 115 | extern __printf(3, 4) void udf_warning(struct super_block *, const char *, |
116 | extern void udf_warning(struct super_block *, const char *, const char *, ...); | 116 | const char *, ...); |
117 | static inline void udf_updated_lvid(struct super_block *sb) | 117 | static inline void udf_updated_lvid(struct super_block *sb) |
118 | { | 118 | { |
119 | struct buffer_head *bh = UDF_SB(sb)->s_lvid_bh; | 119 | struct buffer_head *bh = UDF_SB(sb)->s_lvid_bh; |
diff --git a/fs/ufs/ufs.h b/fs/ufs/ufs.h index 5be2755dd715..c26f2bcec264 100644 --- a/fs/ufs/ufs.h +++ b/fs/ufs/ufs.h | |||
@@ -117,9 +117,12 @@ extern int ufs_getfrag_block (struct inode *inode, sector_t fragment, struct buf | |||
117 | extern const struct file_operations ufs_dir_operations; | 117 | extern const struct file_operations ufs_dir_operations; |
118 | 118 | ||
119 | /* super.c */ | 119 | /* super.c */ |
120 | extern void ufs_warning (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4))); | 120 | extern __printf(3, 4) |
121 | extern void ufs_error (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4))); | 121 | void ufs_warning(struct super_block *, const char *, const char *, ...); |
122 | extern void ufs_panic (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4))); | 122 | extern __printf(3, 4) |
123 | void ufs_error(struct super_block *, const char *, const char *, ...); | ||
124 | extern __printf(3, 4) | ||
125 | void ufs_panic(struct super_block *, const char *, const char *, ...); | ||
123 | 126 | ||
124 | /* symlink.c */ | 127 | /* symlink.c */ |
125 | extern const struct inode_operations ufs_fast_symlink_inode_operations; | 128 | extern const struct inode_operations ufs_fast_symlink_inode_operations; |
diff --git a/fs/xfs/xfs_message.h b/fs/xfs/xfs_message.h index 7fb7ea007672..56dc0c17f16a 100644 --- a/fs/xfs/xfs_message.h +++ b/fs/xfs/xfs_message.h | |||
@@ -3,31 +3,29 @@ | |||
3 | 3 | ||
4 | struct xfs_mount; | 4 | struct xfs_mount; |
5 | 5 | ||
6 | extern void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...) | 6 | extern __printf(2, 3) |
7 | __attribute__ ((format (printf, 2, 3))); | 7 | void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...); |
8 | extern void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...) | 8 | extern __printf(2, 3) |
9 | __attribute__ ((format (printf, 2, 3))); | 9 | void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...); |
10 | extern void xfs_alert_tag(const struct xfs_mount *mp, int tag, | 10 | extern __printf(3, 4) |
11 | const char *fmt, ...) | 11 | void xfs_alert_tag(const struct xfs_mount *mp, int tag, const char *fmt, ...); |
12 | __attribute__ ((format (printf, 3, 4))); | 12 | extern __printf(2, 3) |
13 | extern void xfs_crit(const struct xfs_mount *mp, const char *fmt, ...) | 13 | void xfs_crit(const struct xfs_mount *mp, const char *fmt, ...); |
14 | __attribute__ ((format (printf, 2, 3))); | 14 | extern __printf(2, 3) |
15 | extern void xfs_err(const struct xfs_mount *mp, const char *fmt, ...) | 15 | void xfs_err(const struct xfs_mount *mp, const char *fmt, ...); |
16 | __attribute__ ((format (printf, 2, 3))); | 16 | extern __printf(2, 3) |
17 | extern void xfs_warn(const struct xfs_mount *mp, const char *fmt, ...) | 17 | void xfs_warn(const struct xfs_mount *mp, const char *fmt, ...); |
18 | __attribute__ ((format (printf, 2, 3))); | 18 | extern __printf(2, 3) |
19 | extern void xfs_notice(const struct xfs_mount *mp, const char *fmt, ...) | 19 | void xfs_notice(const struct xfs_mount *mp, const char *fmt, ...); |
20 | __attribute__ ((format (printf, 2, 3))); | 20 | extern __printf(2, 3) |
21 | extern void xfs_info(const struct xfs_mount *mp, const char *fmt, ...) | 21 | void xfs_info(const struct xfs_mount *mp, const char *fmt, ...); |
22 | __attribute__ ((format (printf, 2, 3))); | ||
23 | 22 | ||
24 | #ifdef DEBUG | 23 | #ifdef DEBUG |
25 | extern void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) | 24 | extern __printf(2, 3) |
26 | __attribute__ ((format (printf, 2, 3))); | 25 | void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...); |
27 | #else | 26 | #else |
28 | static inline void | 27 | static inline __printf(2, 3) |
29 | __attribute__ ((format (printf, 2, 3))) | 28 | void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) |
30 | xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) | ||
31 | { | 29 | { |
32 | } | 30 | } |
33 | #endif | 31 | #endif |
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index dfb0ec666c94..84458b0c38d1 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h | |||
@@ -61,11 +61,12 @@ struct bug_entry { | |||
61 | */ | 61 | */ |
62 | #ifndef __WARN_TAINT | 62 | #ifndef __WARN_TAINT |
63 | #ifndef __ASSEMBLY__ | 63 | #ifndef __ASSEMBLY__ |
64 | extern void warn_slowpath_fmt(const char *file, const int line, | 64 | extern __printf(3, 4) |
65 | const char *fmt, ...) __attribute__((format(printf, 3, 4))); | 65 | void warn_slowpath_fmt(const char *file, const int line, |
66 | extern void warn_slowpath_fmt_taint(const char *file, const int line, | 66 | const char *fmt, ...); |
67 | unsigned taint, const char *fmt, ...) | 67 | extern __printf(4, 5) |
68 | __attribute__((format(printf, 4, 5))); | 68 | void warn_slowpath_fmt_taint(const char *file, const int line, unsigned taint, |
69 | const char *fmt, ...); | ||
69 | extern void warn_slowpath_null(const char *file, const int line); | 70 | extern void warn_slowpath_null(const char *file, const int line); |
70 | #define WANT_WARN_ON_SLOWPATH | 71 | #define WANT_WARN_ON_SLOWPATH |
71 | #endif | 72 | #endif |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 43538b643560..cf3b446139ea 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -122,12 +122,12 @@ struct drm_device; | |||
122 | * using the DRM_DEBUG_KMS and DRM_DEBUG. | 122 | * using the DRM_DEBUG_KMS and DRM_DEBUG. |
123 | */ | 123 | */ |
124 | 124 | ||
125 | extern __attribute__((format (printf, 4, 5))) | 125 | extern __printf(4, 5) |
126 | void drm_ut_debug_printk(unsigned int request_level, | 126 | void drm_ut_debug_printk(unsigned int request_level, |
127 | const char *prefix, | 127 | const char *prefix, |
128 | const char *function_name, | 128 | const char *function_name, |
129 | const char *format, ...); | 129 | const char *format, ...); |
130 | extern __attribute__((format (printf, 2, 3))) | 130 | extern __printf(2, 3) |
131 | int drm_err(const char *func, const char *format, ...); | 131 | int drm_err(const char *func, const char *format, ...); |
132 | 132 | ||
133 | /***********************************************************************/ | 133 | /***********************************************************************/ |
diff --git a/include/linux/audit.h b/include/linux/audit.h index 0c8006129fb2..2f81c6f3b630 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -584,14 +584,13 @@ extern int audit_signals; | |||
584 | #ifdef CONFIG_AUDIT | 584 | #ifdef CONFIG_AUDIT |
585 | /* These are defined in audit.c */ | 585 | /* These are defined in audit.c */ |
586 | /* Public API */ | 586 | /* Public API */ |
587 | extern void audit_log(struct audit_context *ctx, gfp_t gfp_mask, | 587 | extern __printf(4, 5) |
588 | int type, const char *fmt, ...) | 588 | void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type, |
589 | __attribute__((format(printf,4,5))); | 589 | const char *fmt, ...); |
590 | 590 | ||
591 | extern struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, int type); | 591 | extern struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, int type); |
592 | extern void audit_log_format(struct audit_buffer *ab, | 592 | extern __printf(2, 3) |
593 | const char *fmt, ...) | 593 | void audit_log_format(struct audit_buffer *ab, const char *fmt, ...); |
594 | __attribute__((format(printf,2,3))); | ||
595 | extern void audit_log_end(struct audit_buffer *ab); | 594 | extern void audit_log_end(struct audit_buffer *ab); |
596 | extern int audit_string_contains_control(const char *string, | 595 | extern int audit_string_contains_control(const char *string, |
597 | size_t len); | 596 | size_t len); |
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index 8e9e4bc6d73b..4d1a0748eaf8 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h | |||
@@ -170,7 +170,7 @@ extern void blk_trace_shutdown(struct request_queue *); | |||
170 | extern int do_blk_trace_setup(struct request_queue *q, char *name, | 170 | extern int do_blk_trace_setup(struct request_queue *q, char *name, |
171 | dev_t dev, struct block_device *bdev, | 171 | dev_t dev, struct block_device *bdev, |
172 | struct blk_user_trace_setup *buts); | 172 | struct blk_user_trace_setup *buts); |
173 | extern __attribute__((format(printf, 2, 3))) | 173 | extern __printf(2, 3) |
174 | void __trace_note_message(struct blk_trace *, const char *fmt, ...); | 174 | void __trace_note_message(struct blk_trace *, const char *fmt, ...); |
175 | 175 | ||
176 | /** | 176 | /** |
diff --git a/include/linux/device.h b/include/linux/device.h index 85e78fc7d7fd..e88abeecfadf 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -622,8 +622,8 @@ static inline const char *dev_name(const struct device *dev) | |||
622 | return kobject_name(&dev->kobj); | 622 | return kobject_name(&dev->kobj); |
623 | } | 623 | } |
624 | 624 | ||
625 | extern int dev_set_name(struct device *dev, const char *name, ...) | 625 | extern __printf(2, 3) |
626 | __attribute__((format(printf, 2, 3))); | 626 | int dev_set_name(struct device *dev, const char *name, ...); |
627 | 627 | ||
628 | #ifdef CONFIG_NUMA | 628 | #ifdef CONFIG_NUMA |
629 | static inline int dev_to_node(struct device *dev) | 629 | static inline int dev_to_node(struct device *dev) |
@@ -753,10 +753,10 @@ extern struct device *device_create_vargs(struct class *cls, | |||
753 | void *drvdata, | 753 | void *drvdata, |
754 | const char *fmt, | 754 | const char *fmt, |
755 | va_list vargs); | 755 | va_list vargs); |
756 | extern struct device *device_create(struct class *cls, struct device *parent, | 756 | extern __printf(5, 6) |
757 | dev_t devt, void *drvdata, | 757 | struct device *device_create(struct class *cls, struct device *parent, |
758 | const char *fmt, ...) | 758 | dev_t devt, void *drvdata, |
759 | __attribute__((format(printf, 5, 6))); | 759 | const char *fmt, ...); |
760 | extern void device_destroy(struct class *cls, dev_t devt); | 760 | extern void device_destroy(struct class *cls, dev_t devt); |
761 | 761 | ||
762 | /* | 762 | /* |
@@ -800,64 +800,56 @@ extern const char *dev_driver_string(const struct device *dev); | |||
800 | 800 | ||
801 | extern int __dev_printk(const char *level, const struct device *dev, | 801 | extern int __dev_printk(const char *level, const struct device *dev, |
802 | struct va_format *vaf); | 802 | struct va_format *vaf); |
803 | extern int dev_printk(const char *level, const struct device *dev, | 803 | extern __printf(3, 4) |
804 | const char *fmt, ...) | 804 | int dev_printk(const char *level, const struct device *dev, |
805 | __attribute__ ((format (printf, 3, 4))); | 805 | const char *fmt, ...) |
806 | extern int dev_emerg(const struct device *dev, const char *fmt, ...) | 806 | ; |
807 | __attribute__ ((format (printf, 2, 3))); | 807 | extern __printf(2, 3) |
808 | extern int dev_alert(const struct device *dev, const char *fmt, ...) | 808 | int dev_emerg(const struct device *dev, const char *fmt, ...); |
809 | __attribute__ ((format (printf, 2, 3))); | 809 | extern __printf(2, 3) |
810 | extern int dev_crit(const struct device *dev, const char *fmt, ...) | 810 | int dev_alert(const struct device *dev, const char *fmt, ...); |
811 | __attribute__ ((format (printf, 2, 3))); | 811 | extern __printf(2, 3) |
812 | extern int dev_err(const struct device *dev, const char *fmt, ...) | 812 | int dev_crit(const struct device *dev, const char *fmt, ...); |
813 | __attribute__ ((format (printf, 2, 3))); | 813 | extern __printf(2, 3) |
814 | extern int dev_warn(const struct device *dev, const char *fmt, ...) | 814 | int dev_err(const struct device *dev, const char *fmt, ...); |
815 | __attribute__ ((format (printf, 2, 3))); | 815 | extern __printf(2, 3) |
816 | extern int dev_notice(const struct device *dev, const char *fmt, ...) | 816 | int dev_warn(const struct device *dev, const char *fmt, ...); |
817 | __attribute__ ((format (printf, 2, 3))); | 817 | extern __printf(2, 3) |
818 | extern int _dev_info(const struct device *dev, const char *fmt, ...) | 818 | int dev_notice(const struct device *dev, const char *fmt, ...); |
819 | __attribute__ ((format (printf, 2, 3))); | 819 | extern __printf(2, 3) |
820 | int _dev_info(const struct device *dev, const char *fmt, ...); | ||
820 | 821 | ||
821 | #else | 822 | #else |
822 | 823 | ||
823 | static inline int __dev_printk(const char *level, const struct device *dev, | 824 | static inline int __dev_printk(const char *level, const struct device *dev, |
824 | struct va_format *vaf) | 825 | struct va_format *vaf) |
825 | { return 0; } | 826 | { return 0; } |
826 | static inline int dev_printk(const char *level, const struct device *dev, | 827 | static inline __printf(3, 4) |
827 | const char *fmt, ...) | 828 | int dev_printk(const char *level, const struct device *dev, |
828 | __attribute__ ((format (printf, 3, 4))); | 829 | const char *fmt, ...) |
829 | static inline int dev_printk(const char *level, const struct device *dev, | 830 | { return 0; } |
830 | const char *fmt, ...) | 831 | |
831 | { return 0; } | 832 | static inline __printf(2, 3) |
832 | 833 | int dev_emerg(const struct device *dev, const char *fmt, ...) | |
833 | static inline int dev_emerg(const struct device *dev, const char *fmt, ...) | 834 | { return 0; } |
834 | __attribute__ ((format (printf, 2, 3))); | 835 | static inline __printf(2, 3) |
835 | static inline int dev_emerg(const struct device *dev, const char *fmt, ...) | 836 | int dev_crit(const struct device *dev, const char *fmt, ...) |
836 | { return 0; } | 837 | { return 0; } |
837 | static inline int dev_crit(const struct device *dev, const char *fmt, ...) | 838 | static inline __printf(2, 3) |
838 | __attribute__ ((format (printf, 2, 3))); | 839 | int dev_alert(const struct device *dev, const char *fmt, ...) |
839 | static inline int dev_crit(const struct device *dev, const char *fmt, ...) | 840 | { return 0; } |
840 | { return 0; } | 841 | static inline __printf(2, 3) |
841 | static inline int dev_alert(const struct device *dev, const char *fmt, ...) | 842 | int dev_err(const struct device *dev, const char *fmt, ...) |
842 | __attribute__ ((format (printf, 2, 3))); | 843 | { return 0; } |
843 | static inline int dev_alert(const struct device *dev, const char *fmt, ...) | 844 | static inline __printf(2, 3) |
844 | { return 0; } | 845 | int dev_warn(const struct device *dev, const char *fmt, ...) |
845 | static inline int dev_err(const struct device *dev, const char *fmt, ...) | 846 | { return 0; } |
846 | __attribute__ ((format (printf, 2, 3))); | 847 | static inline __printf(2, 3) |
847 | static inline int dev_err(const struct device *dev, const char *fmt, ...) | 848 | int dev_notice(const struct device *dev, const char *fmt, ...) |
848 | { return 0; } | 849 | { return 0; } |
849 | static inline int dev_warn(const struct device *dev, const char *fmt, ...) | 850 | static inline __printf(2, 3) |
850 | __attribute__ ((format (printf, 2, 3))); | 851 | int _dev_info(const struct device *dev, const char *fmt, ...) |
851 | static inline int dev_warn(const struct device *dev, const char *fmt, ...) | 852 | { return 0; } |
852 | { return 0; } | ||
853 | static inline int dev_notice(const struct device *dev, const char *fmt, ...) | ||
854 | __attribute__ ((format (printf, 2, 3))); | ||
855 | static inline int dev_notice(const struct device *dev, const char *fmt, ...) | ||
856 | { return 0; } | ||
857 | static inline int _dev_info(const struct device *dev, const char *fmt, ...) | ||
858 | __attribute__ ((format (printf, 2, 3))); | ||
859 | static inline int _dev_info(const struct device *dev, const char *fmt, ...) | ||
860 | { return 0; } | ||
861 | 853 | ||
862 | #endif | 854 | #endif |
863 | 855 | ||
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 13aae8087b56..0564e3c39882 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h | |||
@@ -37,22 +37,21 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n, | |||
37 | 37 | ||
38 | #if defined(CONFIG_DYNAMIC_DEBUG) | 38 | #if defined(CONFIG_DYNAMIC_DEBUG) |
39 | extern int ddebug_remove_module(const char *mod_name); | 39 | extern int ddebug_remove_module(const char *mod_name); |
40 | extern int __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...) | 40 | extern __printf(2, 3) |
41 | __attribute__ ((format (printf, 2, 3))); | 41 | int __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...); |
42 | 42 | ||
43 | struct device; | 43 | struct device; |
44 | 44 | ||
45 | extern int __dynamic_dev_dbg(struct _ddebug *descriptor, | 45 | extern __printf(3, 4) |
46 | const struct device *dev, | 46 | int __dynamic_dev_dbg(struct _ddebug *descriptor, const struct device *dev, |
47 | const char *fmt, ...) | 47 | const char *fmt, ...); |
48 | __attribute__ ((format (printf, 3, 4))); | ||
49 | 48 | ||
50 | struct net_device; | 49 | struct net_device; |
51 | 50 | ||
52 | extern int __dynamic_netdev_dbg(struct _ddebug *descriptor, | 51 | extern __printf(3, 4) |
53 | const struct net_device *dev, | 52 | int __dynamic_netdev_dbg(struct _ddebug *descriptor, |
54 | const char *fmt, ...) | 53 | const struct net_device *dev, |
55 | __attribute__ ((format (printf, 3, 4))); | 54 | const char *fmt, ...); |
56 | 55 | ||
57 | #define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ | 56 | #define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ |
58 | static struct _ddebug __used __aligned(8) \ | 57 | static struct _ddebug __used __aligned(8) \ |
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h index 67a803aee619..81965cce6bfa 100644 --- a/include/linux/ext3_fs.h +++ b/include/linux/ext3_fs.h | |||
@@ -937,15 +937,15 @@ extern int ext3_group_extend(struct super_block *sb, | |||
937 | ext3_fsblk_t n_blocks_count); | 937 | ext3_fsblk_t n_blocks_count); |
938 | 938 | ||
939 | /* super.c */ | 939 | /* super.c */ |
940 | extern void ext3_error (struct super_block *, const char *, const char *, ...) | 940 | extern __printf(3, 4) |
941 | __attribute__ ((format (printf, 3, 4))); | 941 | void ext3_error(struct super_block *, const char *, const char *, ...); |
942 | extern void __ext3_std_error (struct super_block *, const char *, int); | 942 | extern void __ext3_std_error (struct super_block *, const char *, int); |
943 | extern void ext3_abort (struct super_block *, const char *, const char *, ...) | 943 | extern __printf(3, 4) |
944 | __attribute__ ((format (printf, 3, 4))); | 944 | void ext3_abort(struct super_block *, const char *, const char *, ...); |
945 | extern void ext3_warning (struct super_block *, const char *, const char *, ...) | 945 | extern __printf(3, 4) |
946 | __attribute__ ((format (printf, 3, 4))); | 946 | void ext3_warning(struct super_block *, const char *, const char *, ...); |
947 | extern void ext3_msg(struct super_block *, const char *, const char *, ...) | 947 | extern __printf(3, 4) |
948 | __attribute__ ((format (printf, 3, 4))); | 948 | void ext3_msg(struct super_block *, const char *, const char *, ...); |
949 | extern void ext3_update_dynamic_rev (struct super_block *sb); | 949 | extern void ext3_update_dynamic_rev (struct super_block *sb); |
950 | 950 | ||
951 | #define ext3_std_error(sb, errno) \ | 951 | #define ext3_std_error(sb, errno) \ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 87b4c6b9692d..7a049fd2aa4c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2635,8 +2635,8 @@ static const struct file_operations __fops = { \ | |||
2635 | .llseek = generic_file_llseek, \ | 2635 | .llseek = generic_file_llseek, \ |
2636 | }; | 2636 | }; |
2637 | 2637 | ||
2638 | static inline void __attribute__((format(printf, 1, 2))) | 2638 | static inline __printf(1, 2) |
2639 | __simple_attr_check_format(const char *fmt, ...) | 2639 | void __simple_attr_check_format(const char *fmt, ...) |
2640 | { | 2640 | { |
2641 | /* don't do anything, just let the compiler check the arguments; */ | 2641 | /* don't do anything, just let the compiler check the arguments; */ |
2642 | } | 2642 | } |
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h index af095b54502e..ce31408b1e47 100644 --- a/include/linux/fscache-cache.h +++ b/include/linux/fscache-cache.h | |||
@@ -492,10 +492,10 @@ static inline void fscache_end_io(struct fscache_retrieval *op, | |||
492 | /* | 492 | /* |
493 | * out-of-line cache backend functions | 493 | * out-of-line cache backend functions |
494 | */ | 494 | */ |
495 | extern void fscache_init_cache(struct fscache_cache *cache, | 495 | extern __printf(3, 4) |
496 | const struct fscache_cache_ops *ops, | 496 | void fscache_init_cache(struct fscache_cache *cache, |
497 | const char *idfmt, | 497 | const struct fscache_cache_ops *ops, |
498 | ...) __attribute__ ((format (printf, 3, 4))); | 498 | const char *idfmt, ...); |
499 | 499 | ||
500 | extern int fscache_add_cache(struct fscache_cache *cache, | 500 | extern int fscache_add_cache(struct fscache_cache *cache, |
501 | struct fscache_object *fsdef, | 501 | struct fscache_object *fsdef, |
diff --git a/include/linux/gameport.h b/include/linux/gameport.h index b65a6f472775..069ee4139105 100644 --- a/include/linux/gameport.h +++ b/include/linux/gameport.h | |||
@@ -78,8 +78,8 @@ static inline void gameport_register_port(struct gameport *gameport) | |||
78 | 78 | ||
79 | void gameport_unregister_port(struct gameport *gameport); | 79 | void gameport_unregister_port(struct gameport *gameport); |
80 | 80 | ||
81 | void gameport_set_phys(struct gameport *gameport, const char *fmt, ...) | 81 | __printf(2, 3) |
82 | __attribute__ ((format (printf, 2, 3))); | 82 | void gameport_set_phys(struct gameport *gameport, const char *fmt, ...); |
83 | 83 | ||
84 | #else | 84 | #else |
85 | 85 | ||
@@ -93,8 +93,8 @@ static inline void gameport_unregister_port(struct gameport *gameport) | |||
93 | return; | 93 | return; |
94 | } | 94 | } |
95 | 95 | ||
96 | static inline void gameport_set_phys(struct gameport *gameport, | 96 | static inline __printf(2, 3) |
97 | const char *fmt, ...) | 97 | void gameport_set_phys(struct gameport *gameport, const char *fmt, ...) |
98 | { | 98 | { |
99 | return; | 99 | return; |
100 | } | 100 | } |
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 0df513b7a9f8..387571959dd9 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h | |||
@@ -101,9 +101,8 @@ static inline int lookup_symbol_attrs(unsigned long addr, unsigned long *size, u | |||
101 | #endif /*CONFIG_KALLSYMS*/ | 101 | #endif /*CONFIG_KALLSYMS*/ |
102 | 102 | ||
103 | /* This macro allows us to keep printk typechecking */ | 103 | /* This macro allows us to keep printk typechecking */ |
104 | static void __check_printsym_format(const char *fmt, ...) | 104 | static __printf(1, 2) |
105 | __attribute__((format(printf,1,2))); | 105 | void __check_printsym_format(const char *fmt, ...) |
106 | static inline void __check_printsym_format(const char *fmt, ...) | ||
107 | { | 106 | { |
108 | } | 107 | } |
109 | 108 | ||
diff --git a/include/linux/kdb.h b/include/linux/kdb.h index 529d9a0c75a5..064725854db8 100644 --- a/include/linux/kdb.h +++ b/include/linux/kdb.h | |||
@@ -114,12 +114,9 @@ typedef enum { | |||
114 | } kdb_reason_t; | 114 | } kdb_reason_t; |
115 | 115 | ||
116 | extern int kdb_trap_printk; | 116 | extern int kdb_trap_printk; |
117 | extern int vkdb_printf(const char *fmt, va_list args) | 117 | extern __printf(1, 0) int vkdb_printf(const char *fmt, va_list args); |
118 | __attribute__ ((format (printf, 1, 0))); | 118 | extern __printf(1, 2) int kdb_printf(const char *, ...); |
119 | extern int kdb_printf(const char *, ...) | 119 | typedef __printf(1, 2) int (*kdb_printf_t)(const char *, ...); |
120 | __attribute__ ((format (printf, 1, 2))); | ||
121 | typedef int (*kdb_printf_t)(const char *, ...) | ||
122 | __attribute__ ((format (printf, 1, 2))); | ||
123 | 120 | ||
124 | extern void kdb_init(int level); | 121 | extern void kdb_init(int level); |
125 | 122 | ||
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 8eefcf7e95eb..e40c950e1d62 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -296,20 +296,18 @@ extern long long simple_strtoll(const char *,char **,unsigned int); | |||
296 | #define strict_strtoull kstrtoull | 296 | #define strict_strtoull kstrtoull |
297 | #define strict_strtoll kstrtoll | 297 | #define strict_strtoll kstrtoll |
298 | 298 | ||
299 | extern int sprintf(char * buf, const char * fmt, ...) | 299 | extern __printf(2, 3) int sprintf(char *buf, const char * fmt, ...); |
300 | __attribute__ ((format (printf, 2, 3))); | 300 | extern __printf(2, 0) int vsprintf(char *buf, const char *, va_list); |
301 | extern int vsprintf(char *buf, const char *, va_list) | 301 | extern __printf(3, 4) |
302 | __attribute__ ((format (printf, 2, 0))); | 302 | int snprintf(char *buf, size_t size, const char *fmt, ...); |
303 | extern int snprintf(char * buf, size_t size, const char * fmt, ...) | 303 | extern __printf(3, 0) |
304 | __attribute__ ((format (printf, 3, 4))); | 304 | int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); |
305 | extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) | 305 | extern __printf(3, 4) |
306 | __attribute__ ((format (printf, 3, 0))); | 306 | int scnprintf(char *buf, size_t size, const char *fmt, ...); |
307 | extern int scnprintf(char * buf, size_t size, const char * fmt, ...) | 307 | extern __printf(3, 0) |
308 | __attribute__ ((format (printf, 3, 4))); | 308 | int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); |
309 | extern int vscnprintf(char *buf, size_t size, const char *fmt, va_list args) | 309 | extern __printf(2, 3) |
310 | __attribute__ ((format (printf, 3, 0))); | 310 | char *kasprintf(gfp_t gfp, const char *fmt, ...); |
311 | extern char *kasprintf(gfp_t gfp, const char *fmt, ...) | ||
312 | __attribute__ ((format (printf, 2, 3))); | ||
313 | extern char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); | 311 | extern char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); |
314 | 312 | ||
315 | extern int sscanf(const char *, const char *, ...) | 313 | extern int sscanf(const char *, const char *, ...) |
@@ -427,8 +425,8 @@ extern void tracing_start(void); | |||
427 | extern void tracing_stop(void); | 425 | extern void tracing_stop(void); |
428 | extern void ftrace_off_permanent(void); | 426 | extern void ftrace_off_permanent(void); |
429 | 427 | ||
430 | static inline void __attribute__ ((format (printf, 1, 2))) | 428 | static inline __printf(1, 2) |
431 | ____trace_printk_check_format(const char *fmt, ...) | 429 | void ____trace_printk_check_format(const char *fmt, ...) |
432 | { | 430 | { |
433 | } | 431 | } |
434 | #define __trace_printk_check_format(fmt, args...) \ | 432 | #define __trace_printk_check_format(fmt, args...) \ |
@@ -467,13 +465,11 @@ do { \ | |||
467 | __trace_printk(_THIS_IP_, fmt, ##args); \ | 465 | __trace_printk(_THIS_IP_, fmt, ##args); \ |
468 | } while (0) | 466 | } while (0) |
469 | 467 | ||
470 | extern int | 468 | extern __printf(2, 3) |
471 | __trace_bprintk(unsigned long ip, const char *fmt, ...) | 469 | int __trace_bprintk(unsigned long ip, const char *fmt, ...); |
472 | __attribute__ ((format (printf, 2, 3))); | ||
473 | 470 | ||
474 | extern int | 471 | extern __printf(2, 3) |
475 | __trace_printk(unsigned long ip, const char *fmt, ...) | 472 | int __trace_printk(unsigned long ip, const char *fmt, ...); |
476 | __attribute__ ((format (printf, 2, 3))); | ||
477 | 473 | ||
478 | extern void trace_dump_stack(void); | 474 | extern void trace_dump_stack(void); |
479 | 475 | ||
@@ -502,8 +498,8 @@ __ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); | |||
502 | 498 | ||
503 | extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); | 499 | extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); |
504 | #else | 500 | #else |
505 | static inline int | 501 | static inline __printf(1, 2) |
506 | trace_printk(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); | 502 | int trace_printk(const char *fmt, ...); |
507 | 503 | ||
508 | static inline void tracing_start(void) { } | 504 | static inline void tracing_start(void) { } |
509 | static inline void tracing_stop(void) { } | 505 | static inline void tracing_stop(void) { } |
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index c2478a342cd7..8944ebe7963e 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
@@ -130,8 +130,8 @@ int kexec_should_crash(struct task_struct *); | |||
130 | void crash_save_cpu(struct pt_regs *regs, int cpu); | 130 | void crash_save_cpu(struct pt_regs *regs, int cpu); |
131 | void crash_save_vmcoreinfo(void); | 131 | void crash_save_vmcoreinfo(void); |
132 | void arch_crash_save_vmcoreinfo(void); | 132 | void arch_crash_save_vmcoreinfo(void); |
133 | void vmcoreinfo_append_str(const char *fmt, ...) | 133 | __printf(1, 2) |
134 | __attribute__ ((format (printf, 1, 2))); | 134 | void vmcoreinfo_append_str(const char *fmt, ...); |
135 | unsigned long paddr_vmcoreinfo_note(void); | 135 | unsigned long paddr_vmcoreinfo_note(void); |
136 | 136 | ||
137 | #define VMCOREINFO_OSRELEASE(value) \ | 137 | #define VMCOREINFO_OSRELEASE(value) \ |
diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 0da38cf7db7b..b16f65390734 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h | |||
@@ -32,8 +32,8 @@ | |||
32 | extern char modprobe_path[]; /* for sysctl */ | 32 | extern char modprobe_path[]; /* for sysctl */ |
33 | /* modprobe exit status on success, -ve on error. Return value | 33 | /* modprobe exit status on success, -ve on error. Return value |
34 | * usually useless though. */ | 34 | * usually useless though. */ |
35 | extern int __request_module(bool wait, const char *name, ...) \ | 35 | extern __printf(2, 3) |
36 | __attribute__((format(printf, 2, 3))); | 36 | int __request_module(bool wait, const char *name, ...); |
37 | #define request_module(mod...) __request_module(true, mod) | 37 | #define request_module(mod...) __request_module(true, mod) |
38 | #define request_module_nowait(mod...) __request_module(false, mod) | 38 | #define request_module_nowait(mod...) __request_module(false, mod) |
39 | #define try_then_request_module(x, mod...) \ | 39 | #define try_then_request_module(x, mod...) \ |
diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 668729cc0fe9..ad81e1c51487 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h | |||
@@ -72,8 +72,8 @@ struct kobject { | |||
72 | unsigned int uevent_suppress:1; | 72 | unsigned int uevent_suppress:1; |
73 | }; | 73 | }; |
74 | 74 | ||
75 | extern int kobject_set_name(struct kobject *kobj, const char *name, ...) | 75 | extern __printf(2, 3) |
76 | __attribute__((format(printf, 2, 3))); | 76 | int kobject_set_name(struct kobject *kobj, const char *name, ...); |
77 | extern int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, | 77 | extern int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, |
78 | va_list vargs); | 78 | va_list vargs); |
79 | 79 | ||
@@ -83,15 +83,13 @@ static inline const char *kobject_name(const struct kobject *kobj) | |||
83 | } | 83 | } |
84 | 84 | ||
85 | extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype); | 85 | extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype); |
86 | extern int __must_check kobject_add(struct kobject *kobj, | 86 | extern __printf(3, 4) __must_check |
87 | struct kobject *parent, | 87 | int kobject_add(struct kobject *kobj, struct kobject *parent, |
88 | const char *fmt, ...) | 88 | const char *fmt, ...); |
89 | __attribute__((format(printf, 3, 4))); | 89 | extern __printf(4, 5) __must_check |
90 | extern int __must_check kobject_init_and_add(struct kobject *kobj, | 90 | int kobject_init_and_add(struct kobject *kobj, |
91 | struct kobj_type *ktype, | 91 | struct kobj_type *ktype, struct kobject *parent, |
92 | struct kobject *parent, | 92 | const char *fmt, ...); |
93 | const char *fmt, ...) | ||
94 | __attribute__((format(printf, 4, 5))); | ||
95 | 93 | ||
96 | extern void kobject_del(struct kobject *kobj); | 94 | extern void kobject_del(struct kobject *kobj); |
97 | 95 | ||
@@ -212,8 +210,8 @@ int kobject_uevent(struct kobject *kobj, enum kobject_action action); | |||
212 | int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, | 210 | int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, |
213 | char *envp[]); | 211 | char *envp[]); |
214 | 212 | ||
215 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) | 213 | __printf(2, 3) |
216 | __attribute__((format (printf, 2, 3))); | 214 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...); |
217 | 215 | ||
218 | int kobject_action_type(const char *buf, size_t count, | 216 | int kobject_action_type(const char *buf, size_t count, |
219 | enum kobject_action *type); | 217 | enum kobject_action *type); |
@@ -226,7 +224,7 @@ static inline int kobject_uevent_env(struct kobject *kobj, | |||
226 | char *envp[]) | 224 | char *envp[]) |
227 | { return 0; } | 225 | { return 0; } |
228 | 226 | ||
229 | static inline __attribute__((format(printf, 2, 3))) | 227 | static inline __printf(2, 3) |
230 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) | 228 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) |
231 | { return 0; } | 229 | { return 0; } |
232 | 230 | ||
diff --git a/include/linux/kthread.h b/include/linux/kthread.h index 1e923e5e88e8..5cac19b3a266 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h | |||
@@ -4,11 +4,11 @@ | |||
4 | #include <linux/err.h> | 4 | #include <linux/err.h> |
5 | #include <linux/sched.h> | 5 | #include <linux/sched.h> |
6 | 6 | ||
7 | __printf(4, 5) | ||
7 | struct task_struct *kthread_create_on_node(int (*threadfn)(void *data), | 8 | struct task_struct *kthread_create_on_node(int (*threadfn)(void *data), |
8 | void *data, | 9 | void *data, |
9 | int node, | 10 | int node, |
10 | const char namefmt[], ...) | 11 | const char namefmt[], ...); |
11 | __attribute__((format(printf, 4, 5))); | ||
12 | 12 | ||
13 | #define kthread_create(threadfn, data, namefmt, arg...) \ | 13 | #define kthread_create(threadfn, data, namefmt, arg...) \ |
14 | kthread_create_on_node(threadfn, data, -1, namefmt, ##arg) | 14 | kthread_create_on_node(threadfn, data, -1, namefmt, ##arg) |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 23fa829bf7a3..cafc09a64fe4 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -1256,13 +1256,13 @@ static inline int sata_srst_pmp(struct ata_link *link) | |||
1256 | /* | 1256 | /* |
1257 | * printk helpers | 1257 | * printk helpers |
1258 | */ | 1258 | */ |
1259 | __attribute__((format (printf, 3, 4))) | 1259 | __printf(3, 4) |
1260 | int ata_port_printk(const struct ata_port *ap, const char *level, | 1260 | int ata_port_printk(const struct ata_port *ap, const char *level, |
1261 | const char *fmt, ...); | 1261 | const char *fmt, ...); |
1262 | __attribute__((format (printf, 3, 4))) | 1262 | __printf(3, 4) |
1263 | int ata_link_printk(const struct ata_link *link, const char *level, | 1263 | int ata_link_printk(const struct ata_link *link, const char *level, |
1264 | const char *fmt, ...); | 1264 | const char *fmt, ...); |
1265 | __attribute__((format (printf, 3, 4))) | 1265 | __printf(3, 4) |
1266 | int ata_dev_printk(const struct ata_device *dev, const char *level, | 1266 | int ata_dev_printk(const struct ata_device *dev, const char *level, |
1267 | const char *fmt, ...); | 1267 | const char *fmt, ...); |
1268 | 1268 | ||
@@ -1304,10 +1304,10 @@ void ata_print_version(const struct device *dev, const char *version); | |||
1304 | /* | 1304 | /* |
1305 | * ata_eh_info helpers | 1305 | * ata_eh_info helpers |
1306 | */ | 1306 | */ |
1307 | extern void __ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...) | 1307 | extern __printf(2, 3) |
1308 | __attribute__ ((format (printf, 2, 3))); | 1308 | void __ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...); |
1309 | extern void ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...) | 1309 | extern __printf(2, 3) |
1310 | __attribute__ ((format (printf, 2, 3))); | 1310 | void ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...); |
1311 | extern void ata_ehi_clear_desc(struct ata_eh_info *ehi); | 1311 | extern void ata_ehi_clear_desc(struct ata_eh_info *ehi); |
1312 | 1312 | ||
1313 | static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) | 1313 | static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) |
@@ -1321,8 +1321,8 @@ static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) | |||
1321 | /* | 1321 | /* |
1322 | * port description helpers | 1322 | * port description helpers |
1323 | */ | 1323 | */ |
1324 | extern void ata_port_desc(struct ata_port *ap, const char *fmt, ...) | 1324 | extern __printf(2, 3) |
1325 | __attribute__ ((format (printf, 2, 3))); | 1325 | void ata_port_desc(struct ata_port *ap, const char *fmt, ...); |
1326 | #ifdef CONFIG_PCI | 1326 | #ifdef CONFIG_PCI |
1327 | extern void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset, | 1327 | extern void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset, |
1328 | const char *name); | 1328 | const char *name); |
diff --git a/include/linux/mmiotrace.h b/include/linux/mmiotrace.h index 97491f78b08c..c5d52780d6a0 100644 --- a/include/linux/mmiotrace.h +++ b/include/linux/mmiotrace.h | |||
@@ -49,8 +49,7 @@ extern void mmiotrace_ioremap(resource_size_t offset, unsigned long size, | |||
49 | extern void mmiotrace_iounmap(volatile void __iomem *addr); | 49 | extern void mmiotrace_iounmap(volatile void __iomem *addr); |
50 | 50 | ||
51 | /* For anyone to insert markers. Remember trailing newline. */ | 51 | /* For anyone to insert markers. Remember trailing newline. */ |
52 | extern int mmiotrace_printk(const char *fmt, ...) | 52 | extern __printf(1, 2) int mmiotrace_printk(const char *fmt, ...); |
53 | __attribute__ ((format (printf, 1, 2))); | ||
54 | #else /* !CONFIG_MMIOTRACE: */ | 53 | #else /* !CONFIG_MMIOTRACE: */ |
55 | static inline int is_kmmio_active(void) | 54 | static inline int is_kmmio_active(void) |
56 | { | 55 | { |
@@ -71,10 +70,7 @@ static inline void mmiotrace_iounmap(volatile void __iomem *addr) | |||
71 | { | 70 | { |
72 | } | 71 | } |
73 | 72 | ||
74 | static inline int mmiotrace_printk(const char *fmt, ...) | 73 | static inline __printf(1, 2) int mmiotrace_printk(const char *fmt, ...) |
75 | __attribute__ ((format (printf, 1, 0))); | ||
76 | |||
77 | static inline int mmiotrace_printk(const char *fmt, ...) | ||
78 | { | 74 | { |
79 | return 0; | 75 | return 0; |
80 | } | 76 | } |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index df1c836e6948..cbeb5867cff7 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2622,23 +2622,23 @@ static inline const char *netdev_name(const struct net_device *dev) | |||
2622 | extern int __netdev_printk(const char *level, const struct net_device *dev, | 2622 | extern int __netdev_printk(const char *level, const struct net_device *dev, |
2623 | struct va_format *vaf); | 2623 | struct va_format *vaf); |
2624 | 2624 | ||
2625 | extern int netdev_printk(const char *level, const struct net_device *dev, | 2625 | extern __printf(3, 4) |
2626 | const char *format, ...) | 2626 | int netdev_printk(const char *level, const struct net_device *dev, |
2627 | __attribute__ ((format (printf, 3, 4))); | 2627 | const char *format, ...); |
2628 | extern int netdev_emerg(const struct net_device *dev, const char *format, ...) | 2628 | extern __printf(2, 3) |
2629 | __attribute__ ((format (printf, 2, 3))); | 2629 | int netdev_emerg(const struct net_device *dev, const char *format, ...); |
2630 | extern int netdev_alert(const struct net_device *dev, const char *format, ...) | 2630 | extern __printf(2, 3) |
2631 | __attribute__ ((format (printf, 2, 3))); | 2631 | int netdev_alert(const struct net_device *dev, const char *format, ...); |
2632 | extern int netdev_crit(const struct net_device *dev, const char *format, ...) | 2632 | extern __printf(2, 3) |
2633 | __attribute__ ((format (printf, 2, 3))); | 2633 | int netdev_crit(const struct net_device *dev, const char *format, ...); |
2634 | extern int netdev_err(const struct net_device *dev, const char *format, ...) | 2634 | extern __printf(2, 3) |
2635 | __attribute__ ((format (printf, 2, 3))); | 2635 | int netdev_err(const struct net_device *dev, const char *format, ...); |
2636 | extern int netdev_warn(const struct net_device *dev, const char *format, ...) | 2636 | extern __printf(2, 3) |
2637 | __attribute__ ((format (printf, 2, 3))); | 2637 | int netdev_warn(const struct net_device *dev, const char *format, ...); |
2638 | extern int netdev_notice(const struct net_device *dev, const char *format, ...) | 2638 | extern __printf(2, 3) |
2639 | __attribute__ ((format (printf, 2, 3))); | 2639 | int netdev_notice(const struct net_device *dev, const char *format, ...); |
2640 | extern int netdev_info(const struct net_device *dev, const char *format, ...) | 2640 | extern __printf(2, 3) |
2641 | __attribute__ ((format (printf, 2, 3))); | 2641 | int netdev_info(const struct net_device *dev, const char *format, ...); |
2642 | 2642 | ||
2643 | #define MODULE_ALIAS_NETDEV(device) \ | 2643 | #define MODULE_ALIAS_NETDEV(device) \ |
2644 | MODULE_ALIAS("netdev-" device) | 2644 | MODULE_ALIAS("netdev-" device) |
diff --git a/include/linux/printk.h b/include/linux/printk.h index 0101d55d9651..f0e22f75143f 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h | |||
@@ -82,22 +82,22 @@ struct va_format { | |||
82 | * Dummy printk for disabled debugging statements to use whilst maintaining | 82 | * Dummy printk for disabled debugging statements to use whilst maintaining |
83 | * gcc's format and side-effect checking. | 83 | * gcc's format and side-effect checking. |
84 | */ | 84 | */ |
85 | static inline __attribute__ ((format (printf, 1, 2))) | 85 | static inline __printf(1, 2) |
86 | int no_printk(const char *fmt, ...) | 86 | int no_printk(const char *fmt, ...) |
87 | { | 87 | { |
88 | return 0; | 88 | return 0; |
89 | } | 89 | } |
90 | 90 | ||
91 | extern asmlinkage __attribute__ ((format (printf, 1, 2))) | 91 | extern asmlinkage __printf(1, 2) |
92 | void early_printk(const char *fmt, ...); | 92 | void early_printk(const char *fmt, ...); |
93 | 93 | ||
94 | extern int printk_needs_cpu(int cpu); | 94 | extern int printk_needs_cpu(int cpu); |
95 | extern void printk_tick(void); | 95 | extern void printk_tick(void); |
96 | 96 | ||
97 | #ifdef CONFIG_PRINTK | 97 | #ifdef CONFIG_PRINTK |
98 | asmlinkage __attribute__ ((format (printf, 1, 0))) | 98 | asmlinkage __printf(1, 0) |
99 | int vprintk(const char *fmt, va_list args); | 99 | int vprintk(const char *fmt, va_list args); |
100 | asmlinkage __attribute__ ((format (printf, 1, 2))) __cold | 100 | asmlinkage __printf(1, 2) __cold |
101 | int printk(const char *fmt, ...); | 101 | int printk(const char *fmt, ...); |
102 | 102 | ||
103 | /* | 103 | /* |
@@ -117,12 +117,12 @@ extern int kptr_restrict; | |||
117 | void log_buf_kexec_setup(void); | 117 | void log_buf_kexec_setup(void); |
118 | void __init setup_log_buf(int early); | 118 | void __init setup_log_buf(int early); |
119 | #else | 119 | #else |
120 | static inline __attribute__ ((format (printf, 1, 0))) | 120 | static inline __printf(1, 0) |
121 | int vprintk(const char *s, va_list args) | 121 | int vprintk(const char *s, va_list args) |
122 | { | 122 | { |
123 | return 0; | 123 | return 0; |
124 | } | 124 | } |
125 | static inline __attribute__ ((format (printf, 1, 2))) __cold | 125 | static inline __printf(1, 2) __cold |
126 | int printk(const char *s, ...) | 126 | int printk(const char *s, ...) |
127 | { | 127 | { |
128 | return 0; | 128 | return 0; |
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 26f9e3612e0f..d93f95e6177c 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h | |||
@@ -31,7 +31,7 @@ static inline bool is_quota_modification(struct inode *inode, struct iattr *ia) | |||
31 | #define quota_error(sb, fmt, args...) \ | 31 | #define quota_error(sb, fmt, args...) \ |
32 | __quota_error((sb), __func__, fmt , ## args) | 32 | __quota_error((sb), __func__, fmt , ## args) |
33 | 33 | ||
34 | extern __attribute__((format (printf, 3, 4))) | 34 | extern __printf(3, 4) |
35 | void __quota_error(struct super_block *sb, const char *func, | 35 | void __quota_error(struct super_block *sb, const char *func, |
36 | const char *fmt, ...); | 36 | const char *fmt, ...); |
37 | 37 | ||
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h index be720cd2038d..0b69a4684216 100644 --- a/include/linux/seq_file.h +++ b/include/linux/seq_file.h | |||
@@ -84,8 +84,7 @@ int seq_putc(struct seq_file *m, char c); | |||
84 | int seq_puts(struct seq_file *m, const char *s); | 84 | int seq_puts(struct seq_file *m, const char *s); |
85 | int seq_write(struct seq_file *seq, const void *data, size_t len); | 85 | int seq_write(struct seq_file *seq, const void *data, size_t len); |
86 | 86 | ||
87 | int seq_printf(struct seq_file *, const char *, ...) | 87 | __printf(2, 3) int seq_printf(struct seq_file *, const char *, ...); |
88 | __attribute__ ((format (printf,2,3))); | ||
89 | 88 | ||
90 | int seq_path(struct seq_file *, struct path *, char *); | 89 | int seq_path(struct seq_file *, struct path *, char *); |
91 | int seq_dentry(struct seq_file *, struct dentry *, char *); | 90 | int seq_dentry(struct seq_file *, struct dentry *, char *); |
diff --git a/include/linux/trace_seq.h b/include/linux/trace_seq.h index 5cf397ceb726..7dadc3df0c77 100644 --- a/include/linux/trace_seq.h +++ b/include/linux/trace_seq.h | |||
@@ -29,10 +29,10 @@ trace_seq_init(struct trace_seq *s) | |||
29 | * Currently only defined when tracing is enabled. | 29 | * Currently only defined when tracing is enabled. |
30 | */ | 30 | */ |
31 | #ifdef CONFIG_TRACING | 31 | #ifdef CONFIG_TRACING |
32 | extern int trace_seq_printf(struct trace_seq *s, const char *fmt, ...) | 32 | extern __printf(2, 3) |
33 | __attribute__ ((format (printf, 2, 3))); | 33 | int trace_seq_printf(struct trace_seq *s, const char *fmt, ...); |
34 | extern int trace_seq_vprintf(struct trace_seq *s, const char *fmt, va_list args) | 34 | extern __printf(2, 0) |
35 | __attribute__ ((format (printf, 2, 0))); | 35 | int trace_seq_vprintf(struct trace_seq *s, const char *fmt, va_list args); |
36 | extern int | 36 | extern int |
37 | trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary); | 37 | trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary); |
38 | extern int trace_print_seq(struct seq_file *m, struct trace_seq *s); | 38 | extern int trace_print_seq(struct seq_file *m, struct trace_seq *s); |
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index e727555d4ee9..e86af08293a8 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -77,7 +77,7 @@ struct bt_power { | |||
77 | #define BT_POWER_FORCE_ACTIVE_OFF 0 | 77 | #define BT_POWER_FORCE_ACTIVE_OFF 0 |
78 | #define BT_POWER_FORCE_ACTIVE_ON 1 | 78 | #define BT_POWER_FORCE_ACTIVE_ON 1 |
79 | 79 | ||
80 | __attribute__((format (printf, 2, 3))) | 80 | __printf(2, 3) |
81 | int bt_printk(const char *level, const char *fmt, ...); | 81 | int bt_printk(const char *level, const char *fmt, ...); |
82 | 82 | ||
83 | #define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg) | 83 | #define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg) |
diff --git a/include/net/netfilter/nf_log.h b/include/net/netfilter/nf_log.h index 920997f1aff0..e991bd0a27af 100644 --- a/include/net/netfilter/nf_log.h +++ b/include/net/netfilter/nf_log.h | |||
@@ -53,12 +53,13 @@ int nf_log_bind_pf(u_int8_t pf, const struct nf_logger *logger); | |||
53 | void nf_log_unbind_pf(u_int8_t pf); | 53 | void nf_log_unbind_pf(u_int8_t pf); |
54 | 54 | ||
55 | /* Calls the registered backend logging function */ | 55 | /* Calls the registered backend logging function */ |
56 | __printf(7, 8) | ||
56 | void nf_log_packet(u_int8_t pf, | 57 | void nf_log_packet(u_int8_t pf, |
57 | unsigned int hooknum, | 58 | unsigned int hooknum, |
58 | const struct sk_buff *skb, | 59 | const struct sk_buff *skb, |
59 | const struct net_device *in, | 60 | const struct net_device *in, |
60 | const struct net_device *out, | 61 | const struct net_device *out, |
61 | const struct nf_loginfo *li, | 62 | const struct nf_loginfo *li, |
62 | const char *fmt, ...) __attribute__ ((format(printf,7,8))); | 63 | const char *fmt, ...); |
63 | 64 | ||
64 | #endif /* _NF_LOG_H */ | 65 | #endif /* _NF_LOG_H */ |
diff --git a/include/net/sock.h b/include/net/sock.h index 5ac682f73d63..c6658bef7f32 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -76,8 +76,8 @@ | |||
76 | printk(KERN_DEBUG msg); } while (0) | 76 | printk(KERN_DEBUG msg); } while (0) |
77 | #else | 77 | #else |
78 | /* Validate arguments and do nothing */ | 78 | /* Validate arguments and do nothing */ |
79 | static inline void __attribute__ ((format (printf, 2, 3))) | 79 | static inline __printf(2, 3) |
80 | SOCK_DEBUG(struct sock *sk, const char *msg, ...) | 80 | void SOCK_DEBUG(struct sock *sk, const char *msg, ...) |
81 | { | 81 | { |
82 | } | 82 | } |
83 | #endif | 83 | #endif |
diff --git a/include/sound/core.h b/include/sound/core.h index 1fa2407c966f..91d513879a78 100644 --- a/include/sound/core.h +++ b/include/sound/core.h | |||
@@ -326,9 +326,9 @@ void release_and_free_resource(struct resource *res); | |||
326 | /* --- */ | 326 | /* --- */ |
327 | 327 | ||
328 | #if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK) | 328 | #if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK) |
329 | __printf(4, 5) | ||
329 | void __snd_printk(unsigned int level, const char *file, int line, | 330 | void __snd_printk(unsigned int level, const char *file, int line, |
330 | const char *format, ...) | 331 | const char *format, ...); |
331 | __attribute__ ((format (printf, 4, 5))); | ||
332 | #else | 332 | #else |
333 | #define __snd_printk(level, file, line, format, args...) \ | 333 | #define __snd_printk(level, file, line, format, args...) \ |
334 | printk(format, ##args) | 334 | printk(format, ##args) |
diff --git a/include/sound/info.h b/include/sound/info.h index 4e94cf1ff762..5492cc40dc57 100644 --- a/include/sound/info.h +++ b/include/sound/info.h | |||
@@ -110,8 +110,8 @@ void snd_card_info_read_oss(struct snd_info_buffer *buffer); | |||
110 | static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {} | 110 | static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {} |
111 | #endif | 111 | #endif |
112 | 112 | ||
113 | int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...) \ | 113 | __printf(2, 3) |
114 | __attribute__ ((format (printf, 2, 3))); | 114 | int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...); |
115 | int snd_info_init(void); | 115 | int snd_info_init(void); |
116 | int snd_info_done(void); | 116 | int snd_info_done(void); |
117 | 117 | ||
diff --git a/include/sound/seq_kernel.h b/include/sound/seq_kernel.h index 3d9afb6a8c9c..f352a98ce4f4 100644 --- a/include/sound/seq_kernel.h +++ b/include/sound/seq_kernel.h | |||
@@ -75,9 +75,9 @@ struct snd_seq_port_callback { | |||
75 | }; | 75 | }; |
76 | 76 | ||
77 | /* interface for kernel client */ | 77 | /* interface for kernel client */ |
78 | __printf(3, 4) | ||
78 | int snd_seq_create_kernel_client(struct snd_card *card, int client_index, | 79 | int snd_seq_create_kernel_client(struct snd_card *card, int client_index, |
79 | const char *name_fmt, ...) | 80 | const char *name_fmt, ...); |
80 | __attribute__ ((format (printf, 3, 4))); | ||
81 | int snd_seq_delete_kernel_client(int client); | 81 | int snd_seq_delete_kernel_client(int client); |
82 | int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev, int atomic, int hop); | 82 | int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev, int atomic, int hop); |
83 | int snd_seq_kernel_client_dispatch(int client, struct snd_seq_event *ev, int atomic, int hop); | 83 | int snd_seq_kernel_client_dispatch(int client, struct snd_seq_event *ev, int atomic, int hop); |
diff --git a/include/xen/hvc-console.h b/include/xen/hvc-console.h index 901724dc528d..b62dfef15f61 100644 --- a/include/xen/hvc-console.h +++ b/include/xen/hvc-console.h | |||
@@ -6,12 +6,12 @@ extern struct console xenboot_console; | |||
6 | #ifdef CONFIG_HVC_XEN | 6 | #ifdef CONFIG_HVC_XEN |
7 | void xen_console_resume(void); | 7 | void xen_console_resume(void); |
8 | void xen_raw_console_write(const char *str); | 8 | void xen_raw_console_write(const char *str); |
9 | __attribute__((format(printf, 1, 2))) | 9 | __printf(1, 2) |
10 | void xen_raw_printk(const char *fmt, ...); | 10 | void xen_raw_printk(const char *fmt, ...); |
11 | #else | 11 | #else |
12 | static inline void xen_console_resume(void) { } | 12 | static inline void xen_console_resume(void) { } |
13 | static inline void xen_raw_console_write(const char *str) { } | 13 | static inline void xen_raw_console_write(const char *str) { } |
14 | static inline __attribute__((format(printf, 1, 2))) | 14 | static inline __printf(1, 2) |
15 | void xen_raw_printk(const char *fmt, ...) { } | 15 | void xen_raw_printk(const char *fmt, ...) { } |
16 | #endif | 16 | #endif |
17 | 17 | ||
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h index aceeca799fd7..b9f9fb5af0d8 100644 --- a/include/xen/xenbus.h +++ b/include/xen/xenbus.h | |||
@@ -156,9 +156,9 @@ int xenbus_scanf(struct xenbus_transaction t, | |||
156 | __attribute__((format(scanf, 4, 5))); | 156 | __attribute__((format(scanf, 4, 5))); |
157 | 157 | ||
158 | /* Single printf and write: returns -errno or 0. */ | 158 | /* Single printf and write: returns -errno or 0. */ |
159 | __printf(4, 5) | ||
159 | int xenbus_printf(struct xenbus_transaction t, | 160 | int xenbus_printf(struct xenbus_transaction t, |
160 | const char *dir, const char *node, const char *fmt, ...) | 161 | const char *dir, const char *node, const char *fmt, ...); |
161 | __attribute__((format(printf, 4, 5))); | ||
162 | 162 | ||
163 | /* Generic read function: NULL-terminated triples of name, | 163 | /* Generic read function: NULL-terminated triples of name, |
164 | * sprintf-style type string, and pointer. Returns 0 or errno.*/ | 164 | * sprintf-style type string, and pointer. Returns 0 or errno.*/ |
@@ -200,11 +200,11 @@ int xenbus_watch_path(struct xenbus_device *dev, const char *path, | |||
200 | struct xenbus_watch *watch, | 200 | struct xenbus_watch *watch, |
201 | void (*callback)(struct xenbus_watch *, | 201 | void (*callback)(struct xenbus_watch *, |
202 | const char **, unsigned int)); | 202 | const char **, unsigned int)); |
203 | __printf(4, 5) | ||
203 | int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch, | 204 | int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch, |
204 | void (*callback)(struct xenbus_watch *, | 205 | void (*callback)(struct xenbus_watch *, |
205 | const char **, unsigned int), | 206 | const char **, unsigned int), |
206 | const char *pathfmt, ...) | 207 | const char *pathfmt, ...); |
207 | __attribute__ ((format (printf, 4, 5))); | ||
208 | 208 | ||
209 | int xenbus_switch_state(struct xenbus_device *dev, enum xenbus_state new_state); | 209 | int xenbus_switch_state(struct xenbus_device *dev, enum xenbus_state new_state); |
210 | int xenbus_grant_ring(struct xenbus_device *dev, unsigned long ring_mfn); | 210 | int xenbus_grant_ring(struct xenbus_device *dev, unsigned long ring_mfn); |
@@ -223,9 +223,9 @@ int xenbus_free_evtchn(struct xenbus_device *dev, int port); | |||
223 | 223 | ||
224 | enum xenbus_state xenbus_read_driver_state(const char *path); | 224 | enum xenbus_state xenbus_read_driver_state(const char *path); |
225 | 225 | ||
226 | __attribute__((format(printf, 3, 4))) | 226 | __printf(3, 4) |
227 | void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...); | 227 | void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...); |
228 | __attribute__((format(printf, 3, 4))) | 228 | __printf(3, 4) |
229 | void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...); | 229 | void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...); |
230 | 230 | ||
231 | const char *xenbus_strstate(enum xenbus_state state); | 231 | const char *xenbus_strstate(enum xenbus_state state); |
diff --git a/net/nfc/nfc.h b/net/nfc/nfc.h index b6753f45624e..d86583f4831d 100644 --- a/net/nfc/nfc.h +++ b/net/nfc/nfc.h | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <net/nfc/nfc.h> | 27 | #include <net/nfc/nfc.h> |
28 | #include <net/sock.h> | 28 | #include <net/sock.h> |
29 | 29 | ||
30 | __attribute__((format (printf, 2, 3))) | 30 | __printf(2, 3) |
31 | int nfc_printk(const char *level, const char *fmt, ...); | 31 | int nfc_printk(const char *level, const char *fmt, ...); |
32 | 32 | ||
33 | #define nfc_info(fmt, arg...) nfc_printk(KERN_INFO, fmt, ##arg) | 33 | #define nfc_info(fmt, arg...) nfc_printk(KERN_INFO, fmt, ##arg) |
diff --git a/net/rds/rds.h b/net/rds/rds.h index da8adac2bf06..7eaba1831f0d 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h | |||
@@ -36,8 +36,8 @@ | |||
36 | #define rdsdebug(fmt, args...) pr_debug("%s(): " fmt, __func__ , ##args) | 36 | #define rdsdebug(fmt, args...) pr_debug("%s(): " fmt, __func__ , ##args) |
37 | #else | 37 | #else |
38 | /* sigh, pr_debug() causes unused variable warnings */ | 38 | /* sigh, pr_debug() causes unused variable warnings */ |
39 | static inline void __attribute__ ((format (printf, 1, 2))) | 39 | static inline __printf(1, 2) |
40 | rdsdebug(char *fmt, ...) | 40 | void rdsdebug(char *fmt, ...) |
41 | { | 41 | { |
42 | } | 42 | } |
43 | #endif | 43 | #endif |
@@ -625,8 +625,8 @@ void rds_for_each_conn_info(struct socket *sock, unsigned int len, | |||
625 | struct rds_info_lengths *lens, | 625 | struct rds_info_lengths *lens, |
626 | int (*visitor)(struct rds_connection *, void *), | 626 | int (*visitor)(struct rds_connection *, void *), |
627 | size_t item_len); | 627 | size_t item_len); |
628 | void __rds_conn_error(struct rds_connection *conn, const char *, ...) | 628 | __printf(2, 3) |
629 | __attribute__ ((format (printf, 2, 3))); | 629 | void __rds_conn_error(struct rds_connection *conn, const char *, ...); |
630 | #define rds_conn_error(conn, fmt...) \ | 630 | #define rds_conn_error(conn, fmt...) \ |
631 | __rds_conn_error(conn, KERN_WARNING "RDS: " fmt) | 631 | __rds_conn_error(conn, KERN_WARNING "RDS: " fmt) |
632 | 632 | ||
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 30d70abb4e2c..dd5cc00ed559 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
@@ -971,9 +971,8 @@ static void svc_unregister(const struct svc_serv *serv) | |||
971 | /* | 971 | /* |
972 | * Printk the given error with the address of the client that caused it. | 972 | * Printk the given error with the address of the client that caused it. |
973 | */ | 973 | */ |
974 | static int | 974 | static __printf(2, 3) |
975 | __attribute__ ((format (printf, 2, 3))) | 975 | int svc_printk(struct svc_rqst *rqstp, const char *fmt, ...) |
976 | svc_printk(struct svc_rqst *rqstp, const char *fmt, ...) | ||
977 | { | 976 | { |
978 | va_list args; | 977 | va_list args; |
979 | int r; | 978 | int r; |
diff --git a/sound/firewire/cmp.c b/sound/firewire/cmp.c index 14cacbc655dd..76294f2ae47f 100644 --- a/sound/firewire/cmp.c +++ b/sound/firewire/cmp.c | |||
@@ -32,7 +32,7 @@ enum bus_reset_handling { | |||
32 | SUCCEED_ON_BUS_RESET, | 32 | SUCCEED_ON_BUS_RESET, |
33 | }; | 33 | }; |
34 | 34 | ||
35 | static __attribute__((format(printf, 2, 3))) | 35 | static __printf(2, 3) |
36 | void cmp_error(struct cmp_connection *c, const char *fmt, ...) | 36 | void cmp_error(struct cmp_connection *c, const char *fmt, ...) |
37 | { | 37 | { |
38 | va_list va; | 38 | va_list va; |