Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8dbdea84 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6:
  arm/ixp4xx: Rename FREQ macro to avoid collisions
  IXP4xx: Fix qmgr_release_queue() flushing unexpected queue entries.
parents f0adc820 e66a022a
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -432,7 +432,7 @@ static struct clocksource clocksource_ixp4xx = {
	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
};
};


unsigned long ixp4xx_timer_freq = FREQ;
unsigned long ixp4xx_timer_freq = IXP4XX_TIMER_FREQ;
EXPORT_SYMBOL(ixp4xx_timer_freq);
EXPORT_SYMBOL(ixp4xx_timer_freq);
static void __init ixp4xx_clocksource_init(void)
static void __init ixp4xx_clocksource_init(void)
{
{
@@ -496,7 +496,7 @@ static struct clock_event_device clockevent_ixp4xx = {


static void __init ixp4xx_clockevent_init(void)
static void __init ixp4xx_clockevent_init(void)
{
{
	clockevent_ixp4xx.mult = div_sc(FREQ, NSEC_PER_SEC,
	clockevent_ixp4xx.mult = div_sc(IXP4XX_TIMER_FREQ, NSEC_PER_SEC,
					clockevent_ixp4xx.shift);
					clockevent_ixp4xx.shift);
	clockevent_ixp4xx.max_delta_ns =
	clockevent_ixp4xx.max_delta_ns =
		clockevent_delta2ns(0xfffffffe, &clockevent_ixp4xx);
		clockevent_delta2ns(0xfffffffe, &clockevent_ixp4xx);
+3 −2
Original line number Original line Diff line number Diff line
@@ -10,6 +10,7 @@
 * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
 * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
 * timer register ignores the bottom 2 bits of the LATCH value.
 * timer register ignores the bottom 2 bits of the LATCH value.
 */
 */
#define FREQ 66666000
#define IXP4XX_TIMER_FREQ 66666000
#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
#define CLOCK_TICK_RATE \
	(((IXP4XX_TIMER_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
+5 −4
Original line number Original line Diff line number Diff line
@@ -265,6 +265,11 @@ void qmgr_release_queue(unsigned int queue)
	       qmgr_queue_descs[queue], queue);
	       qmgr_queue_descs[queue], queue);
	qmgr_queue_descs[queue][0] = '\x0';
	qmgr_queue_descs[queue][0] = '\x0';
#endif
#endif

	while ((addr = qmgr_get_entry(queue)))
		printk(KERN_ERR "qmgr: released queue %i not empty: 0x%08X\n",
		       queue, addr);

	__raw_writel(0, &qmgr_regs->sram[queue]);
	__raw_writel(0, &qmgr_regs->sram[queue]);


	used_sram_bitmap[0] &= ~mask[0];
	used_sram_bitmap[0] &= ~mask[0];
@@ -275,10 +280,6 @@ void qmgr_release_queue(unsigned int queue)
	spin_unlock_irq(&qmgr_lock);
	spin_unlock_irq(&qmgr_lock);


	module_put(THIS_MODULE);
	module_put(THIS_MODULE);

	while ((addr = qmgr_get_entry(queue)))
		printk(KERN_ERR "qmgr: released queue %i not empty: 0x%08X\n",
		       queue, addr);
}
}


static int qmgr_init(void)
static int qmgr_init(void)
+1 −5
Original line number Original line Diff line number Diff line
@@ -69,11 +69,7 @@ static int ixp4xx_spkr_event(struct input_dev *dev, unsigned int type, unsigned
	}
	}


	if (value > 20 && value < 32767)
	if (value > 20 && value < 32767)
#ifndef FREQ
		count = (IXP4XX_TIMER_FREQ / (value * 4)) - 1;
		count = (ixp4xx_get_board_tick_rate() / (value * 4)) - 1;
#else
		count = (FREQ / (value * 4)) - 1;
#endif


	ixp4xx_spkr_control(pin, count);
	ixp4xx_spkr_control(pin, count);