forked from luck/tmp_suning_uos_patched
rtc: enforce rtc_timer_init private_data type
All the remaining users of rtc_timers are passing the rtc_device as private data. Enforce that and rename private_data to rtc. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
ffe1c5a2d4
commit
9a03201170
|
@ -178,9 +178,9 @@ static struct rtc_device *rtc_allocate_device(void)
|
|||
timerqueue_init_head(&rtc->timerqueue);
|
||||
INIT_WORK(&rtc->irqwork, rtc_timer_do_work);
|
||||
/* Init aie timer */
|
||||
rtc_timer_init(&rtc->aie_timer, rtc_aie_update_irq, (void *)rtc);
|
||||
rtc_timer_init(&rtc->aie_timer, rtc_aie_update_irq, rtc);
|
||||
/* Init uie timer */
|
||||
rtc_timer_init(&rtc->uie_rtctimer, rtc_uie_update_irq, (void *)rtc);
|
||||
rtc_timer_init(&rtc->uie_rtctimer, rtc_uie_update_irq, rtc);
|
||||
/* Init pie timer */
|
||||
hrtimer_init(&rtc->pie_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
|
||||
rtc->pie_timer.function = rtc_pie_update_irq;
|
||||
|
|
|
@ -609,26 +609,24 @@ void rtc_handle_legacy_irq(struct rtc_device *rtc, int num, int mode)
|
|||
|
||||
/**
|
||||
* rtc_aie_update_irq - AIE mode rtctimer hook
|
||||
* @private: pointer to the rtc_device
|
||||
* @rtc: pointer to the rtc_device
|
||||
*
|
||||
* This functions is called when the aie_timer expires.
|
||||
*/
|
||||
void rtc_aie_update_irq(void *private)
|
||||
void rtc_aie_update_irq(struct rtc_device *rtc)
|
||||
{
|
||||
struct rtc_device *rtc = (struct rtc_device *)private;
|
||||
rtc_handle_legacy_irq(rtc, 1, RTC_AF);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* rtc_uie_update_irq - UIE mode rtctimer hook
|
||||
* @private: pointer to the rtc_device
|
||||
* @rtc: pointer to the rtc_device
|
||||
*
|
||||
* This functions is called when the uie_timer expires.
|
||||
*/
|
||||
void rtc_uie_update_irq(void *private)
|
||||
void rtc_uie_update_irq(struct rtc_device *rtc)
|
||||
{
|
||||
struct rtc_device *rtc = (struct rtc_device *)private;
|
||||
rtc_handle_legacy_irq(rtc, 1, RTC_UF);
|
||||
}
|
||||
|
||||
|
@ -908,7 +906,7 @@ void rtc_timer_do_work(struct work_struct *work)
|
|||
trace_rtc_timer_dequeue(timer);
|
||||
timer->enabled = 0;
|
||||
if (timer->func)
|
||||
timer->func(timer->private_data);
|
||||
timer->func(timer->rtc);
|
||||
|
||||
trace_rtc_timer_fired(timer);
|
||||
/* Re-add/fwd periodic timers */
|
||||
|
@ -955,16 +953,17 @@ void rtc_timer_do_work(struct work_struct *work)
|
|||
/* rtc_timer_init - Initializes an rtc_timer
|
||||
* @timer: timer to be intiialized
|
||||
* @f: function pointer to be called when timer fires
|
||||
* @data: private data passed to function pointer
|
||||
* @rtc: pointer to the rtc_device
|
||||
*
|
||||
* Kernel interface to initializing an rtc_timer.
|
||||
*/
|
||||
void rtc_timer_init(struct rtc_timer *timer, void (*f)(void *p), void *data)
|
||||
void rtc_timer_init(struct rtc_timer *timer, void (*f)(struct rtc_device *r),
|
||||
struct rtc_device *rtc)
|
||||
{
|
||||
timerqueue_init(&timer->node);
|
||||
timer->enabled = 0;
|
||||
timer->func = f;
|
||||
timer->private_data = data;
|
||||
timer->rtc = rtc;
|
||||
}
|
||||
|
||||
/* rtc_timer_start - Sets an rtc_timer to fire in the future
|
||||
|
|
|
@ -87,15 +87,16 @@ struct rtc_class_ops {
|
|||
int (*set_offset)(struct device *, long offset);
|
||||
};
|
||||
|
||||
struct rtc_device;
|
||||
|
||||
struct rtc_timer {
|
||||
struct timerqueue_node node;
|
||||
ktime_t period;
|
||||
void (*func)(void *private_data);
|
||||
void *private_data;
|
||||
void (*func)(struct rtc_device *rtc);
|
||||
struct rtc_device *rtc;
|
||||
int enabled;
|
||||
};
|
||||
|
||||
|
||||
/* flags */
|
||||
#define RTC_DEV_BUSY 0
|
||||
|
||||
|
@ -197,11 +198,12 @@ extern int rtc_dev_update_irq_enable_emul(struct rtc_device *rtc,
|
|||
unsigned int enabled);
|
||||
|
||||
void rtc_handle_legacy_irq(struct rtc_device *rtc, int num, int mode);
|
||||
void rtc_aie_update_irq(void *private);
|
||||
void rtc_uie_update_irq(void *private);
|
||||
void rtc_aie_update_irq(struct rtc_device *rtc);
|
||||
void rtc_uie_update_irq(struct rtc_device *rtc);
|
||||
enum hrtimer_restart rtc_pie_update_irq(struct hrtimer *timer);
|
||||
|
||||
void rtc_timer_init(struct rtc_timer *timer, void (*f)(void *p), void *data);
|
||||
void rtc_timer_init(struct rtc_timer *timer, void (*f)(struct rtc_device *r),
|
||||
struct rtc_device *rtc);
|
||||
int rtc_timer_start(struct rtc_device *rtc, struct rtc_timer *timer,
|
||||
ktime_t expires, ktime_t period);
|
||||
void rtc_timer_cancel(struct rtc_device *rtc, struct rtc_timer *timer);
|
||||
|
|
Loading…
Reference in New Issue
Block a user