On 2016/4/8 16:09, Marc Zyngier wrote:
> On Fri, 8 Apr 2016 15:16:02 +0800
> Kefeng Wang <[email protected]> wrote:
> 
>> Add message of MBIGEN domain created, it's useful for check
>> which MBIGEN domain is created.
>>
>> Meanwhile, drop module owner, it will be set by driver core.
>>
>> Signed-off-by: Kefeng Wang <[email protected]>
>> ---
>>  drivers/irqchip/irq-mbigen.c | 15 ++++++++++++---
>>  1 file changed, 12 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/irqchip/irq-mbigen.c b/drivers/irqchip/irq-mbigen.c
>> index d67baa2..a4dc7a0 100644
>> --- a/drivers/irqchip/irq-mbigen.c
>> +++ b/drivers/irqchip/irq-mbigen.c
>> @@ -257,14 +257,19 @@ static int mbigen_device_probe(struct platform_device 
>> *pdev)
>>      if (IS_ERR(mgn_chip->base))
>>              return PTR_ERR(mgn_chip->base);
>>  
>> +    dev_info(&pdev->dev, "%s\n", pdev->dev.of_node->full_name);
>> +
> 
> How is that a useful information?
> 
>>      for_each_child_of_node(pdev->dev.of_node, np) {
>>              if (!of_property_read_bool(np, "interrupt-controller"))
>>                      continue;
>>  
>>              parent = platform_bus_type.dev_root;
>>              child = of_platform_device_create(np, NULL, parent);
>> -            if (IS_ERR(child))
>> +            if (IS_ERR(child)) {
>> +                    dev_err(&pdev->dev, "failed to create for %s\n",
> 
> Failed to create what?
> 
>> +                            np->full_name);
>>                      return PTR_ERR(child);
>> +            }
>>  
>>              if (of_property_read_u32(child->dev.of_node, "num-pins",
>>                                       &num_pins) < 0) {
>> @@ -276,8 +281,13 @@ static int mbigen_device_probe(struct platform_device 
>> *pdev)
>>                                                         mbigen_write_msg,
>>                                                         &mbigen_domain_ops,
>>                                                         mgn_chip);
>> -            if (!domain)
>> +            if (!domain) {
>> +                    dev_info(&pdev->dev, "unable to create %s domain\n",
>> +                             np->full_name);
> 
> And what about failure to read num_pin? No need for a debug print in
> this case?
> 
>>                      return -ENOMEM;
>> +            }
>> +
>> +            dev_info(&pdev->dev, "%s domain created\n", np->full_name);
>>      }
>>  
>>      platform_set_drvdata(pdev, mgn_chip);
>> @@ -293,7 +303,6 @@ MODULE_DEVICE_TABLE(of, mbigen_of_match);
>>  static struct platform_driver mbigen_platform_driver = {
>>      .driver = {
>>              .name           = "Hisilicon MBIGEN-V2",
>> -            .owner          = THIS_MODULE,
>>              .of_match_table = mbigen_of_match,
>>      },
>>      .probe                  = mbigen_device_probe,
> 
> 
> Overall, this doesn't look like a critical patch to me. I think Ma Jun
> is working on separate series reworking the way the mgigen is getting
> probed, so I'd advise you to work with him in order to integrate this
> patch in his series, as it would make a lot more sense.

When try to enable hip06 d03 board[1], we met following error log, so I add
some debug message. The mbigen driver use module_platform_driver, the driver
initialization is too late, and it is without any message,  we don't know
about any info of mbigen.  I think we should show something about the mbigen
domain creation at least. What's your option?

Is there a way to solve this improper print?
-----------
[    1.345945] irq: no irq domain found for /mbigen_pcie@a0080000/intc_usb !
[    1.353660] irq: no irq domain found for /mbigen_pcie@a0080000/intc_usb !


[1] http://www.spinics.net/lists/arm-kernel/msg495732.html

Thanks
Kefeng


> 
> Thanks,
> 
>       M.
> 

Reply via email to