2009-04-21 18:23:40

by Sven-Thorsten Dietrich

[permalink] [raw]
Subject: [PATCH][RT] - Mismatching declaration and export

Subject: Make function declaration match EXPORT()

Signed-off-by: Sven-Thorsten Dietrich <[email protected]>

Index: b/kernel/spinlock.c
===================================================================
--- a/kernel/spinlock.c
+++ b/kernel/spinlock.c
@@ -354,7 +354,7 @@ void __lockfunc _spin_lock_nest_lock(spi
}
EXPORT_SYMBOL(_spin_lock_nest_lock);

-unsigned long __lockfunc _spin_lock_irqsave_nested(spinlock_t *lock, int subclass)
+unsigned long __lockfunc __spin_lock_irqsave_nested(spinlock_t *lock, int subclass)
{
unsigned long flags;



2009-04-22 09:01:24

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH][RT] - Mismatching declaration and export

Hi,

On Tue, Apr 21, 2009 at 11:23:25AM -0700, Sven-Thorsten Dietrich wrote:
> Subject: Make function declaration match EXPORT()
> -unsigned long __lockfunc _spin_lock_irqsave_nested(spinlock_t *lock, int subclass)
> +unsigned long __lockfunc __spin_lock_irqsave_nested(spinlock_t *lock, int subclass)

ukl@octopus:~/gsrc/linux-2.6$ git show v2.6.29.1-rt8:kernel/spinlock.c | sed -n -e '357,376p'
unsigned long __lockfunc __spin_lock_irqsave_nested(raw_spinlock_t *lock, int subclass)
{
unsigned long flags;

local_irq_save(flags);
preempt_disable();
spin_acquire(&lock->dep_map, subclass, 0, _RET_IP_);
/*
* On lockdep we dont want the hand-coded irq-enable of
* _raw_spin_lock_flags() code, because lockdep assumes
* that interrupts are not re-enabled during lock-acquire:
*/
#ifdef CONFIG_LOCKDEP
LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
#else
_raw_spin_lock_flags(lock, &flags);
#endif
return flags;
}
EXPORT_SYMBOL(__spin_lock_irqsave_nested);

so this seems to be already included in 2.6.29.1-rt8. Where is it
missing?

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |