41 #include <linux/module.h> |
41 #include <linux/module.h> |
42 #include <linux/kernel.h> |
42 #include <linux/kernel.h> |
43 #include <linux/string.h> |
43 #include <linux/string.h> |
44 #include <linux/slab.h> |
44 #include <linux/slab.h> |
45 #include <linux/delay.h> |
45 #include <linux/delay.h> |
|
46 #include <linux/device.h> |
|
47 #include <linux/version.h> |
46 |
48 |
47 #include "../include/ecrt.h" |
49 #include "../include/ecrt.h" |
48 #include "globals.h" |
50 #include "globals.h" |
49 #include "slave.h" |
51 #include "slave.h" |
50 #include "slave_config.h" |
52 #include "slave_config.h" |
170 |
172 |
171 // init character device |
173 // init character device |
172 if (ec_cdev_init(&master->cdev, master, device_number)) |
174 if (ec_cdev_init(&master->cdev, master, device_number)) |
173 goto out_clear_fsm; |
175 goto out_clear_fsm; |
174 |
176 |
|
177 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 15) |
175 master->class_device = class_device_create(class, |
178 master->class_device = class_device_create(class, |
176 MKDEV(MAJOR(device_number), master->index), |
179 MKDEV(MAJOR(device_number), master->index), |
177 NULL, "EtherCAT%u", master->index); |
180 NULL, "EtherCAT%u", master->index); |
|
181 #else |
|
182 master->class_device = class_device_create(class, NULL, |
|
183 MKDEV(MAJOR(device_number), master->index), |
|
184 NULL, "EtherCAT%u", master->index); |
|
185 #endif |
178 if (IS_ERR(master->class_device)) { |
186 if (IS_ERR(master->class_device)) { |
179 EC_ERR("Failed to create class device!\n"); |
187 EC_ERR("Failed to create class device!\n"); |
180 goto out_clear_cdev; |
188 goto out_clear_cdev; |
181 } |
189 } |
182 |
190 |