On Wednesday 27 February 2013 07:51 PM, Graeme Gregory wrote:
On 27/02/13 14:08, Laxman Dewangan wrote:
If driver is getting registered through DT then it look for
population of platform data which is not possible if platform
completely support the DT.
No it doesnt!
In this case, if device is registered through DT then just ignore
platform data population and continue the further registration.
Signed-off-by: Laxman Dewangan <ldewan...@nvidia.com>
---
  drivers/mfd/palmas.c |   21 +++++++++------------
  1 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
index 25f0eab..6771d9b 100644
--- a/drivers/mfd/palmas.c
+++ b/drivers/mfd/palmas.c
@@ -465,18 +465,6 @@ static int palmas_i2c_probe(struct i2c_client *i2c,
        if (ret)
                goto err_irq;
- /*
-        * If we are probing with DT do this the DT way and return here
-        * otherwise continue and add devices using mfd helpers.
-        */
-       if (node) {
-               ret = of_platform_populate(node, NULL, NULL, &i2c->dev);
-               if (ret < 0)
-                       goto err_irq;
-               else
-                       return ret;
-       }
-
At this point we exit the function and do nothing with the platform data
which should work on wholy DT systems. I have tested it!


I think then dt files are different in this case. I did not saw the documentation of dt file.
But following is my entry in dts file which we follow for other devices:

        i2c@7000d000 {
                status = "okay";
                clock-frequency = <100000>;

  ::::::::::::::
                tps65913@58 {
                        compatible = "ti,palmas";
                        reg = <0x58>;
                        interrupts = <0 86 0x4>;

                        #interrupt-cells = <2>;
                        interrupt-controller;

                        #gpio-cells = <2>;
                        gpio-controller;

                        regulators {
                                smps12 {
                                        regulator-name = "palmas-smps12";
regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>;
                                        regulator-always-on;
                                        regulator-boot-on;
                                };

                                smps3 {
                                        regulator-name = "palmas-smps3";
regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
                                        regulator-boot-on;
                                };
:::::::::::::::
                    };
            };
    };


In the above DT file, it does not work.


--
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