diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-05 11:16:26 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-05 11:16:26 -0400 |
commit | 298f18a3e2e078c796d3f852091fbe961fbca806 (patch) | |
tree | 5edf68c7efcc8aca6984a93272f6517450fd501c /drivers | |
parent | 82041c0a15fdd45336f11c893c4ff69d48dcc4f1 (diff) |
[media] rtl2832: save some data space by using a macro instead of a table
Instead of using a table for reg bitmask, use a macro. This should save
some data segment space.
Cc: Thomas Mair <thomas.mair86@googlemail.com>
Cc: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb/frontends/rtl2832.c | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/drivers/media/dvb/frontends/rtl2832.c b/drivers/media/dvb/frontends/rtl2832.c index d0cbe27f979e..2da592fb38ad 100644 --- a/drivers/media/dvb/frontends/rtl2832.c +++ b/drivers/media/dvb/frontends/rtl2832.c | |||
@@ -19,47 +19,13 @@ | |||
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include "rtl2832_priv.h" | 21 | #include "rtl2832_priv.h" |
22 | 22 | #include <linux/bitops.h> | |
23 | 23 | ||
24 | int rtl2832_debug; | 24 | int rtl2832_debug; |
25 | module_param_named(debug, rtl2832_debug, int, 0644); | 25 | module_param_named(debug, rtl2832_debug, int, 0644); |
26 | MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); | 26 | MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); |
27 | 27 | ||
28 | 28 | #define REG_MASK(b) (BIT(b + 1) - 1) | |
29 | static const int reg_mask[32] = { | ||
30 | 0x00000001, | ||
31 | 0x00000003, | ||
32 | 0x00000007, | ||
33 | 0x0000000f, | ||
34 | 0x0000001f, | ||
35 | 0x0000003f, | ||
36 | 0x0000007f, | ||
37 | 0x000000ff, | ||
38 | 0x000001ff, | ||
39 | 0x000003ff, | ||
40 | 0x000007ff, | ||
41 | 0x00000fff, | ||
42 | 0x00001fff, | ||
43 | 0x00003fff, | ||
44 | 0x00007fff, | ||
45 | 0x0000ffff, | ||
46 | 0x0001ffff, | ||
47 | 0x0003ffff, | ||
48 | 0x0007ffff, | ||
49 | 0x000fffff, | ||
50 | 0x001fffff, | ||
51 | 0x003fffff, | ||
52 | 0x007fffff, | ||
53 | 0x00ffffff, | ||
54 | 0x01ffffff, | ||
55 | 0x03ffffff, | ||
56 | 0x07ffffff, | ||
57 | 0x0fffffff, | ||
58 | 0x1fffffff, | ||
59 | 0x3fffffff, | ||
60 | 0x7fffffff, | ||
61 | 0xffffffff | ||
62 | }; | ||
63 | 29 | ||
64 | static const struct rtl2832_reg_entry registers[] = { | 30 | static const struct rtl2832_reg_entry registers[] = { |
65 | [DVBT_SOFT_RST] = {0x1, 0x1, 2, 2}, | 31 | [DVBT_SOFT_RST] = {0x1, 0x1, 2, 2}, |
@@ -317,7 +283,7 @@ int rtl2832_rd_demod_reg(struct rtl2832_priv *priv, int reg, u32 *val) | |||
317 | page = registers[reg].page; | 283 | page = registers[reg].page; |
318 | 284 | ||
319 | len = (msb >> 3) + 1; | 285 | len = (msb >> 3) + 1; |
320 | mask = reg_mask[msb - lsb]; | 286 | mask = REG_MASK(msb - lsb); |
321 | 287 | ||
322 | ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len); | 288 | ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len); |
323 | if (ret) | 289 | if (ret) |
@@ -359,7 +325,7 @@ int rtl2832_wr_demod_reg(struct rtl2832_priv *priv, int reg, u32 val) | |||
359 | page = registers[reg].page; | 325 | page = registers[reg].page; |
360 | 326 | ||
361 | len = (msb >> 3) + 1; | 327 | len = (msb >> 3) + 1; |
362 | mask = reg_mask[msb - lsb]; | 328 | mask = REG_MASK(msb - lsb); |
363 | 329 | ||
364 | 330 | ||
365 | ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len); | 331 | ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len); |