Re: [PATCH 00/27] Console code consolidation

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

 



Hi Andrey,

On Thu, Jun 14, 2018 at 09:11:06PM -0700, Andrey Smirnov wrote:
> Everyone:
> 
> While debugging the reason behind print_hex_dump() not producing
> carriage return properly, when used in PBL, I realised that current
> codebase contained:
> 
>  - at least 5 places where '\n' was replaced with '\n\r'
>  - at least 3 almost identical implementations of puts()
>  - at least 3 almost identical implementations of printf()
> 
> so this patcheset is an attempt to consolidate, share and simplify
> console related code.

The console support really deserves some cleanup. We have the LL console
support, PBL console support, regular console support and simple console
support, all mixed into a single codebase so that it's sometimes really
hard to understand what is going on.

Instead of optimizing the different variants for better code sharing I
wonder if we could not consolidate some of the console types to reduce
the number of variants in the code.  PBL console works by calling
pbl_set_putc() to specify a putc function.  PUTC_LL instead works by
putting a PUTC_LL function into a SoC specific header function. Instead
each board could provide its own putc function, say board_putc() or so.
This would be enough to replace the DEBUG_LL and the PBL console
support.

Then I don't like weak functions. It can provide nifty solutions to some
problems, but I think it also often leads to situations where you don't
really know if something has been overwritten or with what is has been
overwritten with. I don't consider replacing ifdefs with weak functions
a general improvment.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux