Re: [PATCH 3/4] soundwire: bus_type: Create IRQ mapping before calling driver probe()
Vinod Koul <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.linux.kernel |
|---|---|
| Message-ID | <anqwMUVn4VnbaI6S@vaman> |
On 10-08-26, 11:40, Richard Fitzgerald wrote: > Call sdw_irq_create_mapping() before calling the peripheral driver > probe() so that it is possible to request the IRQ during probe(). > > Previously creation of the mapping was conditional on the use_domain_irq > flag in the driver properties. But these are filled in after probe(), > which meant it wasn't possible to request the IRQ during probe(). This > was ok for MFD drivers where only children requested the IRQ. But for > normal drivers it led to the non-standard behavior of having to defer > requesting the IRQ until after probe(). Shouldnt that still be the case (conditionally creating mapping). Does every need this mapping? > > Signed-off-by: Richard Fitzgerald <[email protected]> > --- > drivers/soundwire/bus_type.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c > index e73c1bea90593..d61a97c5b41ef 100644 > --- a/drivers/soundwire/bus_type.c > +++ b/drivers/soundwire/bus_type.c > @@ -105,6 +105,9 @@ static int sdw_bus_probe(struct device *dev) > } > slave->index = ret; > > + /* Create IRQ mapping now so the driver can get it in probe() */ > + sdw_irq_create_mapping(slave); > + > ret = drv->probe(slave, id); > if (ret) { > ida_free(&slave->bus->slave_ida, slave->index); > @@ -117,9 +120,6 @@ static int sdw_bus_probe(struct device *dev) > if (drv->ops && drv->ops->read_prop) > drv->ops->read_prop(slave); > > - if (slave->prop.use_domain_irq) > - sdw_irq_create_mapping(slave); > - > /* init the dynamic sysfs attributes we need */ > ret = sdw_slave_sysfs_dpn_init(slave); > if (ret < 0) > -- > 2.47.3 -- ~Vinod