netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: Andrew Lunn <andrew@lunn.ch>
Cc: David Miller <davem@davemloft.net>,
	netdev@vger.kernel.org, lukas@wunner.de, ynezz@true.cz,
	yuehaibing@huawei.com
Subject: Re: [PATCH V6 00/20] net: ks8851: Unify KS8851 SPI and MLL drivers
Date: Sun, 17 May 2020 22:08:22 +0200	[thread overview]
Message-ID: <fb452fc7-b3df-f11a-0122-f9315bd38269@denx.de> (raw)
In-Reply-To: <20200517192628.GF606317@lunn.ch>

On 5/17/20 9:26 PM, Andrew Lunn wrote:
>> So I was already led into reworking the entire series to do this
>> inlining once, after V1. It then turned out it's a horrible mess to get
>> everything to compile as modules and built-in and then also only the
>> parallel/SPI as a module and then the other way around.
> 
> Maybe consider some trade offs. Have both sets of accessors in the
> core, and then thin wrappers around it to probe on each bus type. You
> bloat the core, but avoid the indirection. You can also have the core
> as a standalone module, which exports symbols for the wrappers to
> use. It does take some Kconfig work to get built in vs modules
> correct, but there are people who can help. It is also not considered
> a regression if you reduce the options in terms of module vs built in.

I think this is what we attempted with V1/V2/V3 already, except back
then it was to improve performance, which turned out to be a no-issue,
as the performance is the same with or without the indirect accessors
(of course it is, the interface is so slow the indirect accessors make
no difference, plus add into it that it's communicating with the NIC
through SPI core and SPI drivers, which are full of this indirection
already).

Or do I misunderstand something?

  reply	other threads:[~2020-05-17 20:10 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-17  0:33 [PATCH V6 00/20] net: ks8851: Unify KS8851 SPI and MLL drivers Marek Vasut
2020-05-17  0:33 ` [PATCH V6 01/20] net: ks8851: Factor out spi->dev in probe()/remove() Marek Vasut
2020-05-17  0:33 ` [PATCH V6 02/20] net: ks8851: Rename ndev to netdev in probe Marek Vasut
2020-05-17  0:33 ` [PATCH V6 03/20] net: ks8851: Replace dev_err() with netdev_err() in IRQ handler Marek Vasut
2020-05-17  0:33 ` [PATCH V6 04/20] net: ks8851: Pass device node into ks8851_init_mac() Marek Vasut
2020-05-17  0:33 ` [PATCH V6 05/20] net: ks8851: Use devm_alloc_etherdev() Marek Vasut
2020-05-17  0:33 ` [PATCH V6 06/20] net: ks8851: Use dev_{get,set}_drvdata() Marek Vasut
2020-05-17  0:33 ` [PATCH V6 07/20] net: ks8851: Remove ks8851_rdreg32() Marek Vasut
2020-05-17  0:33 ` [PATCH V6 08/20] net: ks8851: Use 16-bit writes to program MAC address Marek Vasut
2020-05-17  0:33 ` [PATCH V6 09/20] net: ks8851: Use 16-bit read of RXFC register Marek Vasut
2020-05-17 19:44   ` Andrew Lunn
2020-05-17 20:02     ` Marek Vasut
2020-05-17  0:33 ` [PATCH V6 10/20] net: ks8851: Factor out bus lock handling Marek Vasut
2020-05-17  0:33 ` [PATCH V6 11/20] net: ks8851: Factor out SKB receive function Marek Vasut
2020-05-17  0:33 ` [PATCH V6 12/20] net: ks8851: Split out SPI specific entries in struct ks8851_net Marek Vasut
2020-05-17  0:33 ` [PATCH V6 13/20] net: ks8851: Split out SPI specific code from probe() and remove() Marek Vasut
2020-05-17  0:33 ` [PATCH V6 14/20] net: ks8851: Factor out TX work flush function Marek Vasut
2020-05-17  0:33 ` [PATCH V6 15/20] net: ks8851: Permit overridding interrupt enable register Marek Vasut
2020-05-17  0:33 ` [PATCH V6 16/20] net: ks8851: Implement register, FIFO, lock accessor callbacks Marek Vasut
2020-05-18 16:34   ` Jakub Kicinski
2020-05-18 17:06     ` Marek Vasut
2020-05-18 17:29       ` Jakub Kicinski
2020-05-17  0:33 ` [PATCH V6 17/20] net: ks8851: Separate SPI operations into separate file Marek Vasut
2020-05-17  0:33 ` [PATCH V6 18/20] net: ks8851: Implement Parallel bus operations Marek Vasut
2020-05-18 16:33   ` Jakub Kicinski
2020-05-17  0:33 ` [PATCH V6 19/20] net: ks8851: Remove ks8851_mll.c Marek Vasut
2020-05-17  0:33 ` [PATCH V6 20/20] net: ks8851: Drop define debug and pr_fmt() Marek Vasut
2020-05-17  2:01   ` Joe Perches
2020-05-17  2:28     ` Marek Vasut
2020-05-17  2:37       ` Joe Perches
2020-05-17  2:47         ` Marek Vasut
2020-05-17  2:55           ` Joe Perches
2020-05-18 17:07             ` Marek Vasut
2020-05-17  2:02 ` [PATCH V6 00/20] net: ks8851: Unify KS8851 SPI and MLL drivers David Miller
2020-05-17  2:27   ` Marek Vasut
2020-05-17 19:26     ` Andrew Lunn
2020-05-17 20:08       ` Marek Vasut [this message]
2020-05-17  7:13   ` Lukas Wunner
2020-05-17 12:36     ` Marek Vasut
2020-05-17 19:16     ` Andrew Lunn
2020-05-17 19:30       ` David Miller
2020-05-21 13:11         ` Marek Vasut

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=fb452fc7-b3df-f11a-0122-f9315bd38269@denx.de \
    --to=marex@denx.de \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=lukas@wunner.de \
    --cc=netdev@vger.kernel.org \
    --cc=ynezz@true.cz \
    --cc=yuehaibing@huawei.com \
    /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).