RTEMS | dev/serial: Refactor the pl011 driver to be extensible (!47)

Sebastian Huber (@sebhub) gitlab at rtems.org
Wed Aug 28 05:41:00 UTC 2024




Sebastian Huber commented on a discussion on bsps/shared/dev/serial/arm-pl011.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/47#note_111566

 > +
 > +  /* Control: Re-enable UART */
 > +  cr |= PL011_UARTCR_UARTEN | PL011_UARTCR_TXE;
 > +
 > +  return cr;
 > +}
 > +
 > +static bool arm_pl011_set_attributes(
 > +  rtems_termios_device_context *base,
 > +  const struct termios *term
 > +)
 > +{
 > +  uint32_t ibrd, fbrd, lcrh, baud, cr;
 > +  int err;
 > +  arm_pl011_context *context = (arm_pl011_context *) base;
 > +  arm_pl011_uart *regs = arm_pl011_get_regs(base);

Everything which points to device memory need to be volatile, so the `arm_pl011_get_regs()` should return a volatile pointer and all users should have this as well.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/47#note_111566
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240828/64027c21/attachment-0001.htm>


More information about the bugs mailing list