On Thu, Jan 16, 2020 at 12:48 PM Christian Mauderer <l...@c-mauderer.de> wrote: > > > > On 15/01/2020 12:50, G S Niteesh wrote: > > This patch will allow the user to pass a function to calculate > > the baud divisor. > > This is will allow for more flexibility, since for some BSP's > > like raspberrypi, the calculate of baud divisor is different > > from what is in the current driver. > > --- > > bsps/include/libchip/ns16550.h | 11 ++++++++--- > > bsps/shared/dev/serial/ns16550-context.c | 6 ++++-- > > 2 files changed, 12 insertions(+), 5 deletions(-) > > > > diff --git a/bsps/include/libchip/ns16550.h b/bsps/include/libchip/ns16550.h > > index f053c8767f9..ab7992fd30b 100644 > > --- a/bsps/include/libchip/ns16550.h > > +++ b/bsps/include/libchip/ns16550.h > > @@ -1,6 +1,6 @@ > > /** > > * @file > > - * > > + * > > Please don't change lines that don't concern the target of your patch. > If you want to fix the white space please do so in an extra patch. > > By the way: You can also send patch sets. Just pass all patches to "git > send-email". Then git will number patches that belong together (like > this and the AUX uart driver). That makes it easier to apply all in the > right order. > > > */ > > > > /* > > @@ -60,7 +60,11 @@ typedef uint8_t (*ns16550_get_reg)(uintptr_t port, > > uint8_t reg); > > > > typedef void (*ns16550_set_reg)(uintptr_t port, uint8_t reg, uint8_t > > value); > > > > -typedef struct { > > +typedef struct ns16550_context ns16550_context; > > + > > +typedef uint32_t (*ns16550_calculate_baud_divisor)(ns16550_context *ctx, > > uint32_t baud); > > + > > +struct ns16550_context{ > > rtems_termios_device_context base; > > ns16550_get_reg get_reg; > > ns16550_set_reg set_reg; > > @@ -70,6 +74,7 @@ typedef struct { > > uint32_t initial_baud; > > bool has_fractional_divider_register; > > bool has_precision_clock_synthesizer; > > + ns16550_calculate_baud_divisor calculate_baud_divisor; > > uint8_t modem_control; > > uint8_t line_control; > > uint32_t baud_divisor; > > @@ -78,7 +83,7 @@ typedef struct { > > size_t out_current; > > const char *out_buf; > > rtems_termios_tty *tty; > > -} ns16550_context; > > +}; > > > > extern const rtems_termios_device_handler ns16550_handler_interrupt; > > extern const rtems_termios_device_handler ns16550_handler_polled; > > diff --git a/bsps/shared/dev/serial/ns16550-context.c > > b/bsps/shared/dev/serial/ns16550-context.c > > index ce55b8309cc..70e73fc8c93 100644 > > --- a/bsps/shared/dev/serial/ns16550-context.c > > +++ b/bsps/shared/dev/serial/ns16550-context.c > > @@ -1,6 +1,6 @@ > > /** > > * @file > > - * > > + * > > Again: Please only change if it is necessary for your patch. > > > * This file contains the TTY driver for the National Semiconductor > > NS16550. > > * > > * This part is widely cloned and second sourced. It is found in a number > > @@ -112,6 +112,8 @@ static uint32_t NS16550_GetBaudDivisor(ns16550_context > > *ctx, uint32_t baud) > > NS16550_FRACTIONAL_DIVIDER, > > fractionalDivider > > ); > > + } else if (ctx->calculate_baud_divisor != NULL) { > > + baudDivisor = ctx->calculate_baud_divisor(ctx, baud); > > } > > > > return baudDivisor; > > @@ -165,7 +167,7 @@ bool ns16550_probe(rtems_termios_device_context *base) > > > > ctx->modem_control = SP_MODEM_IRQ; > > > > - pNS16550 = ctx->port; > > + pNS16550 = ctx->port; > > Again: Please only change if it is necessary for your patch. >
It is however good to make style changes when you rework a file. Just layer the patch on top of your functional changes. > > setReg = ctx->set_reg; > > getReg = ctx->get_reg; > > > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel