All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: William Breathitt Gray <william.gray@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	Mark Brown <broonie@kernel.org>,
	techsupport@winsystems.com, pdemetrotion@winsystems.com,
	quarium@gmail.com, jhentges@accesio.com, jay.dolan@accesio.com
Subject: Re: [PATCH v6 0/3] Migrate the PCIe-IDIO-24 and WS16C48 GPIO drivers to the regmap API
Date: Wed, 5 Apr 2023 19:11:16 +0300	[thread overview]
Message-ID: <ZC2dpCtxa/dlIcov@smile.fi.intel.com> (raw)
In-Reply-To: <cover.1680708357.git.william.gray@linaro.org>

On Wed, Apr 05, 2023 at 11:45:41AM -0400, William Breathitt Gray wrote:
> Changes in v6:
>  - Wrap lines to 80 characters rather than 100 for set_type_config()
>  - Remove regmap_config max_register lines as superfluous
>  - Enable use_raw_spinlock to prevent deadlocks when running -rt kernels
>  - Check regmap_update_bit() ret value before goto exit_unlock
>  - Rename exit_early label to the more descriptive exit_unlock
>  - Add sparse annotations for lock acquire/release in
>    ws16c48_handle_pre_irq() and ws16c48_handle_post_irq()
>  - Explicitly add 0 to WS16C48_ENAB in ws16c48_irq_init_hw() for sake of
>    symmetry to match the other WS16C48_ENAB operations 
> Changes in v5:
>  - Refactor for map parameter removal from handle_mask_sync()
>  - Cleanups and line wrappings to 100 characters rather than 80
>  - Adjust to change mutex/spinlock_t type locks to raw_spin_lock_t type
>  - Remove pex8311_intcsr table configurations as superfluous
>  - Adjust to set pex8311_intcsr_regmap_config reg_base to
>    PLX_PEX8311_PCI_LCS_INTCSR
>  - Rename PAGE_FIELD_PAGE_* defines to POL_PAGE, ENAB_PAGE, and
>    INT_ID_PAGE
> Changes in v4:
>  - Allocate idio24gpio before using it in idio_24_probe()
> Changes in v3:
>  - Drop map from set_type_config() parameter list; regmap can be passed
>    by irq_drv_data instead
>  - Adjust idio_24_set_type_config() for parameter list
>  - Add mutex to prevent clobbering the COS_ENABLE register when masking
>    IRQ and setting their type configuration
> Changes in v2:
>  - Simplify PCIe-IDIO-24 register offset defines to remove superfluous
>    arithmetic
>  - Check for NULL pointer after chip->irq_drv_data allocation
>  - Set gpio_regmap drvdata and use gpio_regmap_get_drvdata() to get the
>    regmap in idio_24_reg_map_xlate()
> 
> The regmap API supports IO port accessors so we can take advantage of
> regmap abstractions rather than handling access to the device registers
> directly in the driver.
> 
> A patch to pass irq_drv_data as a parameter for struct regmap_irq_chip
> set_type_config() is included. This is needed by the
> idio_24_set_type_config() and ws16c48_set_type_config() callbacks in
> order to update the type configuration on their respective devices.
> 
> This patchset depends on the "Drop map from handle_mask_sync()
> parameters" patchset [0].
> 
> [0] https://lore.kernel.org/all/cover.1679323449.git.william.gray@linaro.org/

Looks good to me now.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

It might be that regmap locks are unnecessary, but as far as I understood
dropping them would require more intrusion into the regmap APIs along with
GPIO regmap implementation.

> William Breathitt Gray (3):
>   regmap: Pass irq_drv_data as a parameter for set_type_config()
>   gpio: pcie-idio-24: Migrate to the regmap API
>   gpio: ws16c48: Migrate to the regmap API
> 
>  drivers/base/regmap/regmap-irq.c |   8 +-
>  drivers/gpio/Kconfig             |   6 +
>  drivers/gpio/gpio-pcie-idio-24.c | 677 +++++++++++--------------------
>  drivers/gpio/gpio-ws16c48.c      | 552 +++++++++----------------
>  include/linux/regmap.h           |   6 +-
>  5 files changed, 447 insertions(+), 802 deletions(-)
> 
> 
> base-commit: 7b59bdbc3965ca8add53e084af394c13a2be22a8
> prerequisite-patch-id: cd19046150b7cff1be4ac7152198777aa960a3df
> prerequisite-patch-id: bd3e3830d9ce4f3876a77483364d7190b7fdffa7
> -- 
> 2.39.2
> 

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2023-04-05 16:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-05 15:45 [PATCH v6 0/3] Migrate the PCIe-IDIO-24 and WS16C48 GPIO drivers to the regmap API William Breathitt Gray
2023-04-05 15:45 ` [PATCH v6 1/3] regmap: Pass irq_drv_data as a parameter for set_type_config() William Breathitt Gray
2023-04-06 17:23   ` Mark Brown
2023-04-07 10:17     ` Bartosz Golaszewski
2023-04-07 11:39       ` William Breathitt Gray
2023-04-07 11:42         ` Mark Brown
2023-04-07 11:46         ` Bartosz Golaszewski
2023-04-05 15:45 ` [PATCH v6 2/3] gpio: pcie-idio-24: Migrate to the regmap API William Breathitt Gray
2023-04-05 15:45 ` [PATCH v6 3/3] gpio: ws16c48: " William Breathitt Gray
2023-04-05 16:11 ` Andy Shevchenko [this message]
2023-04-05 20:57 ` (subset) [PATCH v6 0/3] Migrate the PCIe-IDIO-24 and WS16C48 GPIO drivers " Mark Brown
2023-04-10 22:13 ` Linus Walleij

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=ZC2dpCtxa/dlIcov@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=jay.dolan@accesio.com \
    --cc=jhentges@accesio.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pdemetrotion@winsystems.com \
    --cc=quarium@gmail.com \
    --cc=techsupport@winsystems.com \
    --cc=william.gray@linaro.org \
    /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.