staging: comedi: 8253.h: remove the unused i8253_cascade_ns_to_timer_*()
None of the comedi drivers use the i8253_cascade_ns_to_timer_2div_old() or i8253_cascade_ns_to_timer_power() helpers to calculate the cascaded divisors. Remove them to avoid any confusion. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
d33f88581d
Коммит
8412a96127
|
@ -30,99 +30,6 @@
|
|||
#define I8254_OSC_BASE_2MHZ 500
|
||||
#define I8254_OSC_BASE_1MHZ 1000
|
||||
|
||||
static inline void i8253_cascade_ns_to_timer_2div_old(int i8253_osc_base,
|
||||
unsigned int *d1,
|
||||
unsigned int *d2,
|
||||
unsigned int *nanosec,
|
||||
int round_mode)
|
||||
{
|
||||
int divider;
|
||||
int div1, div2;
|
||||
int div1_glb, div2_glb, ns_glb;
|
||||
int div1_lub, div2_lub, ns_lub;
|
||||
int ns;
|
||||
|
||||
divider = (*nanosec + i8253_osc_base / 2) / i8253_osc_base;
|
||||
|
||||
/* find 2 integers 1<={x,y}<=65536 such that x*y is
|
||||
close to divider */
|
||||
|
||||
div1_lub = div2_lub = 0;
|
||||
div1_glb = div2_glb = 0;
|
||||
|
||||
ns_glb = 0;
|
||||
ns_lub = 0xffffffff;
|
||||
|
||||
div2 = 0x10000;
|
||||
for (div1 = divider / 65536 + 1; div1 < div2; div1++) {
|
||||
div2 = divider / div1;
|
||||
|
||||
ns = i8253_osc_base * div1 * div2;
|
||||
if (ns <= *nanosec && ns > ns_glb) {
|
||||
ns_glb = ns;
|
||||
div1_glb = div1;
|
||||
div2_glb = div2;
|
||||
}
|
||||
|
||||
div2++;
|
||||
if (div2 <= 65536) {
|
||||
ns = i8253_osc_base * div1 * div2;
|
||||
if (ns > *nanosec && ns < ns_lub) {
|
||||
ns_lub = ns;
|
||||
div1_lub = div1;
|
||||
div2_lub = div2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*nanosec = div1_lub * div2_lub * i8253_osc_base;
|
||||
*d1 = div1_lub & 0xffff;
|
||||
*d2 = div2_lub & 0xffff;
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void i8253_cascade_ns_to_timer_power(int i8253_osc_base,
|
||||
unsigned int *d1,
|
||||
unsigned int *d2,
|
||||
unsigned int *nanosec,
|
||||
int round_mode)
|
||||
{
|
||||
int div1, div2;
|
||||
int base;
|
||||
|
||||
for (div1 = 2; div1 <= (1 << 16); div1 <<= 1) {
|
||||
base = i8253_osc_base * div1;
|
||||
round_mode &= TRIG_ROUND_MASK;
|
||||
switch (round_mode) {
|
||||
case TRIG_ROUND_NEAREST:
|
||||
default:
|
||||
div2 = (*nanosec + base / 2) / base;
|
||||
break;
|
||||
case TRIG_ROUND_DOWN:
|
||||
div2 = (*nanosec) / base;
|
||||
break;
|
||||
case TRIG_ROUND_UP:
|
||||
div2 = (*nanosec + base - 1) / base;
|
||||
break;
|
||||
}
|
||||
if (div2 < 2)
|
||||
div2 = 2;
|
||||
if (div2 <= 65536) {
|
||||
*nanosec = div2 * base;
|
||||
*d1 = div1 & 0xffff;
|
||||
*d2 = div2 & 0xffff;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* shouldn't get here */
|
||||
div1 = 0x10000;
|
||||
div2 = 0x10000;
|
||||
*nanosec = div1 * div2 * i8253_osc_base;
|
||||
*d1 = div1 & 0xffff;
|
||||
*d2 = div2 & 0xffff;
|
||||
}
|
||||
|
||||
static inline void i8253_cascade_ns_to_timer(int i8253_osc_base,
|
||||
unsigned int *d1,
|
||||
unsigned int *d2,
|
||||
|
|
Загрузка…
Ссылка в новой задаче