linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Rosin <peda@axentia.se>
To: Vladimir Zapolskiy <vz@mleia.com>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-kernel@vger.kernel.org, Ken Chen <chen.kenyy@inventec.com>
Cc: Wolfram Sang <wsa@the-dreams.de>,
	joel@jms.id.au, linux-i2c@vger.kernel.org
Subject: Re: [PATCH 3/3] i2c: mux: pca9541: prepare for PCA9641 support
Date: Wed, 21 Mar 2018 09:09:50 +0100	[thread overview]
Message-ID: <7ad08be1-fe73-061f-b0ad-e29a4a074506@axentia.se> (raw)
In-Reply-To: <67f0b5fb-5df7-0354-bfd6-5969b6fc7bb1@mleia.com>

On 2018-03-21 08:01, Vladimir Zapolskiy wrote:
> On 03/21/2018 03:19 AM, Guenter Roeck wrote:
>> On 03/20/2018 04:17 PM, Vladimir Zapolskiy wrote:
>>> Hi Peter, Ken,
>>>
>>> On 03/20/2018 11:32 AM, Peter Rosin wrote:
>>>> Make the arbitrate and release_bus implementation chip specific.
>>>>
>>>
>>> by chance I took a look at the original implementation done by Ken, and
>>> I would say that this 3/3 change is an overkill as a too generic one.
>>> Is there any next observable extension? And do two abstracted (*arbitrate)
>>> and (*release_bus) cover it well? Probably no.
>>>
>>> At first it would be simpler to add a new chip id field into struct pca9541
>>> (struct rename would be needed of course), and do a selection of specific
>>> pca9x41_arbitrate() and pca9x41_release_bus() depending on it:
>>>
>>
>> FWIW, I very much prefer Peter's code. I think it is much cleaner.
> 
> Peter's code is generic, and it makes the change about 3 times longer in lines
> of code, and the following pca9641 change on top of it will be larger as well,
> because generalization requires service.
> 
> My main concern is that if such generalization is really needed in the driver.

I just did a comparison of what would happen if I took the same shortcuts
you did, and I got 18 new lines and 3 changed lines (and some moved lines
that could have been a separate patch). You have 12 new lines and 5 changed
lines.

So, the big difference is that I add the of_match_device call while you
do not. So, it looks like you are comparing apples and oranges. Do you
have a reason for not calling of_match_device? Or were you punting that
for the patch adding PCA9641 support? That's odd, because the point of
the patch is to prepare for smooth addition of that support.

Also, I think my code allows adding support for PCA9641 with only new
lines, while your version requires changing of code.

So, I'm rejecting your arguments that your patch is significantly simpler.
And while I'm obviously a tad bit biased, I do agree with Guenter that
my structure is cleaner.

Cheers,
Peter

  reply	other threads:[~2018-03-21  8:10 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-20  6:19 [PATCH linux dev-4.16 v2] i2c: muxes: pca9641: new driver Ken Chen
2018-03-20  6:34 ` Joel Stanley
2018-03-20  9:31 ` Peter Rosin
2018-03-20  9:31   ` [PATCH 1/3] i2c: mux: pca9541: use the BIT macro Peter Rosin
2018-03-20 13:18     ` Guenter Roeck
2018-03-20 23:25     ` Vladimir Zapolskiy
2018-03-20  9:31   ` [PATCH 2/3] i2c: mux: pca9541: namespace cleanup Peter Rosin
2018-03-20 13:20     ` Guenter Roeck
2018-03-20 21:48       ` Peter Rosin
2018-03-20 21:57         ` Guenter Roeck
2018-03-20 23:24     ` Vladimir Zapolskiy
2018-03-21  5:53       ` Peter Rosin
2018-03-21  6:54         ` Vladimir Zapolskiy
2018-03-21  7:35           ` Peter Rosin
2018-03-20  9:32   ` [PATCH 3/3] i2c: mux: pca9541: prepare for PCA9641 support Peter Rosin
2018-03-20 13:22     ` Guenter Roeck
2018-03-20 23:17     ` Vladimir Zapolskiy
2018-03-21  1:19       ` Guenter Roeck
2018-03-21  7:01         ` Vladimir Zapolskiy
2018-03-21  8:09           ` Peter Rosin [this message]
2018-03-21  7:05     ` Vladimir Zapolskiy
2018-04-11  9:37   ` [PATCH linux dev-4.16 v2] i2c: muxes: pca9641: new driver Peter Rosin
2018-04-13  6:59     ` ChenKenYY 陳永營 TAO
2018-04-13  7:27       ` Peter Rosin
2018-04-16  7:37         ` ChenKenYY 陳永營 TAO

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=7ad08be1-fe73-061f-b0ad-e29a4a074506@axentia.se \
    --to=peda@axentia.se \
    --cc=chen.kenyy@inventec.com \
    --cc=joel@jms.id.au \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=vz@mleia.com \
    --cc=wsa@the-dreams.de \
    /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).