>>>> +
>>>> +  res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_wkup");
>>>> +  phy->phy_wkup = ioremap(res->start, resource_size(res));

>>> devm_ioremap?

>> The phy_wakeup register is common across two instances of phy, 
>> devm_ioremap_resource() will fail to map for twice for same register space.

>   I've already told you the register can't be shared between devices like 
> this.
>  BTW, you haven't replied to my request concerning your /proc/iomem 
> contents... 

I have missed that specific mail. The /proc/iomem does show this common 
register. As you suggest to create a third device for this shared register? I 
agree it can be done. 
Initially I thought this should be part of control module, but do we have 
control module frame work for every SoC(am335x)?
Every SoC has many such shared register to handle control/status logic for Soc 
specific IP(s)? 
If we create separate device node for each such registers, this will end up in 
adding more files to kernel. 

We should create single control module node for each SoC,

        cm: control_module@44e10000 {
                        compatible = "ti,dsps-usbphy";
                        reg = 0x44e10648 0x4
                     
                               0x44e10XXX 0x4
                    ....>
                        reg-names = "phy_wkup", "mmc_control", <xxxreg_ctrl>, 
<xxxreg_status>;
                        id = <0>;
                };
Have common control module APIs to control these registers, can be used by 
other driver modules. 

--
Ravi B
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to