Jan Kiszka wrote:
> Philippe Gerum wrote:
>> Jan Kiszka wrote:
>>> Philippe Gerum wrote:
>>>> Steven A. Falco wrote:
>>>>> I applied the uic patch:
>>>>>
>>>>> diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
>>>>> index eeb38e2..5a38086 100644
>>>>> --- a/arch/powerpc/sysdev/uic.c
>>>>> +++ b/arch/powerpc/sysdev/uic.c
>>>>> @@ -48,7 +48,7 @@ struct uic {
>>>>>     int index;
>>>>>     int dcrbase;
>>>>>
>>>>> -    spinlock_t lock;
>>>>> +    ipipe_spinlock_t lock;
>>>>>
>>>>>     /* The remapper for this UIC */
>>>>>     struct irq_host    *irqhost;
>>>>>
>>>>> However, this would not compile because of a type mismatch.  I have
>>>>> added the attached patch, and it now compiles and runs.  But I'm not
>>>>> sure if this is the right way to fix it.  Comments?
>>>>>
>>>> This will work for the purpose of running an I-pipe enabled kernel, but
>>>> would fail with CONFIG_IPIPE disabled. Since we need to provide both,
>>>> I'm going to work on the proper patch for fixing the issue both ways.
>>>> Still, your patch will work as expected for running Xenomai.
>>> To be consequent, we would have to wrap spin_lock_init just like the
>>> other operations. Suggestion (not really tested):
>>>
>> Thanks. I have committed a tested variant.
> 
> The additional #ifdef CONFIG_IPIPE for spin_lock_init should be
> redundant, in theory. What makes it necessary in practice?
>

Nothing, actually. Fixing your previous patch this way work do it:

-               *(__ipipe_spinlock_t *)(lock) = IPIPE_SPIN_LOCK_UNLOCKED; \
+               *(ipipe_spinlock_t *)(lock) = IPIPE_SPIN_LOCK_UNLOCKED; \

-- 
Philippe.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to