Loading drivers/char/hpet.c +0 −75 Original line number Diff line number Diff line Loading @@ -600,63 +600,6 @@ static int hpet_is_known(struct hpet_data *hdp) return 0; } EXPORT_SYMBOL(hpet_alloc); EXPORT_SYMBOL(hpet_register); EXPORT_SYMBOL(hpet_unregister); EXPORT_SYMBOL(hpet_control); int hpet_register(struct hpet_task *tp, int periodic) { unsigned int i; u64 mask; struct hpet_timer __iomem *timer; struct hpet_dev *devp; struct hpets *hpetp; switch (periodic) { case 1: mask = Tn_PER_INT_CAP_MASK; break; case 0: mask = 0; break; default: return -EINVAL; } tp->ht_opaque = NULL; spin_lock_irq(&hpet_task_lock); spin_lock(&hpet_lock); for (devp = NULL, hpetp = hpets; hpetp && !devp; hpetp = hpetp->hp_next) for (timer = hpetp->hp_hpet->hpet_timers, i = 0; i < hpetp->hp_ntimer; i++, timer++) { if ((readq(&timer->hpet_config) & Tn_PER_INT_CAP_MASK) != mask) continue; devp = &hpetp->hp_dev[i]; if (devp->hd_flags & HPET_OPEN || devp->hd_task) { devp = NULL; continue; } tp->ht_opaque = devp; devp->hd_task = tp; break; } spin_unlock(&hpet_lock); spin_unlock_irq(&hpet_task_lock); if (tp->ht_opaque) return 0; else return -EBUSY; } static inline int hpet_tpcheck(struct hpet_task *tp) { struct hpet_dev *devp; Loading Loading @@ -706,24 +649,6 @@ int hpet_unregister(struct hpet_task *tp) return 0; } int hpet_control(struct hpet_task *tp, unsigned int cmd, unsigned long arg) { struct hpet_dev *devp; int err; if ((err = hpet_tpcheck(tp))) return err; spin_lock_irq(&hpet_lock); devp = tp->ht_opaque; if (devp->hd_task != tp) { spin_unlock_irq(&hpet_lock); return -ENXIO; } spin_unlock_irq(&hpet_lock); return hpet_ioctl_common(devp, cmd, arg, 1); } static ctl_table hpet_table[] = { { .ctl_name = CTL_UNNUMBERED, Loading include/linux/hpet.h +0 −3 Original line number Diff line number Diff line Loading @@ -115,9 +115,6 @@ static inline void hpet_reserve_timer(struct hpet_data *hd, int timer) } int hpet_alloc(struct hpet_data *); int hpet_register(struct hpet_task *, int); int hpet_unregister(struct hpet_task *); int hpet_control(struct hpet_task *, unsigned int, unsigned long); #endif /* __KERNEL__ */ Loading Loading
drivers/char/hpet.c +0 −75 Original line number Diff line number Diff line Loading @@ -600,63 +600,6 @@ static int hpet_is_known(struct hpet_data *hdp) return 0; } EXPORT_SYMBOL(hpet_alloc); EXPORT_SYMBOL(hpet_register); EXPORT_SYMBOL(hpet_unregister); EXPORT_SYMBOL(hpet_control); int hpet_register(struct hpet_task *tp, int periodic) { unsigned int i; u64 mask; struct hpet_timer __iomem *timer; struct hpet_dev *devp; struct hpets *hpetp; switch (periodic) { case 1: mask = Tn_PER_INT_CAP_MASK; break; case 0: mask = 0; break; default: return -EINVAL; } tp->ht_opaque = NULL; spin_lock_irq(&hpet_task_lock); spin_lock(&hpet_lock); for (devp = NULL, hpetp = hpets; hpetp && !devp; hpetp = hpetp->hp_next) for (timer = hpetp->hp_hpet->hpet_timers, i = 0; i < hpetp->hp_ntimer; i++, timer++) { if ((readq(&timer->hpet_config) & Tn_PER_INT_CAP_MASK) != mask) continue; devp = &hpetp->hp_dev[i]; if (devp->hd_flags & HPET_OPEN || devp->hd_task) { devp = NULL; continue; } tp->ht_opaque = devp; devp->hd_task = tp; break; } spin_unlock(&hpet_lock); spin_unlock_irq(&hpet_task_lock); if (tp->ht_opaque) return 0; else return -EBUSY; } static inline int hpet_tpcheck(struct hpet_task *tp) { struct hpet_dev *devp; Loading Loading @@ -706,24 +649,6 @@ int hpet_unregister(struct hpet_task *tp) return 0; } int hpet_control(struct hpet_task *tp, unsigned int cmd, unsigned long arg) { struct hpet_dev *devp; int err; if ((err = hpet_tpcheck(tp))) return err; spin_lock_irq(&hpet_lock); devp = tp->ht_opaque; if (devp->hd_task != tp) { spin_unlock_irq(&hpet_lock); return -ENXIO; } spin_unlock_irq(&hpet_lock); return hpet_ioctl_common(devp, cmd, arg, 1); } static ctl_table hpet_table[] = { { .ctl_name = CTL_UNNUMBERED, Loading
include/linux/hpet.h +0 −3 Original line number Diff line number Diff line Loading @@ -115,9 +115,6 @@ static inline void hpet_reserve_timer(struct hpet_data *hd, int timer) } int hpet_alloc(struct hpet_data *); int hpet_register(struct hpet_task *, int); int hpet_unregister(struct hpet_task *); int hpet_control(struct hpet_task *, unsigned int, unsigned long); #endif /* __KERNEL__ */ Loading