From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: "Frank Schäfer" <fschaefer.oss@googlemail.com>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: media-tree build is broken
Date: Fri, 22 Mar 2013 06:25:51 -0300 [thread overview]
Message-ID: <20130322062551.1c42d65c@redhat.com> (raw)
In-Reply-To: <514B4E97.6010903@googlemail.com>
Em Thu, 21 Mar 2013 19:16:55 +0100
Frank Schäfer <fschaefer.oss@googlemail.com> escreveu:
> ...
> Kernel: arch/x86/boot/bzImage is ready (#2)
> ERROR: "__divdi3" [drivers/media/common/siano/smsdvb.ko] undefined!
> make[1]: *** [__modpost] Fehler 1
> make: *** [modules] Fehler 2
>
>
> Mauro, I assume this is caused by one of the recent Siano patches ?
I tried to debug this one, but I couldn't reproduce it here. Not sure why,
but I'm not capable of producing those errors here for a long time.
Maybe the gcc compiler version currently provided with Fedora 18 doesn't
require any library for 64-bit divisions, even when compiling for a
32 bits Kernel.
Anyway, I'm almost sure that the following patch fixes the issue.
Please test.
Regards,
Mauro.
-
PATCH] [media] siano: use do_div() for 64-bits division
As reported by Frank Schäfer <fschaefer.oss@googlemail.com>:
ERROR: "__divdi3" [drivers/media/common/siano/smsdvb.ko] undefined!
Reported-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/common/siano/smsdvb-main.c b/drivers/media/common/siano/smsdvb-main.c
index d965a7a..297f1b2 100644
--- a/drivers/media/common/siano/smsdvb-main.c
+++ b/drivers/media/common/siano/smsdvb-main.c
@@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/init.h>
+#include <asm/div64.h>
#include "dmxdev.h"
#include "dvbdev.h"
@@ -244,6 +245,7 @@ static void smsdvb_update_per_slices(struct smsdvb_client_t *client,
{
struct dvb_frontend *fe = &client->frontend;
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+ u64 tmp;
client->fe_status = sms_to_status(p->is_demod_locked, p->is_rf_locked);
c->modulation = sms_to_modulation(p->constellation);
@@ -272,8 +274,9 @@ static void smsdvb_update_per_slices(struct smsdvb_client_t *client,
c->post_bit_count.stat[0].uvalue += p->ber_bit_count;
/* Legacy PER/BER */
- client->legacy_per = (p->ets_packets * 65535) /
- (p->ts_packets + p->ets_packets);
+ tmp = p->ets_packets * 65535;
+ do_div(tmp, p->ts_packets + p->ets_packets);
+ client->legacy_per = tmp;
}
static void smsdvb_update_dvb_stats(struct smsdvb_client_t *client,
@@ -803,7 +806,7 @@ static int smsdvb_read_snr(struct dvb_frontend *fe, u16 *snr)
rc = smsdvb_send_statistics_request(client);
/* Preferred scale for SNR with legacy API: 0.1 dB */
- *snr = c->cnr.stat[0].svalue / 100;
+ *snr = ((u32)c->cnr.stat[0].svalue) / 100;
led_feedback(client);
next prev parent reply other threads:[~2013-03-22 9:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 18:16 media-tree build is broken Frank Schäfer
2013-03-21 18:58 ` Mauro Carvalho Chehab
2013-03-22 9:25 ` Mauro Carvalho Chehab [this message]
2013-03-22 11:35 ` Gianluca Gennari
2013-03-22 12:47 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130322062551.1c42d65c@redhat.com \
--to=mchehab@redhat.com \
--cc=fschaefer.oss@googlemail.com \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.