--- /dev/null
+diff -Nur a/Embedded/src/CAN/can_main.c b/Embedded/src/CAN/can_main.c
+--- a/Embedded/src/CAN/can_main.c 2009-11-30 10:44:39.044269751 +0100
++++ b/Embedded/src/CAN/can_main.c 2009-11-30 10:54:41.434355642 +0100
+@@ -213,8 +213,8 @@
+ spin_lock_init(&(g_can_os[can_num].int_spinlock));\r
+ spin_lock_init(&(g_can_os[can_num].open_spinlock));\r
+ \r
+- dev->dev.driver_data = (void *) &(g_can_os[can_num]);\r
+- if (!dev->dev.driver_data)\r
++ dev_set_drvdata(&dev->dev, (void *) &(g_can_os[can_num]));\r
++ if (!dev_get_drvdata(&dev->dev))\r
+ {\r
+ printk("Couldn't create CAN device %d. Exiting.\n",\r
+ dev->device);\r
+@@ -236,7 +236,7 @@
+ *****************************************************************************/\r
+ void can_pci_remove(struct pci_dev *dev)\r
+ {\r
+- can_os_t *can_os = dev->dev.driver_data;\r
++ can_os_t *can_os = dev_get_drvdata(&dev->dev);\r
+ \r
+ iounmap(can_os->pci_remap);\r
+ icp_can_destroy(can_os->can);\r
+@@ -250,7 +250,7 @@
+ {\r
+ unsigned int i;\r
+ unsigned int int_status;\r
+- can_os_t *can_os = dev->dev.driver_data;\r
++ can_os_t *can_os = dev_get_drvdata(&dev->dev);\r
+ int err;\r
+ \r
+ /* Indicate that we are suspending */\r
+@@ -321,7 +321,7 @@
+ int can_pci_resume(struct pci_dev *dev)\r
+ {\r
+ unsigned int i;\r
+- can_os_t *can_os = dev->dev.driver_data;\r
++ can_os_t *can_os = dev_get_drvdata(&dev->dev);\r
+ \r
+ /* Restore PCI CFG space */\r
+ pci_restore_state(dev);\r