Re: [PATCH] media: Revert cleanup ktime_set() usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Sat, 14 Apr 2018 01:31:34 +0200
"Jasmin J." <jasmin@xxxxxx> escreveu:

> From: Jasmin Jessich <jasmin@xxxxxx>
> 
> This reverts 8b0e195314fa, because this will not compile for Kernels
> older than 4.10.

This patch looks fine, but not for the above-mentioned.

The thing is that it is not consistent to have some places with
things like:
	timeout = ktime_set(1, ir->polling * 1000000);

and others with:
	timeout = ir->polling * 1000000;

We should either use ktime_set() everywhere or remove it as a whole.
My preference is to keep using it, as it makes it better documented.
In any case, gcc should be smart enough to discard multiply by a
zero constant when evaluating ktime_set() macro (if not, it is a gcc
issue).

The fact that it makes maintainership of the media_build backport
tree easier is just a plus, but it makes no sense upstream.

> 
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Jasmin Jessich <jasmin@xxxxxx>
> ---
>  drivers/media/dvb-core/dmxdev.c     | 2 +-
>  drivers/media/pci/cx88/cx88-input.c | 6 ++++--
>  drivers/media/pci/pt3/pt3.c         | 2 +-
>  3 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c
> index 61a750f..cb078d6 100644
> --- a/drivers/media/dvb-core/dmxdev.c
> +++ b/drivers/media/dvb-core/dmxdev.c
> @@ -622,7 +622,7 @@ static int dvb_dmxdev_start_feed(struct dmxdev *dmxdev,
>  				 struct dmxdev_filter *filter,
>  				 struct dmxdev_feed *feed)
>  {
> -	ktime_t timeout = 0;
> +	ktime_t timeout = ktime_set(0, 0);
>  	struct dmx_pes_filter_params *para = &filter->params.pes;
>  	enum dmx_output otype;
>  	int ret;
> diff --git a/drivers/media/pci/cx88/cx88-input.c b/drivers/media/pci/cx88/cx88-input.c
> index 6f4e692..b13243d 100644
> --- a/drivers/media/pci/cx88/cx88-input.c
> +++ b/drivers/media/pci/cx88/cx88-input.c
> @@ -180,7 +180,8 @@ static enum hrtimer_restart cx88_ir_work(struct hrtimer *timer)
>  	struct cx88_IR *ir = container_of(timer, struct cx88_IR, timer);
>  
>  	cx88_ir_handle_key(ir);
> -	missed = hrtimer_forward_now(&ir->timer, ir->polling * 1000000LL);
> +	missed = hrtimer_forward_now(&ir->timer,
> +				     ktime_set(0, ir->polling * 1000000));
>  	if (missed > 1)
>  		ir_dprintk("Missed ticks %ld\n", missed - 1);
>  
> @@ -200,7 +201,8 @@ static int __cx88_ir_start(void *priv)
>  	if (ir->polling) {
>  		hrtimer_init(&ir->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
>  		ir->timer.function = cx88_ir_work;
> -		hrtimer_start(&ir->timer, ir->polling * 1000000LL,
> +		hrtimer_start(&ir->timer,
> +			      ktime_set(0, ir->polling * 1000000),
>  			      HRTIMER_MODE_REL);
>  	}
>  	if (ir->sampling) {
> diff --git a/drivers/media/pci/pt3/pt3.c b/drivers/media/pci/pt3/pt3.c
> index da74828..8ced807 100644
> --- a/drivers/media/pci/pt3/pt3.c
> +++ b/drivers/media/pci/pt3/pt3.c
> @@ -464,7 +464,7 @@ static int pt3_fetch_thread(void *data)
>  
>  		pt3_proc_dma(adap);
>  
> -		delay = PT3_FETCH_DELAY * NSEC_PER_MSEC;
> +		delay = ktime_set(0, PT3_FETCH_DELAY * NSEC_PER_MSEC);
>  		set_current_state(TASK_UNINTERRUPTIBLE);
>  		freezable_schedule_hrtimeout_range(&delay,
>  					PT3_FETCH_DELAY_DELTA * NSEC_PER_MSEC,



Thanks,
Mauro



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux