All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Jeff LaBundy <jeff@labundy.com>
Cc: dmitry.torokhov@gmail.com, thierry.reding@gmail.com,
	jic23@kernel.org, devicetree@vger.kernel.org,
	linux-input@vger.kernel.org, u.kleine-koenig@pengutronix.de,
	linux-pwm@vger.kernel.org, knaack.h@gmx.de, lars@metafoo.de,
	pmeerw@pmeerw.net, linux-iio@vger.kernel.org, robh+dt@kernel.org,
	mark.rutland@arm.com
Subject: Re: [PATCH v5 2/7] mfd: Add support for Azoteq IQS620A/621/622/624/625
Date: Mon, 24 Feb 2020 11:14:48 +0000	[thread overview]
Message-ID: <20200224111448.GS3494@dell> (raw)
In-Reply-To: <1581895931-6056-3-git-send-email-jeff@labundy.com>

On Sun, 16 Feb 2020, Jeff LaBundy wrote:

> This patch adds core support for the Azoteq IQS620A, IQS621, IQS622,
> IQS624 and IQS625 multi-function sensors.
> 
> Signed-off-by: Jeff LaBundy <jeff@labundy.com>
> ---
> Changes in v5:
>   - Merged iqs62x-core.c and iqs62x-tables.c into a single iqs62x.c
>   - Corrected spelling of "data sheet" to "datasheet"
>   - Added one line of whitespace in various places to improve readability
>   - Replaced iqs62x->map with iqs62x->regmap throughout
>   - Added the prox_settings member to the iqs62x_dev_desc struct and eliminated
>     the ternary operator in iqs62x_dev_init to determine SAR UI enable register
>     address
>   - Added a comment in iqs62x_dev_init to explain the background for the bounds
>     checking done on the IQS624/625 interval divider
>   - Added #defines for the delays used within iqs62x_dev_init
>   - Renamed iqs62x_fw_prs and iqs62x_fw_cb to iqs62x_firmware_parse and
>     iqs62x_firmware_load, respectively
>   - Updated the call to devm_mfd_add_devices to use PLATFORM_DEVID_NONE instead
>     of -1 and printed "sub-devices" instead of "devices" in the error message
>   - Dropped #defines for mfd_cell names in favor of the actual string names and
>     collapsed mfd_cells with no other members into one line
>   - Demoted iqs62x_devs to a static array as it is not used by any sub-devices
>   - Removed unnecessary { IQS620A_DEV, ... } enum and IQS62X_NUM_DEV #define
>   - Removed the soft reset and associated delay in iqs62x_probe to preserve any
>     PWM-related changes made by a bootloader
>   - Updated the comments in iqs62x_probe to highlight the significance of blank
>     calibration registers and why the outer loop may be exited early
>   - Made the first call to regmap_update_bits in iqs62x_suspend consistent with
>     other instances in the series that set a single bit by passing all ones for
>     the value instead of the mask
> 
> Changes in v4:
>   - None
> 
> Changes in v3:
>   - None
> 
> Changes in v2:
>   - Merged 'Copyright' and 'Author' lines into one in introductory comments
>   - Replaced 'error' with 'ret' throughout
>   - Updated iqs62x_dev_init to account for 4/8/16-MHz clock divider in start-up
>     delays and replaced ATI timeout routine with regmap_read_poll_timeout
>   - Added an error message to iqs62x_irq in case device status fails to be read
>   - Replaced sw_num member of iqs62x_core with a local variable in iqs62x_probe
>     as the former was unused anywhere else
>   - Added comments throughout iqs62x_probe to clarify how devices are matched
>     based on the presence of calibration data
>   - Inverted the product and software number comparison logic in iqs62x_probe
>     to avoid an else...continue branch
>   - Changed iqs62x_probe from .probe callback to .probe_new callback, thereby
>     eliminating the otherwise unused iqs62x_id array
>   - Moved iqs62x_suspend and iqs62x_resume below iqs62x_remove
>   - Eliminated tabbed alignment of regmap_config and i2c_driver struct members
>   - Added register definitions for register addresses used in iqs621_cal_regs,
>     iqs620at_cal_regs and iqs62x_devs arrays
>   - Removed of_compatible string from IQS622 mfd_cell struct as its proximity
>     (now ambient light) sensing functionality need not be represented using a
>     child node
>   - Dissolved union in iqs62x_event_data to allow simultaneous use of ir_flags
>     and als_flags
>   - Removed temp_flags member of iqs62x_event_data, IQS62X_EVENT_TEMP register
>     enumeration and IQS62X_EVENT_UI_HI/LO from iqs620a_event_regs (thereby re-
>     ducing IQS62X_EVENT_SIZE to 10) as they were unused
> 
>  drivers/mfd/Kconfig        |   13 +
>  drivers/mfd/Makefile       |    1 +
>  drivers/mfd/iqs62x.c       | 1063 ++++++++++++++++++++++++++++++++++++++++++++
>  include/linux/mfd/iqs62x.h |  139 ++++++
>  4 files changed, 1216 insertions(+)
>  create mode 100644 drivers/mfd/iqs62x.c
>  create mode 100644 include/linux/mfd/iqs62x.h

