[PATCH] docs: highres: fix broken urls
Some urls is invalid. I find alternative urls. Signed-off-by: stephen lu --- Documentation/timers/highres.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/timers/highres.txt b/Documentation/timers/highres.txt index e878997..9d88f67 100644 --- a/Documentation/timers/highres.txt +++ b/Documentation/timers/highres.txt @@ -4,10 +4,10 @@ High resolution timers and dynamic ticks design notes Further information can be found in the paper of the OLS 2006 talk "hrtimers and beyond". The paper is part of the OLS 2006 Proceedings Volume 1, which can be found on the OLS website: -http://www.linuxsymposium.org/2006/linuxsymposium_procv1.pdf +https://www.kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf The slides to this talk are available from: -http://tglx.de/projects/hrtimers/ols2006-hrtimers.pdf +http://www.cs.columbia.edu/~nahum/w6998/papers/ols2006-hrtimers-slides.pdf The slides contain five figures (pages 2, 15, 18, 20, 22), which illustrate the changes in the time(r) related Linux subsystems. Figure #1 (p. 2) shows the
[PATCH] input: gpio-keys: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Signed-off-by: Stephen Lu --- drivers/input/keyboard/gpio_keys.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index e9f0ebf..25ddc33 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c @@ -419,9 +419,9 @@ static irqreturn_t gpio_keys_gpio_isr(int irq, void *dev_id) return IRQ_HANDLED; } -static void gpio_keys_irq_timer(unsigned long _data) +static void gpio_keys_irq_timer(struct timer_list *t) { - struct gpio_button_data *bdata = (struct gpio_button_data *)_data; + struct gpio_button_data *bdata = from_timer(bdata, t, release_timer); struct input_dev *input = bdata->input; unsigned long flags; @@ -584,6 +584,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev, bdata->release_delay = button->debounce_interval; setup_timer(&bdata->release_timer, gpio_keys_irq_timer, (unsigned long)bdata); + timer_setup(&bdata->release_timer, + gpio_keys_irq_timer, 0); isr = gpio_keys_irq_isr; irqflags = 0; -- 1.9.1
[PATCH] input: ad7877: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Signed-off-by: Stephen Lu --- drivers/input/touchscreen/ad7877.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c index 9c250ae..0381c78 100644 --- a/drivers/input/touchscreen/ad7877.c +++ b/drivers/input/touchscreen/ad7877.c @@ -385,9 +385,9 @@ static inline void ad7877_ts_event_release(struct ad7877 *ts) input_sync(input_dev); } -static void ad7877_timer(unsigned long handle) +static void ad7877_timer(struct timer_list *t) { - struct ad7877 *ts = (void *)handle; + struct ad7877 *ts = from_timer(ts, t, timer); unsigned long flags; spin_lock_irqsave(&ts->lock, flags); @@ -718,7 +718,7 @@ static int ad7877_probe(struct spi_device *spi) ts->spi = spi; ts->input = input_dev; - setup_timer(&ts->timer, ad7877_timer, (unsigned long) ts); + timer_setup(&ts->timer, ad7877_timer, 0); mutex_init(&ts->mutex); spin_lock_init(&ts->lock); -- 1.9.1