Re: [PATCH v3 1/6] soundwire: bus: Allow SoundWire peripherals to register IRQ handlers

From: andy . shevchenko
Date: Thu Jun 15 2023 - 18:15:26 EST


Mon, Jun 05, 2023 at 01:54:59PM +0100, Charles Keepax kirjoitti:
> From: Lucas Tanure <tanureal@xxxxxxxxxxxxxxxxxxxxx>
>
> Currently the in-band alerts for SoundWire peripherals can only
> be communicated to the driver through the interrupt_callback
> function. This however is slightly inconvient for devices that wish to
> share IRQ handling code between SoundWire and I2C/SPI, the later would
> normally register an IRQ handler with the IRQ subsystem. However there
> is no reason the SoundWire in-band IRQs can not also be communicated
> as an actual IRQ to the driver.
>
> Add support for SoundWire peripherals to register a normal IRQ handler
> to receive SoundWire in-band alerts, allowing code to be shared across
> control buses. Note that we allow users to use both the
> interrupt_callback and the IRQ handler, this is useful for devices which
> must clear additional chip specific SoundWire registers that are not a
> part of the normal IRQ flow, or the SoundWire specification.

...

> + bus->irq_chip.name = dev_name(bus->dev);
> + bus->domain = irq_domain_add_linear(NULL, SDW_MAX_DEVICES, &sdw_domain_ops, bus);

I'm wondering why you are not using existing fwnode, if any
(e.g. from parent device).

> + if (!bus->domain) {
> + dev_err(bus->dev, "Failed to add IRQ domain\n");
> + return -EINVAL;
> + }

--
With Best Regards,
Andy Shevchenko