]> err.no Git - linux-2.6/blobdiff - drivers/media/dvb/frontends/drx397xD.c
V4L/DVB (8433): Fix macro name at z0194a.h
[linux-2.6] / drivers / media / dvb / frontends / drx397xD.c
index b0ff77ffc88bf2b014b24db82dee88e946954cc0..3cbed874a6f8346b28e63e74ac004dc59f29bc1a 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/delay.h>
 #include <linux/string.h>
 #include <linux/firmware.h>
+#include <asm/div64.h>
 
 #include "dvb_frontend.h"
 #include "drx397xD.h"
@@ -72,7 +73,7 @@ static struct {
        const struct firmware *file;
        rwlock_t lock;
        int refcnt;
-       u8 *data[ARRAY_SIZE(blob_name)];
+       const u8 *data[ARRAY_SIZE(blob_name)];
 } fw[] = {
 #define _FW_ENTRY(a, b)                {                       \
                        .name   = a,                    \
@@ -108,7 +109,7 @@ static void drx_release_fw(struct drx397xD_state *s)
 
 static int drx_load_fw(struct drx397xD_state *s, fw_ix_t ix)
 {
-       u8 *data;
+       const u8 *data;
        size_t size, len;
        int i = 0, j, rc = -EINVAL;
 
@@ -192,7 +193,7 @@ static int drx_load_fw(struct drx397xD_state *s, fw_ix_t ix)
 static int write_fw(struct drx397xD_state *s, blob_ix_t ix)
 {
        struct i2c_msg msg = {.addr = s->config.demod_address,.flags = 0 };
-       u8 *data;
+       const u8 *data;
        int len, rc = 0, i = 0;
 
        if (ix < 0 || ix >= ARRAY_SIZE(blob_name)) {
@@ -213,7 +214,7 @@ static int write_fw(struct drx397xD_state *s, blob_ix_t ix)
                case 0: /* bytecode */
                        len = data[i++];
                        msg.len = len;
-                       msg.buf = &data[i];
+                       msg.buf = (__u8 *) &data[i];
                        if (i2c_transfer(s->i2c, &msg, 1) != 1) {
                                rc = -EIO;
                                goto exit_rc;
@@ -1024,17 +1025,15 @@ static int drx_tune(struct drx397xD_state *s,
        rc = WR16(s, 0x0820050, rc);
 
        {
-               long dummy;
-
                /* Configure bandwidth specific factor */
-               ebx = div_ll_X_l_rem(((u64) (s->f_osc) << 21) + (ebx >> 1),
-                                    ebx, &dummy) - 0x800000;
+               ebx = div64_u64(((u64) (s->f_osc) << 21) + (ebx >> 1),
+                                    (u64)ebx) - 0x800000;
                EXIT_RC(WR16(s, 0x0c50010, ebx & 0xffff));
                EXIT_RC(WR16(s, 0x0c50011, ebx >> 16));
 
                /* drx397xD oscillator calibration */
-               ebx = div_ll_X_l_rem(((u64) (s->config.f_if + df_tuner) << 28) +
-                                    (s->f_osc >> 1), s->f_osc, &dummy);
+               ebx = div64_u64(((u64) (s->config.f_if + df_tuner) << 28) +
+                                    (s->f_osc >> 1), (u64)s->f_osc);
        }
        ebx &= 0xfffffff;
        if (fep->inversion == INVERSION_ON)