Well done Jeff.  Good job.

Applied, thanks.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Jeff LaBundy <jeff-Sk+WRT7NHmFBDgjK7y7TUQ@public.gmane.org>
Cc: dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	linux-pwm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	knaack.h-Mmb7MZpHnFY@public.gmane.org,
	lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org,
	pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org,
	linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org
Subject: Re: [PATCH v5 2/7] mfd: Add support for Azoteq IQS620A/621/622/624/625
Date: Mon, 24 Feb 2020 11:14:48 +0000	[thread overview]
Message-ID: <20200224111448.GS3494@dell> (raw)
In-Reply-To: <1581895931-6056-3-git-send-email-jeff-Sk+WRT7NHmFBDgjK7y7TUQ@public.gmane.org>

On Sun, 16 Feb 2020, Jeff LaBundy wrote:

> This patch adds core support for the Azoteq IQS620A, IQS621, IQS622,
> IQS624 and IQS625 multi-function sensors.
> 
> Signed-off-by: Jeff LaBundy <jeff-Sk+WRT7NHmFBDgjK7y7TUQ@public.gmane.org>
> ---
> Changes in v5:
>   - Merged iqs62x-core.c and iqs62x-tables.c into a single iqs62x.c
>   - Corrected spelling of "data sheet" to "datasheet"
>   - Added one line of whitespace in various places to improve readability
>   - Replaced iqs62x->map with iqs62x->regmap throughout
>   - Added the prox_settings member to the iqs62x_dev_desc struct and eliminated
>     the ternary operator in iqs62x_dev_init to determine SAR UI enable register
>     address
>   - Added a comment in iqs62x_dev_init to explain the background for the bounds
>     checking done on the IQS624/625 interval divider
>   - Added #defines for the delays used within iqs62x_dev_init
>   - Renamed iqs62x_fw_prs and iqs62x_fw_cb to iqs62x_firmware_parse and
>     iqs62x_firmware_load, respectively
>   - Updated the call to devm_mfd_add_devices to use PLATFORM_DEVID_NONE instead
>     of -1 and printed "sub-devices" instead of "devices" in the error message
>   - Dropped #defines for mfd_cell names in favor of the actual string names and
>     collapsed mfd_cells with no other members into one line
>   - Demoted iqs62x_devs to a static array as it is not used by any sub-devices
>   - Removed unnecessary { IQS620A_DEV, ... } enum and IQS62X_NUM_DEV #define
>   - Removed the soft reset and associated delay in iqs62x_probe to preserve any
>     PWM-related changes made by a bootloader
>   - Updated the comments in iqs62x_probe to highlight the significance of blank
>     calibration registers and why the outer loop may be exited early
>   - Made the first call to regmap_update_bits in iqs62x_suspend consistent with
>     other instances in the series that set a single bit by passing all ones for
>     the value instead of the mask
> 
> Changes in v4:
>   - None
> 
> Changes in v3:
>   - None
> 
> Changes in v2:
>   - Merged 'Copyright' and 'Author' lines into one in introductory comments
>   - Replaced 'error' with 'ret' throughout
>   - Updated iqs62x_dev_init to account for 4/8/16-MHz clock divider in start-up
>     delays and replaced ATI timeout routine with regmap_read_poll_timeout
>   - Added an error message to iqs62x_irq in case device status fails to be read
>   - Replaced sw_num member of iqs62x_core with a local variable in iqs62x_probe
>     as the former was unused anywhere else
>   - Added comments throughout iqs62x_probe to clarify how devices are matched
>     based on the presence of calibration data
>   - Inverted the product and software number comparison logic in iqs62x_probe
>     to avoid an else...continue branch
>   - Changed iqs62x_probe from .probe callback to .probe_new callback, thereby
>     eliminating the otherwise unused iqs62x_id array
>   - Moved iqs62x_suspend and iqs62x_resume below iqs62x_remove
>   - Eliminated tabbed alignment of regmap_config and i2c_driver struct members
>   - Added register definitions for register addresses used in iqs621_cal_regs,
>     iqs620at_cal_regs and iqs62x_devs arrays
>   - Removed of_compatible string from IQS622 mfd_cell struct as its proximity
>     (now ambient light) sensing functionality need not be represented using a
>     child node
>   - Dissolved union in iqs62x_event_data to allow simultaneous use of ir_flags
>     and als_flags
>   - Removed temp_flags member of iqs62x_event_data, IQS62X_EVENT_TEMP register
>     enumeration and IQS62X_EVENT_UI_HI/LO from iqs620a_event_regs (thereby re-
>     ducing IQS62X_EVENT_SIZE to 10) as they were unused
> 
>  drivers/mfd/Kconfig        |   13 +
>  drivers/mfd/Makefile       |    1 +
>  drivers/mfd/iqs62x.c       | 1063 ++++++++++++++++++++++++++++++++++++++++++++
>  include/linux/mfd/iqs62x.h |  139 ++++++
>  4 files changed, 1216 insertions(+)
>  create mode 100644 drivers/mfd/iqs62x.c
>  create mode 100644 include/linux/mfd/iqs62x.h

