devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Kevin Cernekee <cernekee@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg KH <gregkh@linuxfoundation.org>, Jiri Slaby <jslaby@suse.cz>,
	Rob Herring <robh@kernel.org>,
	daniel@zonque.org, Haojian Zhuang <haojian.zhuang@gmail.com>,
	Grant Likely <grant.likely@linaro.org>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Maxime Bizon <mbizon@freebox.fr>, Jonas Gorski <jogo@openwrt.org>,
	Linux MIPS Mailing List <linux-mips@linux-mips.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH/RFC 5/8] serial: pxa: Make the driver buildable for BCM7xxx set-top platforms
Date: Fri, 14 Nov 2014 22:07:39 +0100	[thread overview]
Message-ID: <87ioihtrs4.fsf@free.fr> (raw)
In-Reply-To: <CAJiQ=7DoFk7ZSjHygaMWHyBTpxJFbQX4onh2xqixaqORQODsVg@mail.gmail.com> (Kevin Cernekee's message of "Thu, 13 Nov 2014 11:08:08 -0800")

Kevin Cernekee <cernekee@gmail.com> writes:

> On Thu, Nov 13, 2014 at 1:42 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> TTY naming is a mess today, and you seem to be caught in the middle
>> of it trying to work around the inherent problems. Extending the PXA
>> driver is an interesting approach since as you say it's a very nice
>> clean subset of the 8250 driver, but that doesn't mean that it's
>> a good long-term strategy, as we will likely have more chips with
>> 8250 variants.
>>
>> Some of the ways forward that I can see are:
>>
>> - (your approach) use and extend the pxa serial driver for new SoCs,
>>   possibly migrate some of the existing users of 8250 to use that
>>   and leave 8250 alone.
>>
>> - fix the problem you see in a different way, and get the 8250 driver
>>   to solve your problem. Possibly integrate the pxa driver back into
>>   8250 in eventually, as we did with the omap driver.
>
> Do you think it might make sense to come up with a set of guidelines
> that ensure that SoCs using a non-serial8250 driver (like pxa) on
> 16550-compatible hardware can be easily moved back to serial8250
> someday?

At least for the pxa part, I'd see it with a very supportive eye to move the pxa
serial driver to a 8250 based one. Most of the code should be in something
common AFAIK, it's not pxa specific. Only the erratas, specific interrupt and
register handling could be left in pxa serial driver.

I had a look at 8250_core driver and 8250.h api. If that could be used for pxa,
or something similar, it would be great.

And same thing goes for probing and registering, most of the things are probably
common.

>> - Do a fresh start for a general-purpose soc-type 8250 driver, using
>>   tty_port instead of uart_port as the abstraction layer.
Ah, that where others input would be good. I wonder if we should ask Russell
too, a lot of the files around have his name in the header ...

>>   Use that for
>>   all new socs instead of extending the 8250 driver more, possibly
>>   migrating some of the existing 8250 users.
>
> One nice thing about a brand new driver is that we can use dynamic
> major/minor numbers unconditionally without breaking existing users.
> If either pxa.c or bcm63xx_uart.c had used dynamic numbers, I could
> drop Tushar's original workaround.
>
> Another advantage is that we can assume all users have DT, simplifying
> the probe function.
In that later case, I won't let pxa fully migrate to it, as platform users won't
be gone in the mid-term. I don't really want to have 2 different drivers (one DT
and the legacy one) for pxa either. I'd rather have an approach where pxa, in
both device-tree and platform devices, will use some common code, would that
code be in a library, an API, ...

> Would it be helpful to split parts of pxa.c and/or serial8250 into a
> "lib8250", similar to libahci, that can be called by many different
> implementations (some of which have special features like DMA
> support)?
That's certainly one solution I would support. What removes code to shift it to
a shared common code is what I wish.

Cheers.

-- 
Robert

  parent reply	other threads:[~2014-11-14 21:07 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-12  8:46 [PATCH/RFC 0/8] UART driver support for BMIPS multiplatform kernels Kevin Cernekee
2014-11-12  8:46 ` [PATCH/RFC 1/8] tty: Fallback to use dynamic major number Kevin Cernekee
2014-11-12  8:46 ` [PATCH/RFC 2/8] serial: core: Add big_endian flag Kevin Cernekee
2014-11-12  8:46 ` [PATCH/RFC 3/8] of: Add helper function to check MMIO register endianness Kevin Cernekee
2014-11-12  8:50   ` Jiri Slaby
2014-11-12  9:04     ` Kevin Cernekee
2014-11-12  9:23       ` Jiri Slaby
2014-11-12  8:46 ` [PATCH/RFC 4/8] serial: pxa: Add fifo-size and {big,native}-endian properties Kevin Cernekee
2014-11-12  9:02   ` Arnd Bergmann
2014-11-12  9:03   ` Jiri Slaby
2014-11-12  9:08     ` Arnd Bergmann
2014-11-12  8:46 ` [PATCH/RFC 5/8] serial: pxa: Make the driver buildable for BCM7xxx set-top platforms Kevin Cernekee
2014-11-12  9:04   ` Arnd Bergmann
2014-11-12  9:19     ` Kevin Cernekee
2014-11-13  9:42       ` Arnd Bergmann
2014-11-13 19:08         ` Kevin Cernekee
2014-11-13 22:34           ` Arnd Bergmann
2014-11-14 21:07           ` Robert Jarzmik [this message]
2014-11-12  8:46 ` [PATCH/RFC 6/8] serial: pxa: Update DT binding documentation Kevin Cernekee
2014-11-12  8:46 ` [PATCH/RFC 7/8] serial: earlycon: Set uart_port->big_endian based on DT properties Kevin Cernekee
2014-11-12  8:46 ` [PATCH/RFC 8/8] serial: pxa: Add OF_EARLYCON support Kevin Cernekee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ioihtrs4.fsf@free.fr \
    --to=robert.jarzmik@free.fr \
    --cc=arnd@arndb.de \
    --cc=cernekee@gmail.com \
    --cc=daniel@zonque.org \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=haojian.zhuang@gmail.com \
    --cc=jogo@openwrt.org \
    --cc=jslaby@suse.cz \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=mbizon@freebox.fr \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).