Re: [PATCH v4 5/8] MFD: ti_am335x_tscadc: Add DT support
On Wed, 2013-02-06 at 11:17 +, Patil, Rachna wrote: Can you share the branch which you have tested? https://github.com/patilrachna/linux/tree/v3.8_rc3_MFD_TSCADC_DT-v2 Did you get a chance to test this branch? And can you also share your branch, on which you observed the issue. Rachana, I have not seen a new version of this patch since January. Are you still working on the TSCADC? If not, where can I find the most recent version? Regards, Jan -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v4 5/8] MFD: ti_am335x_tscadc: Add DT support
Hi Koen, SNIP Since AM335x is DT only, why is there a platform data codepath and why is it the first branch it tries? And I guess the next question is related to the first: why doesn't it work when used with DT? When I copy over the nodes from the evm.dts to my board I get tsc tsc: Missing platform data in dmesg. This IP came up 1st on AM335x, but it is not platform dependent. The driver can be used on other platforms where-in DT is not supported. According to the maintainers platform data takes precedence over DT. Hence the order. Rachana, I see no point adding support for platform_data when you know that none of older platforms are going to use this driver and all future platforms _must_ follow device-tree model. So I agree that you should remove board file dependency from the driver. Ok. I will remove support for platform data in the next version of patches. I do not see Missing platform data error msg in the latest driver. I am not able to trace from where this got populated. Can you share the branch which you have tested? https://github.com/patilrachna/linux/tree/v3.8_rc3_MFD_TSCADC_DT-v2 Did you get a chance to test this branch? And can you also share your branch, on which you observed the issue. Regards, Rachna -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v4 5/8] MFD: ti_am335x_tscadc: Add DT support
Vaibhav, SNIP - if (!pdata) { + if (!pdata !pdev-dev.of_node) { dev_err(pdev-dev, Could not find platform data\n); return -EINVAL; } - if (pdata-adc_init) - adc_channels = pdata-adc_init-adc_channels; + if (pdev-dev.platform_data) { + if (pdata-tsc_init) + tsc_wires = pdata-tsc_init-wires; + + if (pdata-adc_init) + adc_channels = pdata-adc_init-adc_channels; + } else { + node = of_find_node_by_name(pdev-dev.of_node, tsc); + of_property_read_u32(node, ti,wires, tsc_wires); + + node = of_find_node_by_name(pdev-dev.of_node, adc); + of_property_read_u32(node, ti,adc-channels, adc_channels); + } Since AM335x is DT only, why is there a platform data codepath and why is it the first branch it tries? And I guess the next question is related to the first: why doesn't it work when used with DT? When I copy over the nodes from the evm.dts to my board I get tsc tsc: Missing platform data in dmesg. This IP came up 1st on AM335x, but it is not platform dependent. The driver can be used on other platforms where-in DT is not supported. According to the maintainers platform data takes precedence over DT. Hence the order. Rachana, I see no point adding support for platform_data when you know that none of older platforms are going to use this driver and all future platforms _must_ follow device-tree model. So I agree that you should remove board file dependency from the driver. Ok. I will remove support for platform data in the next version of patches. I do not see Missing platform data error msg in the latest driver. I am not able to trace from where this got populated. Can you share the branch which you have tested? https://github.com/patilrachna/linux/tree/v3.8_rc3_MFD_TSCADC_DT-v2 Regards, Rachna -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v4 5/8] MFD: ti_am335x_tscadc: Add DT support
Op 24 jan. 2013, om 04:45 heeft Patil, Rachna rac...@ti.com het volgende geschreven: From: Patil, Rachna rac...@ti.com Make changes to add DT support in the MFD core driver. Signed-off-by: Patil, Rachna rac...@ti.com --- Changes in v4: Non-standard properties prefixed with vendor name. drivers/mfd/ti_am335x_tscadc.c | 28 +++- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c index e9f3fb5..87b446b 100644 --- a/drivers/mfd/ti_am335x_tscadc.c +++ b/drivers/mfd/ti_am335x_tscadc.c @@ -22,6 +22,8 @@ #include linux/regmap.h #include linux/mfd/core.h #include linux/pm_runtime.h +#include linux/of.h +#include linux/of_device.h #include linux/mfd/ti_am335x_tscadc.h #include linux/input/ti_am335x_tsc.h @@ -64,20 +66,31 @@ staticint ti_tscadc_probe(struct platform_device *pdev) struct resource *res; struct clk *clk; struct mfd_tscadc_board *pdata = pdev-dev.platform_data; + struct device_node *node = pdev-dev.of_node; struct mfd_cell *cell; int err, ctrl; int clk_value, clock_rate; - int tsc_wires, adc_channels = 0, total_channels; + int tsc_wires = 0, adc_channels = 0, total_channels; - if (!pdata) { + if (!pdata !pdev-dev.of_node) { dev_err(pdev-dev, Could not find platform data\n); return -EINVAL; } - if (pdata-adc_init) - adc_channels = pdata-adc_init-adc_channels; + if (pdev-dev.platform_data) { + if (pdata-tsc_init) + tsc_wires = pdata-tsc_init-wires; + + if (pdata-adc_init) + adc_channels = pdata-adc_init-adc_channels; + } else { + node = of_find_node_by_name(pdev-dev.of_node, tsc); + of_property_read_u32(node, ti,wires, tsc_wires); + + node = of_find_node_by_name(pdev-dev.of_node, adc); + of_property_read_u32(node, ti,adc-channels, adc_channels); + } Since AM335x is DT only, why is there a platform data codepath and why is it the first branch it tries? And I guess the next question is related to the first: why doesn't it work when used with DT? When I copy over the nodes from the evm.dts to my board I get tsc tsc: Missing platform data in dmesg. What are the chances this driver will work when applied on top of 3.8-rcX? Has it even been tested with that? Has it been tested at all? -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v4 5/8] MFD: ti_am335x_tscadc: Add DT support
On Wed, Jan 30, 2013 at 16:10:09, Koen Kooi wrote: Op 24 jan. 2013, om 04:45 heeft Patil, Rachna rac...@ti.com het volgende geschreven: From: Patil, Rachna rac...@ti.com Make changes to add DT support in the MFD core driver. Signed-off-by: Patil, Rachna rac...@ti.com --- Changes in v4: Non-standard properties prefixed with vendor name. drivers/mfd/ti_am335x_tscadc.c | 28 +++- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c index e9f3fb5..87b446b 100644 --- a/drivers/mfd/ti_am335x_tscadc.c +++ b/drivers/mfd/ti_am335x_tscadc.c @@ -22,6 +22,8 @@ #include linux/regmap.h #include linux/mfd/core.h #include linux/pm_runtime.h +#include linux/of.h +#include linux/of_device.h #include linux/mfd/ti_am335x_tscadc.h #include linux/input/ti_am335x_tsc.h @@ -64,20 +66,31 @@ static int ti_tscadc_probe(struct platform_device *pdev) struct resource *res; struct clk *clk; struct mfd_tscadc_board *pdata = pdev-dev.platform_data; + struct device_node *node = pdev-dev.of_node; struct mfd_cell *cell; int err, ctrl; int clk_value, clock_rate; - int tsc_wires, adc_channels = 0, total_channels; + int tsc_wires = 0, adc_channels = 0, total_channels; - if (!pdata) { + if (!pdata !pdev-dev.of_node) { dev_err(pdev-dev, Could not find platform data\n); return -EINVAL; } - if (pdata-adc_init) - adc_channels = pdata-adc_init-adc_channels; + if (pdev-dev.platform_data) { + if (pdata-tsc_init) + tsc_wires = pdata-tsc_init-wires; + + if (pdata-adc_init) + adc_channels = pdata-adc_init-adc_channels; + } else { + node = of_find_node_by_name(pdev-dev.of_node, tsc); + of_property_read_u32(node, ti,wires, tsc_wires); + + node = of_find_node_by_name(pdev-dev.of_node, adc); + of_property_read_u32(node, ti,adc-channels, adc_channels); + } Since AM335x is DT only, why is there a platform data codepath and why is it the first branch it tries? And I guess the next question is related to the first: why doesn't it work when used with DT? When I copy over the nodes from the evm.dts to my board I get tsc tsc: Missing platform data in dmesg. This IP came up 1st on AM335x, but it is not platform dependent. The driver can be used on other platforms where-in DT is not supported. According to the maintainers platform data takes precedence over DT. Hence the order. I do not see Missing platform data error msg in the latest driver. I am not able to trace from where this got populated. What are the chances this driver will work when applied on top of 3.8-rcX? Has it even been tested with that? Has it been tested at all? This driver has been tested on top of v3.8-rc3 on a AM335x EVM. Regards, Rachna -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v4 5/8] MFD: ti_am335x_tscadc: Add DT support
On Thu, Jan 31, 2013 at 09:41:11, Patil, Rachna wrote: On Wed, Jan 30, 2013 at 16:10:09, Koen Kooi wrote: Op 24 jan. 2013, om 04:45 heeft Patil, Rachna rac...@ti.com het volgende geschreven: From: Patil, Rachna rac...@ti.com Make changes to add DT support in the MFD core driver. Signed-off-by: Patil, Rachna rac...@ti.com --- Changes in v4: Non-standard properties prefixed with vendor name. drivers/mfd/ti_am335x_tscadc.c | 28 +++- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c index e9f3fb5..87b446b 100644 --- a/drivers/mfd/ti_am335x_tscadc.c +++ b/drivers/mfd/ti_am335x_tscadc.c @@ -22,6 +22,8 @@ #include linux/regmap.h #include linux/mfd/core.h #include linux/pm_runtime.h +#include linux/of.h +#include linux/of_device.h #include linux/mfd/ti_am335x_tscadc.h #include linux/input/ti_am335x_tsc.h @@ -64,20 +66,31 @@ staticint ti_tscadc_probe(struct platform_device *pdev) struct resource *res; struct clk *clk; struct mfd_tscadc_board *pdata = pdev-dev.platform_data; + struct device_node *node = pdev-dev.of_node; struct mfd_cell *cell; int err, ctrl; int clk_value, clock_rate; - int tsc_wires, adc_channels = 0, total_channels; + int tsc_wires = 0, adc_channels = 0, total_channels; - if (!pdata) { + if (!pdata !pdev-dev.of_node) { dev_err(pdev-dev, Could not find platform data\n); return -EINVAL; } - if (pdata-adc_init) - adc_channels = pdata-adc_init-adc_channels; + if (pdev-dev.platform_data) { + if (pdata-tsc_init) + tsc_wires = pdata-tsc_init-wires; + + if (pdata-adc_init) + adc_channels = pdata-adc_init-adc_channels; + } else { + node = of_find_node_by_name(pdev-dev.of_node, tsc); + of_property_read_u32(node, ti,wires, tsc_wires); + + node = of_find_node_by_name(pdev-dev.of_node, adc); + of_property_read_u32(node, ti,adc-channels, adc_channels); + } Since AM335x is DT only, why is there a platform data codepath and why is it the first branch it tries? And I guess the next question is related to the first: why doesn't it work when used with DT? When I copy over the nodes from the evm.dts to my board I get tsc tsc: Missing platform data in dmesg. This IP came up 1st on AM335x, but it is not platform dependent. The driver can be used on other platforms where-in DT is not supported. According to the maintainers platform data takes precedence over DT. Hence the order. Rachana, I see no point adding support for platform_data when you know that none of older platforms are going to use this driver and all future platforms _must_ follow device-tree model. So I agree that you should remove board file dependency from the driver. I do not see Missing platform data error msg in the latest driver. I am not able to trace from where this got populated. Can you share the branch which you have tested? Thanks, Vaibhav What are the chances this driver will work when applied on top of 3.8-rcX? Has it even been tested with that? Has it been tested at all? This driver has been tested on top of v3.8-rc3 on a AM335x EVM. Regards, Rachna ___ devicetree-discuss mailing list devicetree-disc...@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html