From: "Jonathan Neuschäfer" <j.neuschaefer@gmx.net>
To: Tyrone Ting <warp5tw@gmail.com>
Cc: avifishman70@gmail.com, tmaimon77@gmail.com,
tali.perry1@gmail.com, venture@google.com, yuenn@google.com,
benjaminfair@google.com, robh+dt@kernel.org,
krzysztof.kozlowski@canonical.com, semen.protsenko@linaro.org,
yangyicong@hisilicon.com, wsa@kernel.org, jie.deng@intel.com,
sven@svenpeter.dev, bence98@sch.bme.hu, lukas.bulwahn@gmail.com,
arnd@arndb.de, olof@lixom.net, andriy.shevchenko@linux.intel.com,
tali.perry@nuvoton.com, Avi.Fishman@nuvoton.com,
tomer.maimon@nuvoton.com, KWLIU@nuvoton.com, JJLIU0@nuvoton.com,
kfting@nuvoton.com, devicetree@vger.kernel.org,
openbmc@lists.ozlabs.org, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 6/6] i2c: npcm: Support NPCM845
Date: Mon, 7 Feb 2022 13:00:20 +0100 [thread overview]
Message-ID: <YgEJ1M40AG9EuRPI@latitude> (raw)
In-Reply-To: <20220207063338.6570-7-warp5tw@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1874 bytes --]
Hello,
On Mon, Feb 07, 2022 at 02:33:38PM +0800, Tyrone Ting wrote:
> From: Tyrone Ting <kfting@nuvoton.com>
>
> NPCM8XX uses a similar i2c module as NPCM7XX.
> The only difference is that the internal HW FIFO
> is larger.
>
> Related Makefile and Kconfig files are modified
> to support as well.
>
> Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver")
It's not really a bug fix, but rather an additional feature.
Therefore, I suggest removing the Fixes tag from this patch.
> Signed-off-by: Tyrone Ting <kfting@nuvoton.com>
> Signed-off-by: Tali Perry <tali.perry1@gmail.com>
> ---
[...]
> /* init register and default value required to enable module */
> #define NPCM_I2CSEGCTL 0xE4
> +#ifdef CONFIG_ARCH_NPCM7XX
> #define NPCM_I2CSEGCTL_INIT_VAL 0x0333F000
> +#else
> +#define NPCM_I2CSEGCTL_INIT_VAL 0x9333F000
> +#endif
This is going to cause problems when someone tries to compile a kernel
that runs on both NPCM7xx and NPCM8xx (because the driver will then only
work on NPCM7xx).
And every time another platform is added, this approach will make the
code less readable.
A more future-proof approach is probably to have a struct with chip-
specific data (such as the I2CSECCTL initialization value), which is
then selected via the .data field in of_device_id.
> static const struct of_device_id npcm_i2c_bus_of_table[] = {
> { .compatible = "nuvoton,npcm750-i2c", },
> + { .compatible = "nuvoton,npcm845-i2c", },
> {}
> };
> MODULE_DEVICE_TABLE(of, npcm_i2c_bus_of_table);
e.g.:
static const struct of_device_id npcm_i2c_bus_of_table[] = {
{ .compatible = "nuvoton,npcm750-i2c", .data = &npcm750_info },
{ .compatible = "nuvoton,npcm845-i2c", .data = &npcm845_info },
{}
};
MODULE_DEVICE_TABLE(of, npcm_i2c_bus_of_table);
Best regards,
Jonathan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2022-02-07 13:19 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-07 6:33 [PATCH v1 0/6] i2c: npcm: Bug fixes timeout, spurious interrupts Tyrone Ting
2022-02-07 6:33 ` [PATCH v1 1/6] dt-bindings: i2c: npcm: support NPCM845 Tyrone Ting
2022-02-07 11:21 ` Jonathan Neuschäfer
2022-02-07 11:27 ` Krzysztof Kozlowski
2022-02-07 14:22 ` Rob Herring
2022-02-08 9:03 ` warp5tw
2022-02-11 16:14 ` Rob Herring
2022-02-12 3:19 ` warp5tw
2022-02-07 6:33 ` [PATCH v1 2/6] i2c: npcm: Fix timeout calculation Tyrone Ting
2022-02-07 11:21 ` Krzysztof Kozlowski
2022-02-07 11:27 ` Jonathan Neuschäfer
2022-02-08 9:09 ` warp5tw
2022-02-07 6:33 ` [PATCH v1 3/6] i2c: npcm: Add tx complete counter Tyrone Ting
2022-02-07 6:33 ` [PATCH v1 4/6] i2c: npcm: Handle spurious interrupts Tyrone Ting
2022-02-07 11:40 ` Jonathan Neuschäfer
2022-02-08 9:19 ` warp5tw
2022-02-07 6:33 ` [PATCH v1 5/6] i2c: npcm: Remove own slave addresses 2:10 Tyrone Ting
2022-02-07 6:33 ` [PATCH v1 6/6] i2c: npcm: Support NPCM845 Tyrone Ting
2022-02-07 12:00 ` Jonathan Neuschäfer [this message]
2022-02-07 15:26 ` Krzysztof Kozlowski
2022-02-08 7:11 ` tali.perry
2022-02-08 7:14 ` Tali Perry
2022-02-08 7:59 ` Krzysztof Kozlowski
2022-02-08 8:51 ` Tali Perry
2022-02-08 8:56 ` Krzysztof Kozlowski
2022-02-08 9:22 ` Tali Perry
2022-02-08 9:29 ` Krzysztof Kozlowski
2022-02-08 9:31 ` Avi Fishman
2022-02-08 9:39 ` Krzysztof Kozlowski
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=YgEJ1M40AG9EuRPI@latitude \
--to=j.neuschaefer@gmx.net \
--cc=Avi.Fishman@nuvoton.com \
--cc=JJLIU0@nuvoton.com \
--cc=KWLIU@nuvoton.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=arnd@arndb.de \
--cc=avifishman70@gmail.com \
--cc=bence98@sch.bme.hu \
--cc=benjaminfair@google.com \
--cc=devicetree@vger.kernel.org \
--cc=jie.deng@intel.com \
--cc=kfting@nuvoton.com \
--cc=krzysztof.kozlowski@canonical.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@gmail.com \
--cc=olof@lixom.net \
--cc=openbmc@lists.ozlabs.org \
--cc=robh+dt@kernel.org \
--cc=semen.protsenko@linaro.org \
--cc=sven@svenpeter.dev \
--cc=tali.perry1@gmail.com \
--cc=tali.perry@nuvoton.com \
--cc=tmaimon77@gmail.com \
--cc=tomer.maimon@nuvoton.com \
--cc=venture@google.com \
--cc=warp5tw@gmail.com \
--cc=wsa@kernel.org \
--cc=yangyicong@hisilicon.com \
--cc=yuenn@google.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).