Well done Jeff.  Good job.

Applied, thanks.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2020-02-24 11:14 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-16 23:32 [PATCH v5 0/7] Add support for Azoteq IQS620A/621/622/624/625 Jeff LaBundy
2020-02-16 23:32 ` Jeff LaBundy
2020-02-16 23:32 ` [PATCH v5 1/7] dt-bindings: Add bindings " Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-02-24 11:14   ` Lee Jones
2020-02-24 11:14     ` Lee Jones
2020-02-16 23:32 ` [PATCH v5 2/7] mfd: Add support " Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-02-24 11:14   ` Lee Jones [this message]
2020-02-24 11:14     ` Lee Jones
2020-02-28  3:42     ` Jeff LaBundy
2020-02-28  3:42       ` Jeff LaBundy
2020-03-02 12:04       ` Lee Jones
2020-03-02 14:11         ` Jeff LaBundy
2020-03-02 14:23           ` Uwe Kleine-König
2020-03-02 14:24           ` Lee Jones
2020-03-02 14:24             ` Lee Jones
2020-03-23  2:16             ` Jeff LaBundy
2020-03-24  8:16               ` Lee Jones
2020-03-24  8:16                 ` Lee Jones
2020-02-16 23:32 ` [PATCH v5 3/7] input: keyboard: " Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-02-16 23:32 ` [PATCH v5 4/7] pwm: Add support for Azoteq IQS620A PWM generator Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-02-28  9:22   ` Uwe Kleine-König
2020-02-28  9:22     ` Uwe Kleine-König
2020-03-09  0:42     ` Jeff LaBundy
2020-03-09  0:42       ` Jeff LaBundy
2020-02-16 23:32 ` [PATCH v5 5/7] iio: temperature: Add support for Azoteq IQS620AT temperature sensor Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-02-16 23:32 ` [PATCH v5 6/7] iio: light: Add support for Azoteq IQS621/622 ambient light sensors Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-02-16 23:32 ` [PATCH v5 7/7] iio: position: Add support for Azoteq IQS624/625 angle sensors Jeff LaBundy
2020-02-16 23:32   ` Jeff LaBundy
2020-03-27  8:28 ` [GIT PULL] Immutable branch between MFD, IIO and Input due for the v5.7 merge window Lee Jones
2020-03-27  8:28   ` 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=20200224111448.GS3494@dell \
    --to=lee.jones@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jeff@labundy.com \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh+dt@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=u.kleine-koenig@pengutronix.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 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.