[U-Boot] [PATCH 00/71] serial: Massive rework of the serial subsystem

Tom Rini
2012-09-18T16:42:37Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/17/12 16:12, Marek Vasut wrote:
> Dear Tom Rini,
>
>> On Mon, Sep 17, 2012 at 01:20:25AM +0200, Marek Vasut wrote:
>>> This patchset is a STAGE 1 of preparation of the stdio and
>>> serial subsys for the driver model.
>>
>> [snip]
>>
>>> 6) Remove unused code used for the non-multi operation
>>>
>>> Remove code that was used when CONFIG_SERIAL_MULTI was not
>>> selected. Also remove all occurances of CONFIG_SERIAL_MULTI
>>> throughout the source tree. Some parts of the code must have
>>> been adjusted to cope with this since they were initially only
>>> written for non-multi operation. These were minor adjustments
>>> mostly in macros though.
>>
>> So we've simplified the code in that now we only have one way of
>> talking with the serial ports. And the drivers are a bit more
>> uniform as well. Making the difference between drivers be "here
>> is how you poke the hardware" rather than "here is how I
>> implemented a serial driver and oh, here is how you poke the
>> hardware" is good.
>
> Correct
>
>> But what's the next step?
>
> So...
>
> 2) Rework stdio, make the creation of struct stdio_dev static
> instead of dynamic 3) struct serial_device is superset of struct
> stdio_dev ... make use of it, make stdio and serial subsystems
> closer 4) The massive list of callbacks in serial.c is stupid,
> pull out the linker section maker thingie (thing used to make
> driver lists there, similar to command lists from u-boot) from the
> DM tree and allow generation of list of serial drivers
> automagically. ======= 5) Flip over to DM, it's only one step away
>
>> Have you any thoughts on trying to be clever and in the case of
>> only one port anyways getting the size back?
>
> This has been on my mind for a while after seeing those extra 3k
> of code all around. Yet, I'm afraid this won't play well with the
> DM's pile of pointers.
>
> On the other hand, my stdio rework (step 2) managed to trim down
> the size a bit, so that might be small compensation.

Can you give us a current example, both to help make sure everyone
understands we won't have too big a growth overall and so that if you
don't shrink it down I can pin you about it later? Thanks!

- --
Tom

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQIcBAEBAgAGBQJQWKR9AAoJENk4IS6UOR1WvdAP/jAoFi6gJXzg4fso5230f4Kq
nZwtvRJ+gJT4ycUTZvTK0YY6KD0fmKPNgah3xVfAUlSNdnAMz/G/B2yOGekLr801
3MuV1h5BXwKotxbhFBPm1bfoIsCPwBi5nZRJTxuFjVihKhihR0VhHt0sSp5WwGkT
RCNpiDKahj99ZhsKlE9AkTMHZ8xQ+EXgy/WeMeVN5s0sgyG8clIfScKTmCHGIzD6
v0AbVsSyMX3Nm/qX8Mh35mMq6Zc6fQ7lszIzWATjY/9Rg6k40Qb7EH60N79namWh
THyRhDes3OU3KzS1qmEL1wK/AO3YF+2/4xWIniaZZKuB87g5BeG8DCrlGCGXeHpF
s/7sBZ1VOwoRevEaCQnFT2pV5J+i0PNHV3IXfukYFClxfcoK1VxfO7bLDhrmbz+h
xYUDAjJ+9Ytx+aayZi8sOnE4tmPs2ZqBZhw6wjN3VRyxeTgwCbxJN317UsSd5drq
XHuX9/00w7EVcER4NoDsqC8Catos3qVwQdjkkvdWrm3yRlvAgLU4zhCXKunUi+ZZ
BBPEllxOcv3mHSPijyokJNcaezL3T7R7qgIpcoViSU6xt7vaxLQoqSuw4qHSeboC
WJSAKS7F4N5WTtosF4GiQNCQgshFt3xMdG+1GIQNZmRNbug/KWx3G2lXZfCTMPOU
pTjdMe6FIS4E2awXhyOw
=/TmM
-----END PGP SIGNATURE-----