[PATCH v5 05/20] Input: axp20x-pek: Bail out if AXP has no interrupt line connected

Mark Brown broonie at kernel.org
Thu Jan 28 06:36:01 EST 2021


On Thu, Jan 28, 2021 at 11:11:28AM +0000, Andre Przywara wrote:
> Dmitry Torokhov <dmitry.torokhov at gmail.com> wrote:
> > On Wed, Jan 27, 2021 at 05:24:45PM +0000, Andre Przywara wrote:

> > > Check for the regmap_irqc member to be not NULL before proceeding with
> > > probe. This gets normally filled by the call to regmap_add_irq_chip(),
> > > which we allow to skip now, when the DT node lacks an interrupt
> > > property.  

It sounds like you're trying to register an IRQ chip with a somehow
bogus configuration?

> > No, the driver is not the right place to patch this; regmap should be
> > fixed so it does not crash instead.

> I am not sure this is the right approach, those regmap functions look
> more like an internal interface to me, with lots of wrapper functions
> happily dereferencing pointers and reaching into structs. Moving
> NULL checks into those does not sound like the right thing. CC:ing Mark
> for more opinions on this.

Without having seen the actual issue if you're trying to register an
interrupt controller with a known broken hardware configuration that
does seem like something the caller just shouldn't be doing, it's not
something that's going to transiently happen at runtime and we're very
much trusting that the caller got things right.

> A more general solution would be to not instantiate this driver here
> at all, when we don't have an interrupt line.
> However at the moment the AXP MFD driver uses a const struct to hold
> all MFD cells, so there is no easy way of omitting the power key
> device dynamically. And even then it would hard code the requirement
> for an interrupt into the MFD driver, when this could be considered an
> implementation detail of the axp20x-pek driver.

Another approach is to just register the optional device separately.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210128/db5f3a08/attachment.sig>


More information about the linux-arm-kernel mailing list