Migrate IDIO-16 GPIO drivers to regmap API
Subsystems (7)
v2 cover Migrate IDIO-16 GPIO drivers to regmap API
Changes in v2:
- Utilize memset32() to set status_buf for no_status case
- Utilize GENMASK() to generate status_buf mask
- Move no_status kernel doc line under runtime_pm line
- Add comma to end of idio_16_names initialization list
- Set io_port to true in idio_16_regmap_config
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. The 104-idio-16 and pci-idio-16 modules depend on the IDIO-16 library and are thus updated accordingly.
The 104-IDIO-16 lacks a status register (as does the 104-DIO-48E), so a no_status flag is introduced to the regmap-irq API to properly handle such cases and avoid hacks. The 104-dio-48e module is updated in a subsequent patch to take advantage of this new no_status flag.
By leveraging the regmap API, the idio-16 library is reduced to simply a devm_idio_16_regmap_register() function and a configuration structure struct idio_16_regmap_config.
William Breathitt Gray (6):
regmap-irq: Add no_status support
gpio: 104-dio-48e: Utilize no_status regmap-irq flag
gpio: idio-16: Migrate to the regmap API
gpio: 104-idio-16: Migrate to the regmap API
gpio: pci-idio-16: Migrate to the regmap API
gpio: idio-16: Remove unused legacy interface
drivers/base/regmap/regmap-irq.c | 22 ++- drivers/gpio/Kconfig | 7 +- drivers/gpio/gpio-104-dio-48e.c | 6 +- drivers/gpio/gpio-104-idio-16.c | 294 ++++++++---------------------- drivers/gpio/gpio-idio-16.c | 255 ++++++++++++++------------ drivers/gpio/gpio-idio-16.h | 80 +++------ drivers/gpio/gpio-pci-idio-16.c | 296 +++++++------------------------ include/linux/regmap.h | 2 + 8 files changed, 326 insertions(+), 636 deletions(-)
base-commit: 4827aae061337251bb91801b316157a78b845ec7
Signature · 1 line
2.39.2
PATCH v2 1/6 regmap-irq: Add no_status support
Some devices lack status registers, yet expect to handle interrupts. Introduce a no_status flag to indicate such a configuration, where rather than read a status register to verify, all interrupts received are assumed to be active.
---
Changes in v2:
- Utilize memset32() to set status_buf for no_status case
- Utilize GENMASK() to generate status_buf mask
- Move no_status kernel doc line under runtime_pm line
drivers/base/regmap/regmap-irq.c | 22 +++++++++++++++------- include/linux/regmap.h | 2 ++ 2 files changed, 17 insertions(+), 7 deletions(-)
drivers/base/regmap/regmap-irq.c +15 -7
@@ -437,7 +437,10 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)* possible in order to reduce the I/O overheads. */ -if (chip->num_main_regs) { +if (chip->no_status) { +/* no status register so default to all active */ +memset32 (data->status_buf,GENMASK (31 ,0 ), chip->num_regs); + }else if (chip->num_main_regs) {unsigned int max_main_bits;unsigned long size;
@@ -967,12 +970,17 @@ int regmap_add_irq_chip_fwnode(struct fwnode_handle *fwnode,continue ;/* Ack masked but set interrupts */ - reg = d->get_irq_reg (d, d->chip->status_base, i); - ret =regmap_read (map, reg, &d->status_buf[i]); -if (ret !=0 ) { -dev_err (map->dev,"Failed to read IRQ status: %d\n" , - ret); - goto err_alloc; +if (d->chip->no_status) { +/* no status register so default to all active */ + d->status_buf[i] =GENMASK (31 ,0 ); + }else { + reg = d->get_irq_reg (d, d->chip->status_base, i); + ret =regmap_read (map, reg, &d->status_buf[i]); +if (ret !=0 ) { +dev_err (map->dev,"Failed to read IRQ status: %d\n" , + ret); + goto err_alloc; + } }if (chip->status_invert)
include/linux/regmap.h +2 -0
@@ -1564,6 +1564,7 @@ struct regmap_irq_chip_data;* the need for a @sub_reg_offsets table. * @status_invert: Inverted status register: cleared bits are active interrupts. * @runtime_pm: Hold a runtime PM lock on the device when accessing it. +* @no_status: No status register: all interrupts assumed generated by device. * * @num_regs: Number of registers in each control bank. * @irqs: Descriptors for individual IRQs. Interrupt numbers are
@@ -1630,6 +1631,7 @@ struct regmap_irq_chip { unsigned int clear_on_unmask:1; unsigned int not_fixed_stride:1; unsigned int status_invert:1; + unsigned int no_status:1;int num_regs;
Signature · 1 line
2.39.2
Re: [PATCH v2 1/6] regmap-irq: Add no_status support
Quoted 79 lines · William Breathitt Gray
Some devices lack status registers, yet expect to handle interrupts. Introduce a
no_statusflag to indicate such a configuration, where rather than read a status register to verify, all interrupts received are assumed to be active.Cc Mark Brown <[email protected]>Signed-off-by William Breathitt Gray <[email protected]>---
Changes in v2:
- Utilizememset32()to setstatus_bufforno_statuscase
- UtilizeGENMASK()to generatestatus_bufmask
- Moveno_statuskernel doc line underruntime_pmlinedrivers/base/regmap/regmap-irq.c | 22 +++++++++++++++------- include/linux/regmap.h | 2 ++ 2 files changed, 17 insertions(+), 7 deletions(-)drivers/base/regmap/regmap-irq.c +15
-7@@ -437,7 +437,10 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)* possible in order to reduce the I/O overheads. */ -if (chip->num_main_regs) { +if (chip->no_status) { +/* no status register so default to all active */ +memset32 (data->status_buf,GENMASK (31 ,0 ), chip->num_regs); + }else if (chip->num_main_regs) {unsigned int max_main_bits;unsigned long size;@@ -967,12 +970,17 @@ int regmap_add_irq_chip_fwnode(struct fwnode_handle *fwnode,continue ;/* Ack masked but set interrupts */ - reg = d->get_irq_reg (d, d->chip->status_base, i); - ret =regmap_read (map, reg, &d->status_buf[i]); -if (ret !=0 ) { -dev_err (map->dev,"Failed to read IRQ status: %d\n" , - ret); - goto err_alloc; +if (d->chip->no_status) { +/* no status register so default to all active */ + d->status_buf[i] =GENMASK (31 ,0 ); + }else { + reg = d->get_irq_reg (d, d->chip->status_base, i); + ret =regmap_read (map, reg, &d->status_buf[i]); +if (ret !=0 ) { +dev_err (map->dev,"Failed to read IRQ status: %d\n" , + ret); + goto err_alloc; + } }if (chip->status_invert)include/linux/regmap.h +2
-1@@ -1564,6 +1564,7 @@ struct regmap_irq_chip_data;* the need for a @sub_reg_offsets table. * @status_invert: Inverted status register: cleared bits are active interrupts. * @runtime_pm: Hold a runtime PM lock on the device when accessing it. +* @no_status: No status register: all interrupts assumed generated by device. * * @num_regs: Number of registers in each control bank. * @irqs: Descriptors for individual IRQs. Interrupt numbers are @@ -1630,6 +1631,7 @@ struct regmap_irq_chip { unsigned int clear_on_unmask:1; unsigned int not_fixed_stride:1; unsigned int status_invert:1; + unsigned int no_status:1;int num_regs; --
Quoted 2 lines
2.39.2
Mark,
If this looks good to you, could you Ack it so that I can take it through the GPIO tree?
Bart
Re: [PATCH v2 1/6] regmap-irq: Add no_status support
Quoted 10 lines · Bartosz Golaszewski
Quoted 8 lines · William Breathitt Gray
Some devices lack status registers, yet expect to handle interrupts. Introduce a
no_statusflag to indicate such a configuration, where rather than read a status register to verify, all interrupts received are assumed to be active.Cc Mark Brown <[email protected]>Signed-off-by William Breathitt Gray <[email protected]>
[...]
Quoted 6 lines
Mark,
If this looks good to you, could you Ack it so that I can take it through the GPIO tree?
Bart
Bart,
There's a change to the regmap-irq handle_mask_sync() callback I submitted that will affect these patches [0]. If you haven't already picked up this series, I suggest waiting until the handle_mask_sync() change is resolved, after which I can rebase this series on top of it and we'll end up with a cleaner git history.
[0] https://lore.kernel.org/all/[email protected]/
William Breathitt Gray
Mark Brown
maintainerRe: [PATCH v2 1/6] regmap-irq: Add no_status support
In reply to William Breathitt GrayQuoted 4 lines · William Breathitt Gray
Some devices lack status registers, yet expect to handle interrupts. Introduce a
no_statusflag to indicate such a configuration, where rather than read a status register to verify, all interrupts received are assumed to be active.
The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6:
Linux 6.3-rc1 (2023-03-05 14:52:03 -0800)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git tags/regmap-no-status
for you to fetch changes up to 4d60cac951fd2dfbf261b83abb805748abc8b995:
regmap-irq: Add no_status support (2023-03-05 23:38:50 +0000)
----------------------------------------------------------------
regmap: Add no_status support
This patch adds support for devices which don't support readback of individual interrupt statuses, we report all interrupts as firing and hope the consumers do the right thing.
----------------------------------------------------------------
William Breathitt Gray (1):
regmap-irq: Add no_status support
drivers/base/regmap/regmap-irq.c | 22 +++++++++++++++------- include/linux/regmap.h | 2 ++ 2 files changed, 17 insertions(+), 7 deletions(-)
PATCH v2 2/6 gpio: 104-dio-48e: Utilize no_status regmap-irq flag
In reply to William Breathitt GrayThe 104-DIO-48E lacks an IRQ status register. Rather than use the Clear Interrupt register as the status register, set the no_status flag to true and thus avoid such a hack.
--- drivers/gpio/gpio-104-dio-48e.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
drivers/gpio/gpio-104-dio-48e.c +1 -5
@@ -195,13 +195,9 @@ static int dio48e_probe(struct device *dev, unsigned int id)return -ENOMEM ; chip->name = name; -/* No IRQ status register so use CLEAR_INTERRUPT register instead */ - chip->status_base =DIO48E_CLEAR_INTERRUPT ; chip->mask_base =DIO48E_ENABLE_INTERRUPT ; chip->ack_base =DIO48E_CLEAR_INTERRUPT ; -/* CLEAR_INTERRUPT doubles as status register so we need it cleared */ - chip->clear_ack = true; - chip->status_invert = true; + chip->no_status = true; chip->num_regs =1 ; chip->irqs = dio48e_regmap_irqs; chip->num_irqs =ARRAY_SIZE (dio48e_regmap_irqs);
Signature · 1 line
2.39.2
PATCH v2 3/6 gpio: idio-16: Migrate to the regmap API
In reply to William Breathitt GrayThe 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.
By leveraging the regmap API, the idio-16 library is reduced to simply a devm_idio_16_regmap_register() function and a configuration structure struct idio_16_regmap_config.
Legacy functions and code will be removed once all consumers have migrated to the new idio-16 library interface.
For IDIO-16 devices we have the following IRQ registers:
Base Address +1 (Write): Clear Interrupt
Base Address +2 (Read): Enable Interrupt
Base Address +2 (Write): Disable Interrupt
An interrupt is asserted whenever a change-of-state is detected on any of the inputs. Any write to 0x2 will disable interrupts, while any read will enable interrupts. Interrupts are cleared by a write to 0x1.
For 104-IDIO-16 devices, there is no IRQ status register, so software has to assume that if an interrupt is raised then it was for the 104-IDIO-16 device.
For PCI-IDIO-16 devices, there is an additional IRQ register:
Base Address +6 (Read): Interrupt Status
Interrupt status can be read from 0x6 where bit 2 set indicates that an IRQ has been generated.
---
Changes in v2:
- Add comma to end of idio_16_names initialization list
drivers/gpio/Kconfig | 3 + drivers/gpio/gpio-idio-16.c | 158 ++++++++++++++++++++++++++++++++++++ drivers/gpio/gpio-idio-16.h | 28 +++++++ 3 files changed, 189 insertions(+)
drivers/gpio/Kconfig +3 -0
@@ -111,6 +111,9 @@ config GPIO_MAX730X config GPIO_IDIO_16 tristate + select REGMAP_IRQ + select GPIOLIB_IRQCHIP + select GPIO_REGMAP help Enables support for the idio-16 library functions. The idio-16 library provides functions to facilitate communication with devices within the
drivers/gpio/gpio-idio-16.c +158 -0
173 lines not on this page · raw message
drivers/gpio/gpio-idio-16.h +28 -0
@@ -6,6 +6,30 @@#include <linux/spinlock.h> #include <linux/types.h> +struct device ; +struct regmap ; +struct regmap_irq ; + +/** +* struct idio_16_regmap_config - Configuration for the IDIO-16 register map +* @parent: parent device +* @map: regmap for the IDIO-16 device +* @regmap_irqs: descriptors for individual IRQs +* @num_regmap_irqs: number of IRQ descriptors +* @irq: IRQ number for the IDIO-16 device +* @no_status: device has no status register +* @filters: device has input filters +*/ +struct idio_16_regmap_config { +struct device *parent; +struct regmap *map; +const struct regmap_irq *regmap_irqs; +int num_regmap_irqs; +unsigned int irq; +bool no_status; +bool filters; +}; +/** * struct idio_16 - IDIO-16 registers structure * @out0_7: Read: FET Drive Outputs 0-7
@@ -39,6 +63,7 @@ struct idio_16 {* struct idio_16_state - IDIO-16 state structure * @lock: synchronization lock for accessing device state * @out_state: output signals state +* @irq_mask: IRQ mask state */ struct idio_16_state {spinlock_t lock;
@@ -68,4 +93,7 @@ void idio_16_set_multiple(struct idio_16 __iomem *reg, const unsigned long *mask, const unsigned long *bits);void idio_16_state_init (struct idio_16_state *state); +int devm_idio_16_regmap_register (struct device *dev, +const struct idio_16_regmap_config *config); +#endif /* _IDIO_16_H_ */
Signature · 1 line
2.39.2
PATCH v2 4/6 gpio: 104-idio-16: Migrate to the regmap API
In reply to William Breathitt GrayThe 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. Migrate the 104-idio-16 module to the new idio-16 library interface leveraging the gpio-regmap API.
--- drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-104-idio-16.c | 294 ++++++++------------------------ 2 files changed, 72 insertions(+), 224 deletions(-)
drivers/gpio/Kconfig +1 -1
@@ -863,7 +863,7 @@ config GPIO_104_IDIO_16 tristate "ACCES 104-IDIO-16 GPIO support" depends on PC104 select ISA_BUS_API - select GPIOLIB_IRQCHIP + select REGMAP_MMIO select GPIO_IDIO_16 help Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
drivers/gpio/gpio-104-idio-16.c +71 -223
331 lines not on this page · raw message
Signature · 1 line
2.39.2
PATCH v2 5/6 gpio: pci-idio-16: Migrate to the regmap API
In reply to William Breathitt GrayThe 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. Migrate the pci-idio-16 module to the new idio-16 library interface leveraging the gpio-regmap API.
---
Changes in v2:
- Set io_port to true in idio_16_regmap_config
drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-pci-idio-16.c | 296 ++++++++------------------------ 2 files changed, 70 insertions(+), 228 deletions(-)
drivers/gpio/Kconfig +1 -1
@@ -1571,7 +1571,7 @@ config GPIO_PCH config GPIO_PCI_IDIO_16 tristate "ACCES PCI-IDIO-16 GPIO support" - select GPIOLIB_IRQCHIP + select REGMAP_MMIO select GPIO_IDIO_16 help Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is
drivers/gpio/gpio-pci-idio-16.c +69 -227
330 lines not on this page · raw message
Signature · 1 line
2.39.2
Re: [PATCH v2 5/6] gpio: pci-idio-16: Migrate to the regmap API
Quoted 10 lines · William Breathitt Gray
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. Migrate the pci-idio-16 module to the new idio-16 library interface leveraging the gpio-regmap API.
Suggested-by Andy Shevchenko <[email protected]>Reviewed-by Andy Shevchenko <[email protected]>Signed-off-by William Breathitt Gray <[email protected]>---
This doesn't apply as Linus predicted with Linus' series in my for-next tree.
Can you rebase and resend?
Bart
PATCH v2 6/6 gpio: idio-16: Remove unused legacy interface
In reply to William Breathitt GrayAll idio-16 library consumers have migrated to the new interface leveraging the gpio-regmap API. Legacy interface functions and code are removed as no longer needed.
--- drivers/gpio/gpio-idio-16.c | 131 +----------------------------------- drivers/gpio/gpio-idio-16.h | 66 ------------------ 2 files changed, 1 insertion(+), 196 deletions(-)
drivers/gpio/gpio-idio-16.c +1 -130
@@ -3,15 +3,13 @@* GPIO library for the ACCES IDIO-16 family * Copyright (C) 2022 William Breathitt Gray */ -#include <linux/bitmap.h> +#include <linux/bits.h> #include <linux/device.h> #include <linux/err.h> #include <linux/export.h> #include <linux/gpio/regmap.h> -#include <linux/io.h> #include <linux/module.h> #include <linux/regmap.h> -#include <linux/spinlock.h> #include <linux/types.h> #include "gpio-idio-16.h"
@@ -172,133 +170,6 @@ int devm_idio_16_regmap_register(struct device *const dev, }EXPORT_SYMBOL_GPL (devm_idio_16_regmap_register); -/** -* idio_16_get - get signal value at signal offset -* @reg: ACCES IDIO-16 device registers -* @state: ACCES IDIO-16 device state -* @offset: offset of signal to get -* -* Returns the signal value (0=low, 1=high) for the signal at @offset. -*/ -int idio_16_get (struct idio_16 __iomem *const reg, -struct idio_16_state *const state,const unsigned long offset) -{ -const unsigned long mask =BIT (offset); - -if (offset <IDIO_16_NOUT ) -return test_bit (offset, state->out_state); - -if (offset <24 ) -return !!(ioread8 (®->in0_7) & (mask >>IDIO_16_NOUT )); - -if (offset <32 ) -return !!(ioread8 (®->in8_15) & (mask >>24 )); - -return -EINVAL ; -} -EXPORT_SYMBOL_GPL (idio_16_get); - -/** -* idio_16_get_multiple - get multiple signal values at multiple signal offsets -* @reg: ACCES IDIO-16 device registers -* @state: ACCES IDIO-16 device state -* @mask: mask of signals to get -* @bits: bitmap to store signal values -* -* Stores in @bits the values (0=low, 1=high) for the signals defined by @mask. -*/ -void idio_16_get_multiple (struct idio_16 __iomem *const reg, -struct idio_16_state *const state, -const unsigned long *const mask, -unsigned long *const bits) -{ -unsigned long flags; -const unsigned long out_mask =GENMASK (IDIO_16_NOUT -1 ,0 ); - -spin_lock_irqsave (&state->lock, flags); - -bitmap_replace (bits, bits, state->out_state, &out_mask,IDIO_16_NOUT ); -if (*mask &GENMASK (23 ,16 )) -bitmap_set_value8 (bits,ioread8 (®->in0_7),16 ); -if (*mask &GENMASK (31 ,24 )) -bitmap_set_value8 (bits,ioread8 (®->in8_15),24 ); - -spin_unlock_irqrestore (&state->lock, flags); -} -EXPORT_SYMBOL_GPL (idio_16_get_multiple); - -/** -* idio_16_set - set signal value at signal offset -* @reg: ACCES IDIO-16 device registers -* @state: ACCES IDIO-16 device state -* @offset: offset of signal to set -* @value: value of signal to set -* -* Assigns output @value for the signal at @offset. -*/ -void idio_16_set (struct idio_16 __iomem *const reg, -struct idio_16_state *const state,const unsigned long offset, -const unsigned long value) -{ -unsigned long flags; - -if (offset >=IDIO_16_NOUT ) -return ; - -spin_lock_irqsave (&state->lock, flags); - -__assign_bit (offset, state->out_state, value); -if (offset <8 ) -iowrite8 (bitmap_get_value8 (state->out_state,0 ), ®->out0_7); -else -iowrite8 (bitmap_get_value8 (state->out_state,8 ), ®->out8_15); - -spin_unlock_irqrestore (&state->lock, flags); -} -EXPORT_SYMBOL_GPL (idio_16_set); - -/** -* idio_16_set_multiple - set signal values at multiple signal offsets -* @reg: ACCES IDIO-16 device registers -* @state: ACCES IDIO-16 device state -* @mask: mask of signals to set -* @bits: bitmap of signal output values -* -* Assigns output values defined by @bits for the signals defined by @mask. -*/ -void idio_16_set_multiple (struct idio_16 __iomem *const reg, -struct idio_16_state *const state, -const unsigned long *const mask, -const unsigned long *const bits) -{ -unsigned long flags; - -spin_lock_irqsave (&state->lock, flags); - -bitmap_replace (state->out_state, state->out_state, bits, mask, -IDIO_16_NOUT ); -if (*mask &GENMASK (7 ,0 )) -iowrite8 (bitmap_get_value8 (state->out_state,0 ), ®->out0_7); -if (*mask &GENMASK (15 ,8 )) -iowrite8 (bitmap_get_value8 (state->out_state,8 ), ®->out8_15); - -spin_unlock_irqrestore (&state->lock, flags); -} -EXPORT_SYMBOL_GPL (idio_16_set_multiple); - -/** -* idio_16_state_init - initialize idio_16_state structure -* @state: ACCES IDIO-16 device state -* -* Initializes the ACCES IDIO-16 device @state for use in idio-16 library -* functions. -*/ -void idio_16_state_init (struct idio_16_state *const state) -{ -spin_lock_init (&state->lock); -} -EXPORT_SYMBOL_GPL (idio_16_state_init); -MODULE_AUTHOR ("William Breathitt Gray" );MODULE_DESCRIPTION ("ACCES IDIO-16 GPIO Library" );MODULE_LICENSE ("GPL" );
drivers/gpio/gpio-idio-16.h +0 -66
78 lines not on this page · raw message
Signature · 1 line
2.39.2
Mark Brown
maintainerRe: (subset) [PATCH v2 0/6] Migrate IDIO-16 GPIO drivers to regmap API
In reply to William Breathitt GrayQuoted 8 lines · William Breathitt Gray
Changes in v2:
- Utilizememset32()to setstatus_bufforno_statuscase
- UtilizeGENMASK()to generatestatus_bufmask
- Moveno_statuskernel doc line underruntime_pmline
- Add comma to end ofidio_16_namesinitialization list
- Setio_portto true inidio_16_regmap_config[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git for-next
Thanks!
[1/6] regmap-irq: Add no_status support
commit: 4d60cac951fd2dfbf261b83abb805748abc8b995
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
On Mon, Feb 27, 2023 at 5:54 PM William Breathitt Gray <[email protected]> wrote:
This looks good to me.
Bartosz, of you merge this you can drop the corresponding patches to immutable irqchip conversion for these chips that I will be posting shortly (currently on the build servers).
Yours,
Linus Walleij
Quoted 5 lines · Linus Walleij
On Mon, Feb 27, 2023 at 5:54 PM William Breathitt Gray <[email protected]> wrote:
This looks good to me.
Quoted 8 lines
Reviewed-by Linus Walleij <[email protected]>Bartosz, of you merge this you can drop the corresponding patches to immutable irqchip conversion for these chips that I will be posting shortly (currently on the build servers).
Yours,
Linus Walleij
Mark, can you provide me with an immutable tag for the regmap tree containing commit 1/6 from this series, please?
Bartosz
Quoted 12 lines · Bartosz Golaszewski
Quoted 11 lines · Linus Walleij
On Mon, Feb 27, 2023 at 5:54 PM William Breathitt Gray <[email protected]> wrote:
This looks good to me.
Reviewed-by Linus Walleij <[email protected]>Bartosz, of you merge this you can drop the corresponding patches to immutable irqchip conversion for these chips that I will be posting shortly (currently on the build servers).
Quoted 5 lines
Quoted 2 lines
Yours,
Linus WalleijMark, can you provide me with an immutable tag for the regmap tree containing commit 1/6 from this series, please?
I think there will be a conflict with the immutable irq_chip patches that are merged, but maybe the conflict isn't that bad so you can resolve it while applying.
Yours,
Linus Walleij