aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2011-07-31 00:37:10 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-08-27 10:19:43 -0400
commitbe85fefecb20b533a2c3f668a345f03f492aeea3 (patch)
tree0d6acdf6a77ada0c902eed78f4df3d1248b760d3 /drivers/media/common
parentf68baeff4530593777295f9b94600b4960eddecd (diff)
[media] tda18271: Use printk extension %pV
Deduplicate printk formats to save ~20KB text. $ size drivers/media/common/tuners/tda18271*o.* text data bss dec hex filename 10747 56 1920 12723 31b3 drivers/media/common/tuners/tda18271-common.o.new 18889 56 3112 22057 5629 drivers/media/common/tuners/tda18271-common.o.old 20561 204 4264 25029 61c5 drivers/media/common/tuners/tda18271-fe.o.new 31093 204 6000 37297 91b1 drivers/media/common/tuners/tda18271-fe.o.old 3681 6760 440 10881 2a81 drivers/media/common/tuners/tda18271-maps.o.new 5631 6760 680 13071 330f drivers/media/common/tuners/tda18271-maps.o.old Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/tda18271-common.c32
-rw-r--r--drivers/media/common/tuners/tda18271-priv.h39
2 files changed, 43 insertions, 28 deletions
diff --git a/drivers/media/common/tuners/tda18271-common.c b/drivers/media/common/tuners/tda18271-common.c
index aae40e52af5..39c645787b6 100644
--- a/drivers/media/common/tuners/tda18271-common.c
+++ b/drivers/media/common/tuners/tda18271-common.c
@@ -676,10 +676,28 @@ fail:
676 return ret; 676 return ret;
677} 677}
678 678
679/* 679int _tda_printk(struct tda18271_priv *state, const char *level,
680 * Overrides for Emacs so that we follow Linus's tabbing style. 680 const char *func, const char *fmt, ...)
681 * --------------------------------------------------------------------------- 681{
682 * Local variables: 682 struct va_format vaf;
683 * c-basic-offset: 8 683 va_list args;
684 * End: 684 int rtn;
685 */ 685
686 va_start(args, fmt);
687
688 vaf.fmt = fmt;
689 vaf.va = &args;
690
691 if (state)
692 rtn = printk("%s%s: [%d-%04x|%c] %pV",
693 level, func, i2c_adapter_id(state->i2c_props.adap),
694 state->i2c_props.addr,
695 (state->role == TDA18271_MASTER) ? 'M' : 'S',
696 &vaf);
697 else
698 rtn = printk("%s%s: %pV", level, func, &vaf);
699
700 va_end(args);
701
702 return rtn;
703}
diff --git a/drivers/media/common/tuners/tda18271-priv.h b/drivers/media/common/tuners/tda18271-priv.h
index 9589ab0576d..94340f47562 100644
--- a/drivers/media/common/tuners/tda18271-priv.h
+++ b/drivers/media/common/tuners/tda18271-priv.h
@@ -136,29 +136,26 @@ extern int tda18271_debug;
136#define DBG_ADV 8 136#define DBG_ADV 8
137#define DBG_CAL 16 137#define DBG_CAL 16
138 138
139#define tda_printk(st, kern, fmt, arg...) do {\ 139__attribute__((format(printf, 4, 5)))
140 if (st) { \ 140int _tda_printk(struct tda18271_priv *state, const char *level,
141 struct tda18271_priv *state = st; \ 141 const char *func, const char *fmt, ...);
142 printk(kern "%s: [%d-%04x|%s] " fmt, __func__, \ 142
143 i2c_adapter_id(state->i2c_props.adap), \ 143#define tda_printk(st, lvl, fmt, arg...) \
144 state->i2c_props.addr, \ 144 _tda_printk(st, lvl, __func__, fmt, ##arg)
145 (state->role == TDA18271_MASTER) \ 145
146 ? "M" : "S", ##arg); \ 146#define tda_dprintk(st, lvl, fmt, arg...) \
147 } else \ 147do { \
148 printk(kern "%s: " fmt, __func__, ##arg); \ 148 if (tda18271_debug & lvl) \
149 tda_printk(st, KERN_DEBUG, fmt, ##arg); \
149} while (0) 150} while (0)
150 151
151#define tda_dprintk(st, lvl, fmt, arg...) do {\ 152#define tda_info(fmt, arg...) pr_info(fmt, ##arg)
152 if (tda18271_debug & lvl) \ 153#define tda_warn(fmt, arg...) tda_printk(priv, KERN_WARNING, fmt, ##arg)
153 tda_printk(st, KERN_DEBUG, fmt, ##arg); } while (0) 154#define tda_err(fmt, arg...) tda_printk(priv, KERN_ERR, fmt, ##arg)
154 155#define tda_dbg(fmt, arg...) tda_dprintk(priv, DBG_INFO, fmt, ##arg)
155#define tda_info(fmt, arg...) printk(KERN_INFO fmt, ##arg) 156#define tda_map(fmt, arg...) tda_dprintk(priv, DBG_MAP, fmt, ##arg)
156#define tda_warn(fmt, arg...) tda_printk(priv, KERN_WARNING, fmt, ##arg) 157#define tda_reg(fmt, arg...) tda_dprintk(priv, DBG_REG, fmt, ##arg)
157#define tda_err(fmt, arg...) tda_printk(priv, KERN_ERR, fmt, ##arg) 158#define tda_cal(fmt, arg...) tda_dprintk(priv, DBG_CAL, fmt, ##arg)
158#define tda_dbg(fmt, arg...) tda_dprintk(priv, DBG_INFO, fmt, ##arg)
159#define tda_map(fmt, arg...) tda_dprintk(priv, DBG_MAP, fmt, ##arg)
160#define tda_reg(fmt, arg...) tda_dprintk(priv, DBG_REG, fmt, ##arg)
161#define tda_cal(fmt, arg...) tda_dprintk(priv, DBG_CAL, fmt, ##arg)
162 159
163#define tda_fail(ret) \ 160#define tda_fail(ret) \
164({ \ 161({ \