* [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
@ 2012-08-02 11:02 AnilKumar Ch
2012-08-02 11:02 ` [PATCH v3 1/3] can: c_can: Add device tree support to Bosch " AnilKumar Ch
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: AnilKumar Ch @ 2012-08-02 11:02 UTC (permalink / raw)
To: wg, mkl, linux-can
Cc: devicetree-discuss, grant.likely, anantgole, nsekhar,
AnilKumar Ch
This patch series adds the device tree support and Runtime PM support
to C_CAN/D_CAN controller.
These patches have been tested on AM335x EVM using some additional
patches to add device tree data to EVM dts files and to initialize
D_CAN RAM. D_CAN raminit is controlled from control module register.
This patch will be submitted once control module MFD driver support
is added.
These patches are based on linx-can-next tree.
Due to lack of hardware I am not able to test c_can functionality.
I appreciate if anyone can test c_can functionality with this patch
series.
Changes from v2:
- Incorporated Marcs on v2
* Fix compilation errors in pci due to device name changes
in v2 by adding new patch.
Changes from v1:
- Separated 4 patches into CAN driver specific and device
tree data addition specific.
- Incorporated Marc's comments on v1
* Modified c_can_dev_id enum to handle both devtype and
platform device id index.
* Removed "legacy bosch,c_can_platform" from DT bindings
AnilKumar Ch (3):
can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
can: c_can: Modify c_can device names in c_can_pci driver
can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller
.../devicetree/bindings/net/can/c_can.txt | 37 +++++++++++
drivers/net/can/c_can/c_can.h | 5 +-
drivers/net/can/c_can/c_can_pci.c | 6 +-
drivers/net/can/c_can/c_can_platform.c | 65 +++++++++++++++-----
4 files changed, 91 insertions(+), 22 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/can/c_can.txt
--
1.7.9.5
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/3] can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
2012-08-02 11:02 [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller AnilKumar Ch
@ 2012-08-02 11:02 ` AnilKumar Ch
2012-08-02 11:33 ` Arnd Bergmann
[not found] ` <1343905339-4642-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: AnilKumar Ch @ 2012-08-02 11:02 UTC (permalink / raw)
To: wg, mkl, linux-can
Cc: devicetree-discuss, grant.likely, anantgole, nsekhar,
AnilKumar Ch
Add device tree support to C_CAN/D_CAN controller and usage details
are added to device tree documentation. Driver was tested on AM335x
EVM.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
---
.../devicetree/bindings/net/can/c_can.txt | 37 +++++++++++++
drivers/net/can/c_can/c_can.h | 5 +-
drivers/net/can/c_can/c_can_platform.c | 57 ++++++++++++++------
3 files changed, 80 insertions(+), 19 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/can/c_can.txt
diff --git a/Documentation/devicetree/bindings/net/can/c_can.txt b/Documentation/devicetree/bindings/net/can/c_can.txt
new file mode 100644
index 0000000..dc4aec5
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/c_can.txt
@@ -0,0 +1,37 @@
+Bosch C_CAN/D_CAN controller Device Tree Bindings
+-------------------------------------------------
+
+Required properties:
+- compatible : Should be "bosch,c_can" for C_CAN controllers and
+ "bosch,d_can" for D_CAN controllers.
+- reg : physical base address and size of the C_CAN/D_CAN
+ registers map
+- interrupts : property with a value describing the interrupt
+ number
+- interrupt-parent : The parent interrupt controller
+
+Optional properties:
+- ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the
+ instance number
+
+Note: "ti,hwmods" field is used to fetch the base address and irq
+resources from TI, omap hwmod data base during device registration.
+Future plan is to migrate hwmod data base contents into device tree
+blob so that, all the required data will be used from device tree dts
+file.
+
+Examples:
+
+ d_can@481D0000 {
+ compatible = "bosch,d_can";
+ reg = <0x481D0000 0x1000>;
+ interrupts = <55 0x4>;
+ interrupt-parent = <&intc>;
+ };
+
+(or)
+
+ d_can@481D0000 {
+ compatible = "bosch,d_can";
+ ti,hwmods = "d_can1";
+ };
diff --git a/drivers/net/can/c_can/c_can.h b/drivers/net/can/c_can/c_can.h
index 01a7049..4e56baa 100644
--- a/drivers/net/can/c_can/c_can.h
+++ b/drivers/net/can/c_can/c_can.h
@@ -143,8 +143,9 @@ static const u16 reg_map_d_can[] = {
};
enum c_can_dev_id {
- C_CAN_DEVTYPE,
- D_CAN_DEVTYPE,
+ BOSCH_C_CAN_PLATFORM,
+ BOSCH_C_CAN,
+ BOSCH_D_CAN,
};
/* c_can private data structure */
diff --git a/drivers/net/can/c_can/c_can_platform.c b/drivers/net/can/c_can/c_can_platform.c
index 6ff7ad0..d0a66cf 100644
--- a/drivers/net/can/c_can/c_can_platform.c
+++ b/drivers/net/can/c_can/c_can_platform.c
@@ -30,6 +30,8 @@
#include <linux/io.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/can/dev.h>
@@ -65,17 +67,52 @@ static void c_can_plat_write_reg_aligned_to_32bit(struct c_can_priv *priv,
writew(val, priv->base + 2 * priv->regs[index]);
}
+static struct platform_device_id c_can_id_table[] = {
+ [BOSCH_C_CAN_PLATFORM] = {
+ .name = KBUILD_MODNAME,
+ .driver_data = BOSCH_C_CAN,
+ },
+ [BOSCH_C_CAN] = {
+ .name = "c_can",
+ .driver_data = BOSCH_C_CAN,
+ },
+ [BOSCH_D_CAN] = {
+ .name = "d_can",
+ .driver_data = BOSCH_D_CAN,
+ }, {
+ }
+};
+
+static const struct of_device_id c_can_of_table[] = {
+ { .compatible = "bosch,c_can", .data = &c_can_id_table[BOSCH_C_CAN] },
+ { .compatible = "bosch,d_can", .data = &c_can_id_table[BOSCH_D_CAN] },
+ { /* sentinel */ },
+};
+
static int __devinit c_can_plat_probe(struct platform_device *pdev)
{
int ret;
void __iomem *addr;
struct net_device *dev;
struct c_can_priv *priv;
+ const struct of_device_id *match;
const struct platform_device_id *id;
struct resource *mem;
int irq;
struct clk *clk;
+ if (pdev->dev.of_node) {
+ match = of_match_device(c_can_of_table, &pdev->dev);
+ if (!match) {
+ dev_err(&pdev->dev, "Failed to find matching dt id\n");
+ ret = -EINVAL;
+ goto exit;
+ }
+ id = match->data;
+ } else {
+ id = platform_get_device_id(pdev);
+ }
+
/* get the appropriate clk */
clk = clk_get(&pdev->dev, NULL);
if (IS_ERR(clk)) {
@@ -114,9 +151,8 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
}
priv = netdev_priv(dev);
- id = platform_get_device_id(pdev);
switch (id->driver_data) {
- case C_CAN_DEVTYPE:
+ case BOSCH_C_CAN:
priv->regs = reg_map_c_can;
switch (mem->flags & IORESOURCE_MEM_TYPE_MASK) {
case IORESOURCE_MEM_32BIT:
@@ -130,7 +166,7 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
break;
}
break;
- case D_CAN_DEVTYPE:
+ case BOSCH_D_CAN:
priv->regs = reg_map_d_can;
priv->can.ctrlmode_supported |= CAN_CTRLMODE_3_SAMPLES;
priv->read_reg = c_can_plat_read_reg_aligned_to_16bit;
@@ -195,24 +231,11 @@ static int __devexit c_can_plat_remove(struct platform_device *pdev)
return 0;
}
-static const struct platform_device_id c_can_id_table[] = {
- {
- .name = KBUILD_MODNAME,
- .driver_data = C_CAN_DEVTYPE,
- }, {
- .name = "c_can",
- .driver_data = C_CAN_DEVTYPE,
- }, {
- .name = "d_can",
- .driver_data = D_CAN_DEVTYPE,
- }, {
- }
-};
-
static struct platform_driver c_can_plat_driver = {
.driver = {
.name = KBUILD_MODNAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(c_can_of_table),
},
.probe = c_can_plat_probe,
.remove = __devexit_p(c_can_plat_remove),
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 2/3] can: c_can: Modify c_can device names in c_can_pci driver
[not found] ` <1343905339-4642-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
@ 2012-08-02 11:02 ` AnilKumar Ch
0 siblings, 0 replies; 12+ messages in thread
From: AnilKumar Ch @ 2012-08-02 11:02 UTC (permalink / raw)
To: wg-5Yr1BZd7O62+XT7JhA+gdA, mkl-bIcnvbaLZ9MEGnE8C9+IrQ,
linux-can-u79uwXL29TY76Z2rM5mHXA
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, nsekhar-l0cyMroinI0,
anantgole-l0cyMroinI0
Modify c_can device names from *_CAN_DEVTYPE to BOSCH_*_CAN to make
use of same names in platform_device_id struct and of_device_id
struct.
Signed-off-by: AnilKumar Ch <anilkumar-l0cyMroinI0@public.gmane.org>
---
drivers/net/can/c_can/c_can_pci.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/can/c_can/c_can_pci.c b/drivers/net/can/c_can/c_can_pci.c
index 1011146..3d7830b 100644
--- a/drivers/net/can/c_can/c_can_pci.c
+++ b/drivers/net/can/c_can/c_can_pci.c
@@ -120,10 +120,10 @@ static int __devinit c_can_pci_probe(struct pci_dev *pdev,
/* Configure CAN type */
switch (c_can_pci_data->type) {
- case C_CAN_DEVTYPE:
+ case BOSCH_C_CAN:
priv->regs = reg_map_c_can;
break;
- case D_CAN_DEVTYPE:
+ case BOSCH_D_CAN:
priv->regs = reg_map_d_can;
priv->can.ctrlmode_supported |= CAN_CTRLMODE_3_SAMPLES;
break;
@@ -192,7 +192,7 @@ static void __devexit c_can_pci_remove(struct pci_dev *pdev)
}
static struct c_can_pci_data c_can_sta2x11= {
- .type = C_CAN_DEVTYPE,
+ .type = BOSCH_C_CAN,
.reg_align = C_CAN_REG_ALIGN_32,
.freq = 52000000, /* 52 Mhz */
};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 3/3] can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller
2012-08-02 11:02 [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller AnilKumar Ch
2012-08-02 11:02 ` [PATCH v3 1/3] can: c_can: Add device tree support to Bosch " AnilKumar Ch
[not found] ` <1343905339-4642-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
@ 2012-08-02 11:02 ` AnilKumar Ch
2012-08-02 11:13 ` [PATCH v3 0/3] Add DT support to " Marc Kleine-Budde
3 siblings, 0 replies; 12+ messages in thread
From: AnilKumar Ch @ 2012-08-02 11:02 UTC (permalink / raw)
To: wg, mkl, linux-can
Cc: devicetree-discuss, grant.likely, anantgole, nsekhar,
AnilKumar Ch
Add Runtime PM support to C_CAN/D_CAN controller. The runtime PM
APIs control clocks for C_CAN/D_CAN IP and prevent access to the
register of C_CAN/D_CAN IP when clock is turned off.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
---
drivers/net/can/c_can/c_can_platform.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/can/c_can/c_can_platform.c b/drivers/net/can/c_can/c_can_platform.c
index d0a66cf..83a1e17 100644
--- a/drivers/net/can/c_can/c_can_platform.c
+++ b/drivers/net/can/c_can/c_can_platform.c
@@ -32,6 +32,7 @@
#include <linux/clk.h>
#include <linux/of.h>
#include <linux/of_device.h>
+#include <linux/pm_runtime.h>
#include <linux/can/dev.h>
@@ -177,6 +178,9 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
goto exit_free_device;
}
+ pm_runtime_enable(&pdev->dev);
+ pm_runtime_get_sync(&pdev->dev);
+
dev->irq = irq;
priv->base = addr;
priv->can.clock.freq = clk_get_rate(clk);
@@ -198,6 +202,8 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
exit_free_device:
platform_set_drvdata(pdev, NULL);
+ pm_runtime_put_sync(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
free_c_can_dev(dev);
exit_iounmap:
iounmap(addr);
@@ -226,6 +232,8 @@ static int __devexit c_can_plat_remove(struct platform_device *pdev)
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
release_mem_region(mem->start, resource_size(mem));
+ pm_runtime_put_sync(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
clk_put(priv->priv);
return 0;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
2012-08-02 11:02 [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller AnilKumar Ch
` (2 preceding siblings ...)
2012-08-02 11:02 ` [PATCH v3 3/3] can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller AnilKumar Ch
@ 2012-08-02 11:13 ` Marc Kleine-Budde
[not found] ` <501A60C0.1040504-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
3 siblings, 1 reply; 12+ messages in thread
From: Marc Kleine-Budde @ 2012-08-02 11:13 UTC (permalink / raw)
To: AnilKumar Ch
Cc: wg, linux-can, devicetree-discuss, grant.likely, anantgole,
nsekhar
[-- Attachment #1: Type: text/plain, Size: 2248 bytes --]
On 08/02/2012 01:02 PM, AnilKumar Ch wrote:
> This patch series adds the device tree support and Runtime PM support
> to C_CAN/D_CAN controller.
>
> These patches have been tested on AM335x EVM using some additional
> patches to add device tree data to EVM dts files and to initialize
> D_CAN RAM. D_CAN raminit is controlled from control module register.
> This patch will be submitted once control module MFD driver support
> is added.
>
> These patches are based on linx-can-next tree.
>
> Due to lack of hardware I am not able to test c_can functionality.
> I appreciate if anyone can test c_can functionality with this patch
> series.
>
> Changes from v2:
> - Incorporated Marcs on v2
> * Fix compilation errors in pci due to device name changes
> in v2 by adding new patch.
>
> Changes from v1:
> - Separated 4 patches into CAN driver specific and device
> tree data addition specific.
> - Incorporated Marc's comments on v1
> * Modified c_can_dev_id enum to handle both devtype and
> platform device id index.
> * Removed "legacy bosch,c_can_platform" from DT bindings
>
> AnilKumar Ch (3):
> can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
> can: c_can: Modify c_can device names in c_can_pci driver
You break bisectability here. After patch 1 the pci driver will not
compile anymore. I suggest to do the renaming of enum c_can_dev_id and
all it's users in patch 1.
Marc
> can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller
>
> .../devicetree/bindings/net/can/c_can.txt | 37 +++++++++++
> drivers/net/can/c_can/c_can.h | 5 +-
> drivers/net/can/c_can/c_can_pci.c | 6 +-
> drivers/net/can/c_can/c_can_platform.c | 65 +++++++++++++++-----
> 4 files changed, 91 insertions(+), 22 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/can/c_can.txt
>
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
[not found] ` <501A60C0.1040504-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2012-08-02 11:21 ` AnilKumar, Chimata
2012-08-02 11:23 ` Marc Kleine-Budde
0 siblings, 1 reply; 12+ messages in thread
From: AnilKumar, Chimata @ 2012-08-02 11:21 UTC (permalink / raw)
To: Marc Kleine-Budde
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Nori, Sekhar, linux-can-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Gole, Anant
Marc,
On Thu, Aug 02, 2012 at 16:43:04, Marc Kleine-Budde wrote:
> On 08/02/2012 01:02 PM, AnilKumar Ch wrote:
> > This patch series adds the device tree support and Runtime PM support
> > to C_CAN/D_CAN controller.
> >
> > These patches have been tested on AM335x EVM using some additional
> > patches to add device tree data to EVM dts files and to initialize
> > D_CAN RAM. D_CAN raminit is controlled from control module register.
> > This patch will be submitted once control module MFD driver support
> > is added.
> >
> > These patches are based on linx-can-next tree.
> >
> > Due to lack of hardware I am not able to test c_can functionality.
> > I appreciate if anyone can test c_can functionality with this patch
> > series.
> >
> > Changes from v2:
> > - Incorporated Marcs on v2
> > * Fix compilation errors in pci due to device name changes
> > in v2 by adding new patch.
> >
> > Changes from v1:
> > - Separated 4 patches into CAN driver specific and device
> > tree data addition specific.
> > - Incorporated Marc's comments on v1
> > * Modified c_can_dev_id enum to handle both devtype and
> > platform device id index.
> > * Removed "legacy bosch,c_can_platform" from DT bindings
> >
> > AnilKumar Ch (3):
> > can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
> > can: c_can: Modify c_can device names in c_can_pci driver
>
> You break bisectability here. After patch 1 the pci driver will not
> compile anymore. I suggest to do the renaming of enum c_can_dev_id and
> all it's users in patch 1.
>
I will merge patch 1 and 2 and submit v4.
Regards
AnilKumar
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
2012-08-02 11:21 ` AnilKumar, Chimata
@ 2012-08-02 11:23 ` Marc Kleine-Budde
[not found] ` <501A633A.5000100-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Marc Kleine-Budde @ 2012-08-02 11:23 UTC (permalink / raw)
To: AnilKumar, Chimata
Cc: wg@grandegger.com, linux-can@vger.kernel.org,
devicetree-discuss@lists.ozlabs.org, grant.likely@secretlab.ca,
Gole, Anant, Nori, Sekhar
[-- Attachment #1: Type: text/plain, Size: 2166 bytes --]
On 08/02/2012 01:21 PM, AnilKumar, Chimata wrote:
> Marc,
>
> On Thu, Aug 02, 2012 at 16:43:04, Marc Kleine-Budde wrote:
>> On 08/02/2012 01:02 PM, AnilKumar Ch wrote:
>>> This patch series adds the device tree support and Runtime PM support
>>> to C_CAN/D_CAN controller.
>>>
>>> These patches have been tested on AM335x EVM using some additional
>>> patches to add device tree data to EVM dts files and to initialize
>>> D_CAN RAM. D_CAN raminit is controlled from control module register.
>>> This patch will be submitted once control module MFD driver support
>>> is added.
>>>
>>> These patches are based on linx-can-next tree.
>>>
>>> Due to lack of hardware I am not able to test c_can functionality.
>>> I appreciate if anyone can test c_can functionality with this patch
>>> series.
>>>
>>> Changes from v2:
>>> - Incorporated Marcs on v2
>>> * Fix compilation errors in pci due to device name changes
>>> in v2 by adding new patch.
>>>
>>> Changes from v1:
>>> - Separated 4 patches into CAN driver specific and device
>>> tree data addition specific.
>>> - Incorporated Marc's comments on v1
>>> * Modified c_can_dev_id enum to handle both devtype and
>>> platform device id index.
>>> * Removed "legacy bosch,c_can_platform" from DT bindings
>>>
>>> AnilKumar Ch (3):
>>> can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
>>> can: c_can: Modify c_can device names in c_can_pci driver
>>
>> You break bisectability here. After patch 1 the pci driver will not
>> compile anymore. I suggest to do the renaming of enum c_can_dev_id and
>> all it's users in patch 1.
>>
>
> I will merge patch 1 and 2 and submit v4.
But changing the pci driver has nothing to do with the subject ("Add
device tree support to Bosch C_CAN/D_CAN controller").
It's considered bad practise to do so.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/3] can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
2012-08-02 11:02 ` [PATCH v3 1/3] can: c_can: Add device tree support to Bosch " AnilKumar Ch
@ 2012-08-02 11:33 ` Arnd Bergmann
2012-08-02 12:01 ` AnilKumar, Chimata
0 siblings, 1 reply; 12+ messages in thread
From: Arnd Bergmann @ 2012-08-02 11:33 UTC (permalink / raw)
To: devicetree-discuss; +Cc: AnilKumar Ch, wg, mkl, linux-can, nsekhar, anantgole
On Thursday 02 August 2012 16:32:17 AnilKumar Ch wrote:
> +- interrupt-parent : The parent interrupt controller
> +
> +Optional properties:
> +- ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the
> + instance number
interrupt-parent should be optional, not mandatory. It's usually implied
by the parent's interrupt-parent.
Arnd
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
[not found] ` <501A633A.5000100-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2012-08-02 11:39 ` AnilKumar, Chimata
[not found] ` <331ABD5ECB02734CA317220B2BBEABC13EA081FB-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: AnilKumar, Chimata @ 2012-08-02 11:39 UTC (permalink / raw)
To: Marc Kleine-Budde
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Nori, Sekhar, linux-can-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Gole, Anant
Marc,
On Thu, Aug 02, 2012 at 16:53:38, Marc Kleine-Budde wrote:
> On 08/02/2012 01:21 PM, AnilKumar, Chimata wrote:
> > Marc,
> >
> > On Thu, Aug 02, 2012 at 16:43:04, Marc Kleine-Budde wrote:
> >> On 08/02/2012 01:02 PM, AnilKumar Ch wrote:
> >>> This patch series adds the device tree support and Runtime PM support
> >>> to C_CAN/D_CAN controller.
> >>>
> >>> These patches have been tested on AM335x EVM using some additional
> >>> patches to add device tree data to EVM dts files and to initialize
> >>> D_CAN RAM. D_CAN raminit is controlled from control module register.
> >>> This patch will be submitted once control module MFD driver support
> >>> is added.
> >>>
> >>> These patches are based on linx-can-next tree.
> >>>
> >>> Due to lack of hardware I am not able to test c_can functionality.
> >>> I appreciate if anyone can test c_can functionality with this patch
> >>> series.
> >>>
> >>> Changes from v2:
> >>> - Incorporated Marcs on v2
> >>> * Fix compilation errors in pci due to device name changes
> >>> in v2 by adding new patch.
> >>>
> >>> Changes from v1:
> >>> - Separated 4 patches into CAN driver specific and device
> >>> tree data addition specific.
> >>> - Incorporated Marc's comments on v1
> >>> * Modified c_can_dev_id enum to handle both devtype and
> >>> platform device id index.
> >>> * Removed "legacy bosch,c_can_platform" from DT bindings
> >>>
> >>> AnilKumar Ch (3):
> >>> can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
> >>> can: c_can: Modify c_can device names in c_can_pci driver
> >>
> >> You break bisectability here. After patch 1 the pci driver will not
> >> compile anymore. I suggest to do the renaming of enum c_can_dev_id and
> >> all it's users in patch 1.
> >>
> >
> > I will merge patch 1 and 2 and submit v4.
>
> But changing the pci driver has nothing to do with the subject ("Add
> device tree support to Bosch C_CAN/D_CAN controller").
>
> It's considered bad practise to do so.
>
In that case I will change the patch 1 according to "C_CAN_PLTFORM_DEVTYPE"
and flag name changes to BOSCH_* will be in patch 2. So that we can get rid
of these two problems.
Regards
AnilKumar
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
[not found] ` <331ABD5ECB02734CA317220B2BBEABC13EA081FB-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
@ 2012-08-02 11:45 ` Marc Kleine-Budde
0 siblings, 0 replies; 12+ messages in thread
From: Marc Kleine-Budde @ 2012-08-02 11:45 UTC (permalink / raw)
To: AnilKumar, Chimata
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Nori, Sekhar, linux-can-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Gole, Anant
[-- Attachment #1.1: Type: text/plain, Size: 1383 bytes --]
On 08/02/2012 01:39 PM, AnilKumar, Chimata wrote:
[...]
>>>>> AnilKumar Ch (3):
>>>>> can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
>>>>> can: c_can: Modify c_can device names in c_can_pci driver
>>>>
>>>> You break bisectability here. After patch 1 the pci driver will not
>>>> compile anymore. I suggest to do the renaming of enum c_can_dev_id and
>>>> all it's users in patch 1.
>>>>
>>>
>>> I will merge patch 1 and 2 and submit v4.
>>
>> But changing the pci driver has nothing to do with the subject ("Add
>> device tree support to Bosch C_CAN/D_CAN controller").
>>
>> It's considered bad practise to do so.
>>
>
> In that case I will change the patch 1 according to "C_CAN_PLTFORM_DEVTYPE"
> and flag name changes to BOSCH_* will be in patch 2. So that we can get rid
> of these two problems.
I'm not sure if I understand you correctly. Please first rename the
constants, then add device tree support.
It doesn't make any sense to first introduce DT support and then patch
parts of the DT that have been added in the previous patch.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
[-- Attachment #2: Type: text/plain, Size: 192 bytes --]
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH v3 1/3] can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
2012-08-02 11:33 ` Arnd Bergmann
@ 2012-08-02 12:01 ` AnilKumar, Chimata
0 siblings, 0 replies; 12+ messages in thread
From: AnilKumar, Chimata @ 2012-08-02 12:01 UTC (permalink / raw)
To: Arnd Bergmann,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Cc: Nori, Sekhar, mkl-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
Gole, Anant, linux-can-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Hi Arnd,
Thanks for the review
On Thu, Aug 02, 2012 at 17:03:59, Arnd Bergmann wrote:
> On Thursday 02 August 2012 16:32:17 AnilKumar Ch wrote:
> > +- interrupt-parent : The parent interrupt controller
> > +
> > +Optional properties:
> > +- ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the
> > + instance number
>
> interrupt-parent should be optional, not mandatory. It's usually implied
> by the parent's interrupt-parent.
>
In case of AM33XX specific we need to connect interrupt to interrupt
controller so I added to mandatory list. Yes I agree with you, in generic
case this should be optional I will change.
Thanks
AnilKumar
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller
@ 2012-08-02 13:13 AnilKumar Ch
0 siblings, 0 replies; 12+ messages in thread
From: AnilKumar Ch @ 2012-08-02 13:13 UTC (permalink / raw)
To: wg-5Yr1BZd7O62+XT7JhA+gdA, mkl-bIcnvbaLZ9MEGnE8C9+IrQ,
linux-can-u79uwXL29TY76Z2rM5mHXA
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, nsekhar-l0cyMroinI0,
anantgole-l0cyMroinI0
This patch series adds the device tree support and Runtime PM support
to C_CAN/D_CAN controller. First patch cleans up the device names used
in c_can driver.
These patches have been tested on AM335x EVM using some additional
patches to add device tree data to EVM dts files and to initialize
D_CAN RAM. D_CAN raminit is controlled from control module register.
This patch will be submitted once control module MFD driver support
is added. And these patches are based on linx-can-next tree.
Due to lack of hardware I am not able to test c_can functionality.
I appreciate if anyone can test c_can functionality with this patch
series.
Changes from v3:
- Changed the patch sequence
Changes from v2:
- Incorporated Marcs on v2
* Fix compilation errors in pci due to device name changes
in v2 by adding new patch.
Changes from v1:
- Separated 4 patches into CAN driver specific and device
tree data addition specific.
- Incorporated Marc's comments on v1
* Modified c_can_dev_id enum to handle both devtype and
platform device id index.
* Removed "legacy bosch,c_can_platform" from DT bindings
AnilKumar Ch (3):
can: c_can: Modify c_can device names
can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller
can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller
.../devicetree/bindings/net/can/c_can.txt | 37 +++++++++++
drivers/net/can/c_can/c_can.h | 5 +-
drivers/net/can/c_can/c_can_pci.c | 6 +-
drivers/net/can/c_can/c_can_platform.c | 65 +++++++++++++++-----
4 files changed, 91 insertions(+), 22 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/can/c_can.txt
--
1.7.9.5
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-08-02 13:13 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-02 11:02 [PATCH v3 0/3] Add DT support to C_CAN/D_CAN controller AnilKumar Ch
2012-08-02 11:02 ` [PATCH v3 1/3] can: c_can: Add device tree support to Bosch " AnilKumar Ch
2012-08-02 11:33 ` Arnd Bergmann
2012-08-02 12:01 ` AnilKumar, Chimata
[not found] ` <1343905339-4642-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
2012-08-02 11:02 ` [PATCH v3 2/3] can: c_can: Modify c_can device names in c_can_pci driver AnilKumar Ch
2012-08-02 11:02 ` [PATCH v3 3/3] can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller AnilKumar Ch
2012-08-02 11:13 ` [PATCH v3 0/3] Add DT support to " Marc Kleine-Budde
[not found] ` <501A60C0.1040504-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-08-02 11:21 ` AnilKumar, Chimata
2012-08-02 11:23 ` Marc Kleine-Budde
[not found] ` <501A633A.5000100-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-08-02 11:39 ` AnilKumar, Chimata
[not found] ` <331ABD5ECB02734CA317220B2BBEABC13EA081FB-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2012-08-02 11:45 ` Marc Kleine-Budde
-- strict thread matches above, loose matches on Subject: below --
2012-08-02 13:13 AnilKumar Ch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).