Commit 298f18a3 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[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: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 82041c0a
...@@ -19,47 +19,13 @@ ...@@ -19,47 +19,13 @@
*/ */
#include "rtl2832_priv.h" #include "rtl2832_priv.h"
#include <linux/bitops.h>
int rtl2832_debug; int rtl2832_debug;
module_param_named(debug, rtl2832_debug, int, 0644); module_param_named(debug, rtl2832_debug, int, 0644);
MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off).");
#define REG_MASK(b) (BIT(b + 1) - 1)
static const int reg_mask[32] = {
0x00000001,
0x00000003,
0x00000007,
0x0000000f,
0x0000001f,
0x0000003f,
0x0000007f,
0x000000ff,
0x000001ff,
0x000003ff,
0x000007ff,
0x00000fff,
0x00001fff,
0x00003fff,
0x00007fff,
0x0000ffff,
0x0001ffff,
0x0003ffff,
0x0007ffff,
0x000fffff,
0x001fffff,
0x003fffff,
0x007fffff,
0x00ffffff,
0x01ffffff,
0x03ffffff,
0x07ffffff,
0x0fffffff,
0x1fffffff,
0x3fffffff,
0x7fffffff,
0xffffffff
};
static const struct rtl2832_reg_entry registers[] = { static const struct rtl2832_reg_entry registers[] = {
[DVBT_SOFT_RST] = {0x1, 0x1, 2, 2}, [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,7 +283,7 @@ int rtl2832_rd_demod_reg(struct rtl2832_priv *priv, int reg, u32 *val)
page = registers[reg].page; page = registers[reg].page;
len = (msb >> 3) + 1; len = (msb >> 3) + 1;
mask = reg_mask[msb - lsb]; mask = REG_MASK(msb - lsb);
ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len); ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len);
if (ret) if (ret)
...@@ -359,7 +325,7 @@ int rtl2832_wr_demod_reg(struct rtl2832_priv *priv, int reg, u32 val) ...@@ -359,7 +325,7 @@ int rtl2832_wr_demod_reg(struct rtl2832_priv *priv, int reg, u32 val)
page = registers[reg].page; page = registers[reg].page;
len = (msb >> 3) + 1; len = (msb >> 3) + 1;
mask = reg_mask[msb - lsb]; mask = REG_MASK(msb - lsb);
ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len); ret = rtl2832_rd_regs(priv, reg_start_addr, page, &reading[0], len);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment