On Thu, 2010-12-16 at 14:00 -0500, Jarod Wilson wrote: > Fix a thinko, and move macro definition to a common header so it can be > shared amongst all drivers, as ms to us conversion is something that > multiple drivers need to do. We probably ought to have its inverse > available as well. Nope, at least ENE gets 'us' samples, that is 10^-6 seconds, and I multiply that by 1000, and that gives nanoseconds (10^-9). I have nothing against moving MS_TO_NS to common code of course. Best regards, Maxim Levitsky > > Reported-by: David HÃrdeman <david@xxxxxxxxxxx> > CC: Maxim Levitsky <maximlevitsky@xxxxxxxxx> > Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> > --- > drivers/media/rc/ene_ir.c | 16 ++++++++-------- > drivers/media/rc/ene_ir.h | 2 -- > drivers/media/rc/mceusb.c | 7 +++---- > include/media/rc-core.h | 1 + > 4 files changed, 12 insertions(+), 14 deletions(-) > > diff --git a/drivers/media/rc/ene_ir.c b/drivers/media/rc/ene_ir.c > index 80b3c31..1203d4f 100644 > --- a/drivers/media/rc/ene_ir.c > +++ b/drivers/media/rc/ene_ir.c > @@ -446,27 +446,27 @@ static void ene_rx_setup(struct ene_device *dev) > > select_timeout: > if (dev->rx_fan_input_inuse) { > - dev->rdev->rx_resolution = MS_TO_NS(ENE_FW_SAMPLE_PERIOD_FAN); > + dev->rdev->rx_resolution = MS_TO_US(ENE_FW_SAMPLE_PERIOD_FAN); > > /* Fan input doesn't support timeouts, it just ends the > input with a maximum sample */ > dev->rdev->min_timeout = dev->rdev->max_timeout = > - MS_TO_NS(ENE_FW_SMPL_BUF_FAN_MSK * > + MS_TO_US(ENE_FW_SMPL_BUF_FAN_MSK * > ENE_FW_SAMPLE_PERIOD_FAN); > } else { > - dev->rdev->rx_resolution = MS_TO_NS(sample_period); > + dev->rdev->rx_resolution = MS_TO_US(sample_period); > > /* Theoreticly timeout is unlimited, but we cap it > * because it was seen that on one device, it > * would stop sending spaces after around 250 msec. > * Besides, this is close to 2^32 anyway and timeout is u32. > */ > - dev->rdev->min_timeout = MS_TO_NS(127 * sample_period); > - dev->rdev->max_timeout = MS_TO_NS(200000); > + dev->rdev->min_timeout = MS_TO_US(127 * sample_period); > + dev->rdev->max_timeout = MS_TO_US(200000); > } > > if (dev->hw_learning_and_tx_capable) > - dev->rdev->tx_resolution = MS_TO_NS(sample_period); > + dev->rdev->tx_resolution = MS_TO_US(sample_period); > > if (dev->rdev->timeout > dev->rdev->max_timeout) > dev->rdev->timeout = dev->rdev->max_timeout; > @@ -801,7 +801,7 @@ static irqreturn_t ene_isr(int irq, void *data) > > dbg("RX: %d (%s)", hw_sample, pulse ? "pulse" : "space"); > > - ev.duration = MS_TO_NS(hw_sample); > + ev.duration = MS_TO_US(hw_sample); > ev.pulse = pulse; > ir_raw_event_store_with_filter(dev->rdev, &ev); > } > @@ -821,7 +821,7 @@ static void ene_setup_default_settings(struct ene_device *dev) > dev->learning_mode_enabled = learning_mode_force; > > /* Set reasonable default timeout */ > - dev->rdev->timeout = MS_TO_NS(150000); > + dev->rdev->timeout = MS_TO_US(150000); > } > > /* Upload all hardware settings at once. Used at load and resume time */ > diff --git a/drivers/media/rc/ene_ir.h b/drivers/media/rc/ene_ir.h > index c179baf..337a41d 100644 > --- a/drivers/media/rc/ene_ir.h > +++ b/drivers/media/rc/ene_ir.h > @@ -201,8 +201,6 @@ > #define dbg_verbose(format, ...) __dbg(2, format, ## __VA_ARGS__) > #define dbg_regs(format, ...) __dbg(3, format, ## __VA_ARGS__) > > -#define MS_TO_NS(msec) ((msec) * 1000) > - > struct ene_device { > struct pnp_dev *pnp_dev; > struct rc_dev *rdev; > diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c > index 94b95d4..9c55e32 100644 > --- a/drivers/media/rc/mceusb.c > +++ b/drivers/media/rc/mceusb.c > @@ -48,7 +48,6 @@ > #define USB_BUFLEN 32 /* USB reception buffer length */ > #define USB_CTRL_MSG_SZ 2 /* Size of usb ctrl msg on gen1 hw */ > #define MCE_G1_INIT_MSGS 40 /* Init messages on gen1 hw to throw out */ > -#define MS_TO_NS(msec) ((msec) * 1000) > > /* MCE constants */ > #define MCE_CMDBUF_SIZE 384 /* MCE Command buffer length */ > @@ -815,7 +814,7 @@ static void mceusb_handle_command(struct mceusb_dev *ir, int index) > switch (ir->buf_in[index]) { > /* 2-byte return value commands */ > case MCE_CMD_S_TIMEOUT: > - ir->rc->timeout = MS_TO_NS((hi << 8 | lo) / 2); > + ir->rc->timeout = MS_TO_US((hi << 8 | lo) / 2); > break; > > /* 1-byte return value commands */ > @@ -856,7 +855,7 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len) > ir->rem--; > rawir.pulse = ((ir->buf_in[i] & MCE_PULSE_BIT) != 0); > rawir.duration = (ir->buf_in[i] & MCE_PULSE_MASK) > - * MS_TO_NS(MCE_TIME_UNIT); > + * MS_TO_US(MCE_TIME_UNIT); > > dev_dbg(ir->dev, "Storing %s with duration %d\n", > rawir.pulse ? "pulse" : "space", > @@ -1059,7 +1058,7 @@ static struct rc_dev *mceusb_init_rc_dev(struct mceusb_dev *ir) > rc->priv = ir; > rc->driver_type = RC_DRIVER_IR_RAW; > rc->allowed_protos = RC_TYPE_ALL; > - rc->timeout = MS_TO_NS(1000); > + rc->timeout = MS_TO_US(1000); > if (!ir->flags.no_tx) { > rc->s_tx_mask = mceusb_set_tx_mask; > rc->s_tx_carrier = mceusb_set_tx_carrier; > diff --git a/include/media/rc-core.h b/include/media/rc-core.h > index ffc93dd..830666d 100644 > --- a/include/media/rc-core.h > +++ b/include/media/rc-core.h > @@ -185,6 +185,7 @@ static inline void init_ir_raw_event(struct ir_raw_event *ev) > } > > #define IR_MAX_DURATION 0xFFFFFFFF /* a bit more than 4 seconds */ > +#define MS_TO_US(msec) ((msec) * 1000) > > void ir_raw_event_handle(struct rc_dev *dev); > int ir_raw_event_store(struct rc_dev *dev, struct ir_raw_event *ev); -- 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