Dear all,

I'm trying to build xenomai-2.6.0 with kernel 3.0.4 for powerpc (MPC5121).
some config options:
CONFIG_PPC_MPC512x=y
CONFIG_XENO_DRIVERS_CAN=m
CONFIG_XENO_DRIVERS_CAN_MSCAN=m

Using CAN support leads to compile errors:
  CC [M]  drivers/xenomai/can/mscan/rtcan_mscan.o
  CC [M]  drivers/xenomai/can/mscan/rtcan_mscan_mpc5xxx.o
drivers/xenomai/can/mscan/rtcan_mscan_mpc5xxx.c: In function 'mpc512x_can_get_clock':
drivers/xenomai/can/mscan/rtcan_mscan_mpc5xxx.c:158:30: error: 'struct platform_device' has no member named 'node'
drivers/xenomai/can/mscan/rtcan_mscan_mpc5xxx.c:174:41: error: 'struct platform_device' has no member named 'node'
drivers/xenomai/can/mscan/rtcan_mscan_mpc5xxx.c:178:31: error: 'struct platform_device' has no member named 'node'
make[5]: *** [drivers/xenomai/can/mscan/rtcan_mscan_mpc5xxx.o] Error 1


I'm a bit surprised as I found a xenomai git commit that seem to handle this issue when building with CONFIG_PPC_MPC52xx:
- can: adapt to platform driver infrastructure changes for 2 .6.35
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=50b289784ef2b0734bef1e99b008ff4b79ad5409


I believe this issue can be fixed for MPC512x as well, by using same principle. Is it correct to do so?

Index: xenomai-2.6.0/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c
===================================================================
--- xenomai-2.6.0.orig/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c    2011-10-18 20:17:18.000000000 +0200
+++ xenomai-2.6.0/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c    2011-12-21 11:52:43.000000000 +0100
@@ -155,7 +155,7 @@
     }
 
     /* Determine the MSCAN device index from the physical address */
-    pval = of_get_property(ofdev->node, "reg", &plen);
+    pval = of_get_property(mpc5xxx_get_of_node(ofdev), "reg", &plen);
     BUG_ON(!pval || plen < sizeof(*pval));
     clockidx = (*pval & 0x80) ? 1 : 0;
     if (*pval & 0x2000)
@@ -171,11 +171,11 @@
      */
     if (clock_name && !strcmp(clock_name, "ip")) {
         *mscan_clksrc = MSCAN_CLKSRC_IPS;
-        freq = mpc5xxx_get_bus_frequency(ofdev->node);
+        freq = mpc5xxx_get_bus_frequency(mpc5xxx_get_of_node(ofdev));
     } else {
         *mscan_clksrc = MSCAN_CLKSRC_BUS;
 
-        pval = of_get_property(ofdev->node,
+        pval = of_get_property(mpc5xxx_get_of_node(ofdev),
                        "fsl,mscan-clock-divider", &plen);
         if (pval && plen == sizeof(*pval))
             clockdiv = *pval;




If it's ok, can it be integrated into xenomai-head?

Thanks in advance,

Fabrice Gasnier

--

Fabrice GASNIER, Ingénieur Systèmes Embarqués
Email: [email protected]

Découvrez notre catalogue de formations 2011

10 rue Xavier Bichat - 72000 Le Mans - France - Tel: +33(0)2 43 51 17 97 - Fax: +33(0)2 43 51 17 98 - www.cenosys.com

CONFIDENTIALITÉ : Ce message électronique et tous les fichiers attachés qu'il contient sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner immédiatement à son émetteur sans en conserver de copie.

CONFIDENTIALITY : This e-mail and any attachments are confidential and may also be privileged. If you are not the named recipient, please notify the sender immediately and do not disclose the contents to an other person, use it for any purpose, or store or copy the information in any medium.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to