From: Lee Jones <lee.jones@linaro.org>
To: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: marek.vasut+renesas@gmail.com, matti.vaittinen@fi.rohmeurope.com,
lgirdwood@gmail.com, broonie@kernel.org,
linus.walleij@linaro.org, bgolaszewski@baylibre.com,
khiem.nguyen.xt@renesas.com, linux-power@fi.rohmeurope.com,
linux-gpio@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 11/12] mfd: bd9571mwv: Make the driver more generic
Date: Wed, 23 Dec 2020 15:39:28 +0000 [thread overview]
Message-ID: <20201223153928.GA681741@dell> (raw)
In-Reply-To: <1608718963-21818-12-git-send-email-yoshihiro.shimoda.uh@renesas.com>
On Wed, 23 Dec 2020, Yoshihiro Shimoda wrote:
> From: Khiem Nguyen <khiem.nguyen.xt@renesas.com>
>
> Since the driver supports BD9571MWV PMIC only, this patch makes
> the functions and data structure become more generic so that
> it can support other PMIC variants as well. Also remove printing
> part name which Lee Jones suggested.
>
> Signed-off-by: Khiem Nguyen <khiem.nguyen.xt@renesas.com>
> Co-developed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Reviewed-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> ---
> drivers/mfd/bd9571mwv.c | 89 +++++++++++++++++++++++++------------------
> include/linux/mfd/bd9571mwv.h | 18 +--------
> 2 files changed, 54 insertions(+), 53 deletions(-)
Couple of small points.
Remainder looks good.
> diff --git a/drivers/mfd/bd9571mwv.c b/drivers/mfd/bd9571mwv.c
> index 49e968e..c905ab4 100644
> --- a/drivers/mfd/bd9571mwv.c
> +++ b/drivers/mfd/bd9571mwv.c
> @@ -3,6 +3,7 @@
> * ROHM BD9571MWV-M MFD driver
> *
> * Copyright (C) 2017 Marek Vasut <marek.vasut+renesas@gmail.com>
> + * Copyright (C) 2020 Renesas Electronics Corporation
> *
> * Based on the TPS65086 driver
> */
> @@ -14,6 +15,14 @@
>
> #include <linux/mfd/bd9571mwv.h>
>
> +/* Driver data to distinguish bd957x variants */
> +struct bd957x_ddata {
> + const struct regmap_config *regmap_config;
> + const struct regmap_irq_chip *irq_chip;
> + const struct mfd_cell *cells;
> + int num_cells;
Are you using these post-probe?
If not, they're not ddata.
> +};
[...]
> static int bd9571mwv_probe(struct i2c_client *client,
> - const struct i2c_device_id *ids)
> + const struct i2c_device_id *ids)
> {
> - struct bd9571mwv *bd;
> - int ret;
> -
> - bd = devm_kzalloc(&client->dev, sizeof(*bd), GFP_KERNEL);
> - if (!bd)
> - return -ENOMEM;
> -
> - i2c_set_clientdata(client, bd);
> - bd->dev = &client->dev;
> - bd->irq = client->irq;
> + const struct bd957x_ddata *ddata;
> + struct device *dev = &client->dev;
> + struct regmap *regmap;
> + struct regmap_irq_chip_data *irq_data;
> + int ret, irq = client->irq;
> +
> + /* Read the PMIC product code */
> + ret = i2c_smbus_read_byte_data(client, BD9571MWV_PRODUCT_CODE);
> + if (ret < 0) {
> + dev_err(dev, "Failed to read product code\n");
> + return ret;
> + }
Nit: '\n' here.
> + switch (ret) {
> + case BD9571MWV_PRODUCT_CODE_BD9571MWV:
> + ddata = &bd9571mwv_ddata;
Simply declare 'const struct mfd_cell *cells' locally in probe and
assign it here instead.
> + break;
> + default:
> + dev_err(dev, "Unsupported device 0x%x\n", ret);
> + return -ENODEV;
> + }
>
> - bd->regmap = devm_regmap_init_i2c(client, &bd9571mwv_regmap_config);
> - if (IS_ERR(bd->regmap)) {
> - dev_err(bd->dev, "Failed to initialize register map\n");
> - return PTR_ERR(bd->regmap);
> + regmap = devm_regmap_init_i2c(client, ddata->regmap_config);
> + if (IS_ERR(regmap)) {
> + dev_err(dev, "Failed to initialize register map\n");
> + return PTR_ERR(regmap);
> }
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2020-12-23 15:40 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-23 10:22 [PATCH v6 00/12] treewide: bd9571mwv: Add support for BD9574MWF Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 01/12] mfd: bd9571mwv: Use devm_mfd_add_devices() Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 02/12] dt-bindings: mfd: bd9571mwv: Document BD9574MWF Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 03/12] mfd: rohm-generic: Add BD9571 and BD9574 Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 04/12] regulator: bd9571mwv: rid of using struct bd9571mwv Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 05/12] regulator: bd9571mwv: Add BD9574MWF support Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 06/12] gpio: bd9571mwv: Use the SPDX license identifier Yoshihiro Shimoda
2020-12-27 21:13 ` Linus Walleij
2020-12-23 10:22 ` [PATCH v6 07/12] gpio: bd9571mwv: rid of using struct bd9571mwv Yoshihiro Shimoda
2020-12-27 21:15 ` Linus Walleij
2020-12-23 10:22 ` [PATCH v6 08/12] gpio: bd9571mwv: Add BD9574MWF support Yoshihiro Shimoda
2020-12-27 21:16 ` Linus Walleij
2021-01-12 4:43 ` Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 09/12] mfd: bd9571mwv: Use the SPDX license identifier Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 10/12] mfd: bd9571mwv: Use devm_regmap_add_irq_chip() Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 11/12] mfd: bd9571mwv: Make the driver more generic Yoshihiro Shimoda
2020-12-23 15:39 ` Lee Jones [this message]
2020-12-24 6:46 ` Yoshihiro Shimoda
2020-12-24 7:34 ` Lee Jones
2020-12-24 8:23 ` Yoshihiro Shimoda
2020-12-23 10:22 ` [PATCH v6 12/12] mfd: bd9571mwv: Add support for BD9574MWF Yoshihiro Shimoda
2020-12-23 15:40 ` Lee Jones
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=20201223153928.GA681741@dell \
--to=lee.jones@linaro.org \
--cc=bgolaszewski@baylibre.com \
--cc=broonie@kernel.org \
--cc=khiem.nguyen.xt@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-power@fi.rohmeurope.com \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=marek.vasut+renesas@gmail.com \
--cc=matti.vaittinen@fi.rohmeurope.com \
--cc=yoshihiro.shimoda.uh@renesas.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 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.