Re: Using patch-3.2-rt10, kernel won't compile with CONFIG_PREEMPT_RT_FULL=y

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 11, 2012 at 10:39 AM, André Bachmann
<andrebachmann.dd@xxxxxxxxx> wrote:
> Hi all,
>
> here I have a TI Sitara AM335X with its latest SDK v05.05.00. I
> installed it and I'm able to compile my kernels. Kernel 3.2.0 is
> shipped with this SDK.
>
> However, I want to use the official RT patches from
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.2/older/. Since
> kernel 3.2.0 is delivered with this SDK, I chose
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.2/older/patch-3.2-rt10.patch.bz2
> as the correct patch. With it, I patched my kernel sources - no errors
> here. After that, I checked if there are any problems by compiling
> this patched kernel. No problems, my board still boots fine.
>
> Then I really wanted to use the new RT features, so I backed up the
> default config file tisdk_am335x-evm_defconfig and changed the option
> "CONFIG_PREEMPT_NONE=y" to "CONFIG_PREEMPT_RT_FULL=y". No further
> changes.
>
> If I now compile this, I get an error when compiling drivers/pwm/pwm.c:
>
> ...
> CC drivers/pwm/pwm.o
> drivers/pwm/pwm.c: In function 'pwm_set_frequency':
> drivers/pwm/pwm.c:291:2: error: expected expression before 'do'
> make[3]: *** [drivers/pwm/pwm.o] Error 1
> make[2]: *** [drivers/pwm] Error 2
> make[1]: *** [drivers] Error 2
> make[1]: Leaving directory
> `/home/user/ti-sdk-am335x-evm-05.05.00.00/board-support/linux-3.2.0-psp04.06.00.08.sdk'
> make: *** [linux] Error 2
>
> This is the function near this line in pwm.c:
>
> 282 int pwm_set_frequency(struct pwm_device *p, unsigned long freq)
> 283 {
> 284 struct pwm_config c;
> 285
> 286 if (!freq)
> 287 return -EINVAL;
> 288
> 289 c.config_mask = BIT(PWM_CONFIG_PERIOD_TICKS),
> 290 c.period_ticks = pwm_ns_to_ticks(p, (NSEC_PER_SEC / freq)),

Nothing to do with RT.  Whoever coded up this pwm.c file (presumably
a part of the non-upstream SDK?) should learn the difference between
"," and ";" on the above two lines.

Paul.
--

> 291 spin_lock(&p->pwm_lock);
> 292 p->period_ns = NSEC_PER_SEC / freq;
> 293 spin_unlock(&p->pwm_lock);
> 294 return pwm_config(p, &c);
> 295 }
> 296 EXPORT_SYMBOL(pwm_set_frequency);
>
> So the error seems to be related with the call of spin_lock, which
> surely gets changed by the RT patch. Has anyone a hint for me? I'm
> quite new to this matter... :(
> I appreciate any help!
>
> André
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux