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 <da...@hardeman.nu>
> CC: Maxim Levitsky <maximlevit...@gmail.com>
> Signed-off-by: Jarod Wilson <ja...@redhat.com>
> ---
>  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to