All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Kamal Dasu <kdasu.kdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Kamal Dasu <kamal.dasu-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Jayachandran C <jchandra-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	bcm-kernel-feedback-list
	<bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	Vikram Prakash
	<vikram.prakash-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	Andy Fung <andy.fung-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	Jon Mason <jon.mason-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	Yendapally Reddy Dhananjaya Reddy
	<yendapally.reddy-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH, V4, 2/5] spi: bcm-qspi: Add SPI flash and MSPI driver
Date: Wed, 13 Jul 2016 23:36:38 +0100	[thread overview]
Message-ID: <20160713223638.GI9976@sirena.org.uk> (raw)
In-Reply-To: <5786B401.2050306-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1995 bytes --]

On Wed, Jul 13, 2016 at 02:34:57PM -0700, Florian Fainelli wrote:
> On 07/13/2016 04:10 AM, Mark Brown wrote:

> > It's not really about reuse, it's about maintainability.  All the code
> > for handling this within the driver is quite unusual and makes the
> > driver harder to understand and review.  That's going to have an impact
> > now and make things harder to follow in future too.  Fitting in with the
> > frameworks means that we get the benefit of the structure and support
> > code that the frameworks provide while minimizing the amount of unusal
> > code in the driver.

> This is not unusual at all, there are tons of peripherals that embed a
> L2/L3 interrupt controller, yet keep the code localized because the
> interrupt sources are not visible outside of the specific block and it
> would not make sense to demultiplex these different interrupt sources as
> individually requestable interrupt lines when the consumer is also local
> and self contained.

If it was unconditionally in the perhipheral it'd be fairly normal and
standard but it's not, it's a completely separate and optional register
block with a bunch of separate code in a driver which already has above
average complexity even for the bits that belong in it.

> This is exactly what is going on here, and it this makes the driver more
> self contained without external dependencies to an irqchip driver to an
> interrupt controller provider.

Like I say it just isn't, it's an obviously separate interrupt
controller.

> The reusability argument is kind of the only one that makes sense here,
> maintaining two drivers instead of one seems like more maintenance
> burden imho.

It's definitely adding to the review complexity as things stand mainly
due to the obvious disconnect from the actual IP.  It should take very
little time to refactor and it's really hard to see it ever taking much
time to maintain in future, though it might be helpful if one of your
hardware engineers ever tries to reuse that IP.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  parent reply	other threads:[~2016-07-13 22:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-17 21:03 [PATCH, V4, 1/5] Documentation: dt: spi-bcm-qspi: NSP, NS2, BRCMSTB SoC bindings Kamal Dasu
     [not found] ` <1466197433-11290-1-git-send-email-kdasu.kdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-17 21:03   ` [PATCH, V4, 2/5] spi: bcm-qspi: Add SPI flash and MSPI driver Kamal Dasu
     [not found]     ` <1466197433-11290-2-git-send-email-kdasu.kdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-22 16:07       ` Mark Brown
     [not found]         ` <20160622160726.GQ28202-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-06-22 17:13           ` Florian Fainelli
     [not found]             ` <576AC71C.9090202-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-23  9:27               ` Mark Brown
2016-07-01 15:39           ` Kamal Dasu
     [not found]             ` <CAKekbevYN3CLvqQs3stUXDFEMREMOJ0g4+w7Zsno1kV-ieYEiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-01 16:07               ` Mark Brown
     [not found]                 ` <20160701160753.GX6247-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-07-12 22:06                   ` Kamal Dasu
     [not found]                     ` <CAC=U0a3WN9TGw7zwwP3qFf5MUsRteUcVLytFgjnP4zScZS0xXA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-13 11:10                       ` Mark Brown
     [not found]                         ` <20160713111053.GG9976-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-07-13 21:34                           ` Florian Fainelli
     [not found]                             ` <5786B401.2050306-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-13 22:36                               ` Mark Brown [this message]
     [not found]                                 ` <20160713223638.GI9976-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-07-19 22:15                                   ` Florian Fainelli
     [not found]                                     ` <578EA695.1030909-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-20 11:25                                       ` Mark Brown
     [not found]                                         ` <20160720112547.GE6509-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-07-20 19:41                                           ` Florian Fainelli
     [not found]                                             ` <578FD3D7.9030402-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-28 18:28                                               ` Mark Brown
     [not found]                                                 ` <20160728182803.GI11806-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-07-29  0:34                                                   ` Florian Fainelli
     [not found]                                                     ` <e3a069ad-ca2b-7c12-bde1-5566f5fe24d3-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-29 11:44                                                       ` Mark Brown
2016-07-21 22:06                                           ` Florian Fainelli
     [not found]                                             ` <583d6ec8-b367-b53a-7d9e-1d7ee06004c0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-21 22:47                                               ` Mark Brown
2016-07-28 18:34                                               ` Mark Brown
2016-06-17 21:03   ` [PATCH, V4, 3/5] arm: dts: Add bcm-nsp and bcm958625k support Kamal Dasu
2016-06-17 21:03   ` [PATCH, V4, 4/5] arm64: dts: Add ns2 SoC support Kamal Dasu
2016-06-17 21:03   ` [PATCH, V4, 5/5] mtd: m25p80: Let m25p80_read() fallback to spi transfer Kamal Dasu
     [not found]     ` <1466197433-11290-5-git-send-email-kdasu.kdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-22 16:08       ` Mark Brown
2016-06-22 14:51   ` [PATCH, V4, 1/5] Documentation: dt: spi-bcm-qspi: NSP, NS2, BRCMSTB SoC bindings Mark Brown
     [not found]     ` <20160622145141.GN28202-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-06-22 17:10       ` Florian Fainelli
     [not found]         ` <576AC69F.6080507-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-23  9:26           ` Mark Brown

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=20160713223638.GI9976@sirena.org.uk \
    --to=broonie-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=andy.fung-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=jchandra-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=jon.mason-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=kamal.dasu-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=kdasu.kdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=vikram.prakash-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=yendapally.reddy-dY08KVG/lbpWk0Htik3J/w@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.