Em 01-09-2012 15:53, Jean Delvare escreveu: > DIV_ROUND_CLOSEST is faster if the compiler knows it will only be > dealing with unsigned dividends. > > Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Guenter Roeck <linux@xxxxxxxxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> > --- > drivers/media/rc/mceusb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- linux-3.6-rc3.orig/drivers/media/rc/mceusb.c 2012-08-04 21:49:27.000000000 +0200 > +++ linux-3.6-rc3/drivers/media/rc/mceusb.c 2012-09-01 18:53:32.053042123 +0200 > @@ -627,7 +627,7 @@ static void mceusb_dev_printdata(struct > break; > case MCE_RSP_EQIRCFS: > period = DIV_ROUND_CLOSEST( > - (1 << data1 * 2) * (data2 + 1), 10); > + (1U << data1 * 2) * (data2 + 1), 10); > if (!period) > break; > carrier = (1000 * 1000) / period; > > Hmm... this generates the following warning with "W=1": drivers/media/rc/mceusb.c:629:4: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] drivers/media/rc/mceusb.c:629:4: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] Perhaps it makes sense to use an optimized version for unsigned, or to change the macro to take the data types into account. Regards, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html