Lines 125-131
Link Here
|
125 |
STATIC dev_t control_id; |
125 |
STATIC dev_t control_id; |
126 |
STATIC dev_t status_id; |
126 |
STATIC dev_t status_id; |
127 |
|
127 |
|
128 |
static struct class_simple *fusd_class; |
128 |
static struct class *fusd_class; |
129 |
|
129 |
|
130 |
static struct class_device *fusd_control_class_device; |
130 |
static struct class_device *fusd_control_class_device; |
131 |
static struct class_device *fusd_status_class_device; |
131 |
static struct class_device *fusd_status_class_device; |
Lines 1965-1971
Link Here
|
1965 |
} |
1965 |
} |
1966 |
else |
1966 |
else |
1967 |
{ |
1967 |
{ |
1968 |
fusd_dev->clazz = class_simple_create(THIS_MODULE, fusd_dev->class_name); |
1968 |
fusd_dev->clazz = class_create(THIS_MODULE, fusd_dev->class_name); |
1969 |
if(IS_ERR(fusd_dev->clazz)) |
1969 |
if(IS_ERR(fusd_dev->clazz)) |
1970 |
{ |
1970 |
{ |
1971 |
error = PTR_ERR(fusd_dev->clazz); |
1971 |
error = PTR_ERR(fusd_dev->clazz); |
Lines 1974-1984
Link Here
|
1974 |
fusd_dev->owns_class = 1; |
1974 |
fusd_dev->owns_class = 1; |
1975 |
} |
1975 |
} |
1976 |
|
1976 |
|
1977 |
fusd_dev->class_device = class_simple_device_add(fusd_dev->clazz, fusd_dev->dev_id, NULL, fusd_dev->dev_name); |
1977 |
fusd_dev->class_device = class_device_create(fusd_dev->clazz, fusd_dev->dev_id, NULL, fusd_dev->dev_name); |
1978 |
if(fusd_dev->class_device == NULL) |
1978 |
if(fusd_dev->class_device == NULL) |
1979 |
{ |
1979 |
{ |
1980 |
error = PTR_ERR(fusd_dev->class_device); |
1980 |
error = PTR_ERR(fusd_dev->class_device); |
1981 |
printk("class_simple_device_add failed status: %d\n", error); |
1981 |
printk("class_device_create failed status: %d\n", error); |
1982 |
goto register_failed5; |
1982 |
goto register_failed5; |
1983 |
} |
1983 |
} |
1984 |
|
1984 |
|
Lines 2001-2007
Link Here
|
2001 |
return 0; |
2001 |
return 0; |
2002 |
|
2002 |
|
2003 |
register_failed5: |
2003 |
register_failed5: |
2004 |
class_simple_destroy(fusd_dev->clazz); |
2004 |
class_destroy(fusd_dev->clazz); |
2005 |
register_failed4: |
2005 |
register_failed4: |
2006 |
cdev_del(fusd_dev->handle); |
2006 |
cdev_del(fusd_dev->handle); |
2007 |
register_failed3: |
2007 |
register_failed3: |
Lines 2093-2102
Link Here
|
2093 |
|
2093 |
|
2094 |
if(fusd_dev->handle) |
2094 |
if(fusd_dev->handle) |
2095 |
{ |
2095 |
{ |
2096 |
class_simple_device_remove(fusd_dev->dev_id); |
2096 |
class_device_destroy(fusd_class, fusd_dev->dev_id); |
2097 |
if(fusd_dev->owns_class) |
2097 |
if(fusd_dev->owns_class) |
2098 |
{ |
2098 |
{ |
2099 |
class_simple_destroy(fusd_dev->clazz); |
2099 |
class_destroy(fusd_dev->clazz); |
2100 |
} |
2100 |
} |
2101 |
cdev_del(fusd_dev->handle); |
2101 |
cdev_del(fusd_dev->handle); |
2102 |
#ifdef CONFIG_DEVFS_FS |
2102 |
#ifdef CONFIG_DEVFS_FS |
Lines 2799-2805
Link Here
|
2799 |
fusd_control_device = NULL; |
2799 |
fusd_control_device = NULL; |
2800 |
fusd_status_device = NULL; |
2800 |
fusd_status_device = NULL; |
2801 |
|
2801 |
|
2802 |
fusd_class = class_simple_create(THIS_MODULE, "fusd"); |
2802 |
fusd_class = class_create(THIS_MODULE, "fusd"); |
2803 |
if(IS_ERR(fusd_class)) |
2803 |
if(IS_ERR(fusd_class)) |
2804 |
{ |
2804 |
{ |
2805 |
retval = PTR_ERR(fusd_class); |
2805 |
retval = PTR_ERR(fusd_class); |
Lines 2841-2851
Link Here
|
2841 |
goto fail4; |
2841 |
goto fail4; |
2842 |
} |
2842 |
} |
2843 |
|
2843 |
|
2844 |
fusd_control_class_device = class_simple_device_add(fusd_class, control_id, NULL, "control"); |
2844 |
fusd_control_class_device = class_device_create(fusd_class, control_id, NULL, "control"); |
2845 |
if(fusd_control_class_device == NULL) |
2845 |
if(fusd_control_class_device == NULL) |
2846 |
{ |
2846 |
{ |
2847 |
retval = PTR_ERR(fusd_control_class_device); |
2847 |
retval = PTR_ERR(fusd_control_class_device); |
2848 |
printk("class_simple_device_add failed status: %d\n", retval); |
2848 |
printk("class_device_create failed status: %d\n", retval); |
2849 |
goto fail5; |
2849 |
goto fail5; |
2850 |
} |
2850 |
} |
2851 |
|
2851 |
|
Lines 2882-2891
Link Here
|
2882 |
goto fail9; |
2882 |
goto fail9; |
2883 |
} |
2883 |
} |
2884 |
|
2884 |
|
2885 |
fusd_status_class_device = class_simple_device_add(fusd_class, status_id, NULL, "status"); |
2885 |
fusd_status_class_device = class_device_create(fusd_class, status_id, NULL, "status"); |
2886 |
if(fusd_status_class_device == NULL) |
2886 |
if(fusd_status_class_device == NULL) |
2887 |
{ |
2887 |
{ |
2888 |
printk("class_simple_device_add failed status: %d\n", retval); |
2888 |
printk("class_device_create failed status: %d\n", retval); |
2889 |
retval = PTR_ERR(fusd_status_class_device); |
2889 |
retval = PTR_ERR(fusd_status_class_device); |
2890 |
goto fail10; |
2890 |
goto fail10; |
2891 |
} |
2891 |
} |
Lines 2904-2910
Link Here
|
2904 |
fail7: |
2904 |
fail7: |
2905 |
unregister_chrdev_region(status_id, 1); |
2905 |
unregister_chrdev_region(status_id, 1); |
2906 |
fail6: |
2906 |
fail6: |
2907 |
class_simple_device_remove(control_id); |
2907 |
class_device_destroy(fusd_class, control_id); |
2908 |
fail5: |
2908 |
fail5: |
2909 |
cdev_del(fusd_control_device); |
2909 |
cdev_del(fusd_control_device); |
2910 |
fail4: |
2910 |
fail4: |
Lines 2916-2922
Link Here
|
2916 |
fail2: |
2916 |
fail2: |
2917 |
unregister_chrdev_region(control_id, 1); |
2917 |
unregister_chrdev_region(control_id, 1); |
2918 |
fail1: |
2918 |
fail1: |
2919 |
class_simple_destroy(fusd_class); |
2919 |
class_destroy(fusd_class); |
2920 |
fail0: |
2920 |
fail0: |
2921 |
return retval; |
2921 |
return retval; |
2922 |
} |
2922 |
} |
Lines 2925-2932
Link Here
|
2925 |
{ |
2925 |
{ |
2926 |
RDEBUG(1, "cleaning up"); |
2926 |
RDEBUG(1, "cleaning up"); |
2927 |
|
2927 |
|
2928 |
class_simple_device_remove(status_id); |
2928 |
class_device_destroy(fusd_class, status_id); |
2929 |
class_simple_device_remove(control_id); |
2929 |
class_device_destroy(fusd_class, control_id); |
2930 |
|
2930 |
|
2931 |
cdev_del(fusd_control_device); |
2931 |
cdev_del(fusd_control_device); |
2932 |
cdev_del(fusd_status_device); |
2932 |
cdev_del(fusd_status_device); |
Lines 2935-2941
Link Here
|
2935 |
devfs_remove(FUSD_STATUS_FILENAME); |
2935 |
devfs_remove(FUSD_STATUS_FILENAME); |
2936 |
|
2936 |
|
2937 |
|
2937 |
|
2938 |
class_simple_destroy(fusd_class); |
2938 |
class_destroy(fusd_class); |
2939 |
|
2939 |
|
2940 |
#ifdef CONFIG_FUSD_MEMDEBUG |
2940 |
#ifdef CONFIG_FUSD_MEMDEBUG |
2941 |
fusd_mem_cleanup(); |
2941 |
fusd_mem_cleanup(); |