[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200819105029.GH4354@dell>
Date: Wed, 19 Aug 2020 11:50:29 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Michael Walle <michael@...le.cc>
Cc: linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-hwmon@...r.kernel.org,
linux-pwm@...r.kernel.org, linux-watchdog@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Rob Herring <robh+dt@...nel.org>,
Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>,
Thierry Reding <thierry.reding@...il.com>,
Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Shawn Guo <shawnguo@...nel.org>, Li Yang <leoyang.li@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Jason Cooper <jason@...edaemon.net>,
Marc Zyngier <maz@...nel.org>, Mark Brown <broonie@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Pavel Machek <pavel@....cz>
Subject: Re: [PATCH v8 01/13] mfd: add simple regmap based I2C driver
On Thu, 13 Aug 2020, Michael Walle wrote:
> There are I2C devices which contain several different functions but
> doesn't require any special access functions. For these kind of drivers
> an I2C regmap should be enough.
>
> Create an I2C driver which creates an I2C regmap and enumerates its
> children. If a device wants to use this as its MFD core driver, it has
> to add an individual compatible string. It may provide its own regmap
> configuration.
>
> Subdevices can use dev_get_regmap() on the parent to get their regmap
> instance.
>
> Signed-off-by: Michael Walle <michael@...le.cc>
> ---
> Changes since v7:
> - none
>
> Changes since v6:
> - added SIMPLE_MFD_I2C help text
> - revised description in module header
>
> Changes since v5:
> - removed "select MFD_CORE" in Kconfig
> - removed help text in Kconfig, we assume that the users of this
> driver will have a "select MFD_SIMPLE_MFD_I2C". Instead added
> a small description to the driver itself.
> - removed "struct simple_mfd_i2c_config" and use regmap_config
> directly
> - changed builtin_i2c_driver() to module_i2c_driver(), added
> MODULE_ boilerplate
> - cleaned up the included files
>
> Changes since v4:
> - new patch. Lee, please bear with me. I didn't want to delay the
> new version (where a lot of remarks on the other patches were
> addressed) even more, just because we haven't figured out how
> to deal with the MFD part. So for now, I've included this one.
>
> drivers/mfd/Kconfig | 12 ++++++++
> drivers/mfd/Makefile | 1 +
> drivers/mfd/simple-mfd-i2c.c | 56 ++++++++++++++++++++++++++++++++++++
> 3 files changed, 69 insertions(+)
> create mode 100644 drivers/mfd/simple-mfd-i2c.c
>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 33df0837ab41..6e1a38944d28 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -1162,6 +1162,18 @@ config MFD_SI476X_CORE
> To compile this driver as a module, choose M here: the
> module will be called si476x-core.
>
> +config MFD_SIMPLE_MFD_I2C
> + tristate
> + depends on I2C
> + select REGMAP_I2C
> + help
> + This driver creates a single register map with the intention for it
> + to be shared by all sub-devices.
> +
> + Once the register map has been successfully initialised, any
> + sub-devices represented by child nodes in Device Tree will be
> + subsequently registered.
> +
> config MFD_SM501
> tristate "Silicon Motion SM501"
> depends on HAS_DMA
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index a60e5f835283..78d24a3e7c9e 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -264,3 +264,4 @@ obj-$(CONFIG_MFD_STMFX) += stmfx.o
> obj-$(CONFIG_MFD_KHADAS_MCU) += khadas-mcu.o
>
> obj-$(CONFIG_SGI_MFD_IOC3) += ioc3.o
> +obj-$(CONFIG_MFD_SIMPLE_MFD_I2C) += simple-mfd-i2c.o
> diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c
> new file mode 100644
> index 000000000000..09b40ebfdf07
> --- /dev/null
> +++ b/drivers/mfd/simple-mfd-i2c.c
> @@ -0,0 +1,56 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Simple MFD - I2C
> + *
> + * This driver creates a single register map with the intention for it to be
> + * shared by all sub-devices. Children can use their parent's device structure
> + * (dev.parent) in order reference it.
Nit: "in order *to* reference it"
Once fixed, please add my:
For my own reference (apply this as-is to your sign-off block):
Acked-for-MFD-by: Lee Jones <lee.jones@...aro.org>
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Powered by blists - more mailing lists