Re: [PATCH 2/5] dmaengine: Add STM32 DMAMUX driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 05/01/2017 08:03 AM, Vinod Koul wrote:
> On Wed, Apr 26, 2017 at 09:17:37AM +0000, Pierre Yves MORDRET wrote:
>>>> +
>>>> +	ret = of_property_read_u32(node, "dma-channels",
>>>> +				   &dmamux->dmamux_channels);
>>>
>>> can we have property_xxx calls alone, that way driver is not strictly
>>> dependent on of
>>
>> Can you please explain what you are asking for ? Not sure to understand
>> correctly.
>
> Use device_property_read_u32() which is a generic property API.

OK Will be done in V2

>
>
>>>> +static int __init stm32_dmamux_init(void)
>>>> +{
>>>> +	return platform_driver_register(&stm32_dmamux_driver);
>>>> +}
>>>> +arch_initcall(stm32_dmamux_init);
>>>
>>> why not module init, wouldnt defer probe solve the dependencies
>>>
>>
>> The reason behind many devices (device_initcall level) rely on DMAs. If
>> init is deferred DMAMUX driver will be probed twice if dependents rely
>> on it. This sounds not a good call. This explains arch_initcall level.
>
> Why not deferred probe was introduced to help with dependencies...
>

Most DMAs devices are already in subsys_initcall to avoid multiple 
useless probe when clients are deferred. This DMAMUx is itself on top of 
DMAs.
DMAMUX ---> DMA#1 ---> Device Client #1
        |          |--> Device Client #2
        |               [...]
        |          |--> Device Client #N
        |    [...]
        |--> DMA#N ---> Device Client #1
                   |--> Device Client #2
                        [...]
                   |--> Device Client #N
arch_initcall might a good call in this case for DMAMUX.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux