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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.