All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gianluca Gennari <gennarone@gmail.com>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: "Frank Schäfer" <fschaefer.oss@googlemail.com>,
	"Linux Media Mailing List" <linux-media@vger.kernel.org>
Subject: Re: media-tree build is broken
Date: Fri, 22 Mar 2013 12:35:19 +0100	[thread overview]
Message-ID: <514C41F7.2020201@gmail.com> (raw)
In-Reply-To: <20130322062551.1c42d65c@redhat.com>

Il 22/03/2013 10:25, Mauro Carvalho Chehab ha scritto:
> 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.

Hi Mauro, Frank,
I can confirm the patch fixes the compilation problem.
Tested on a 32 bit Ubuntu 10.04, compiling the latest media_build tree.

Regards,
Gianluca


> 
> 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);
>  
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


  reply	other threads:[~2013-03-22 11:35 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
2013-03-22 11:35   ` Gianluca Gennari [this message]
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=514C41F7.2020201@gmail.com \
    --to=gennarone@gmail.com \
    --cc=fschaefer.oss@googlemail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    /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.