@@ -218,7 +218,10 @@ static const struct regulator_desc can_power_desc = {
218218 .ops = & can_power_ops ,
219219};
220220
221- static struct class * controller_class ;
221+ static const struct class controller_class = {
222+ .name = "arcx_anybus_controller" ,
223+ };
224+
222225static DEFINE_IDA (controller_index_ida );
223226
224227static int controller_probe (struct platform_device * pdev )
@@ -301,7 +304,7 @@ static int controller_probe(struct platform_device *pdev)
301304 err = - ENOMEM ;
302305 goto out_ida ;
303306 }
304- cd -> class_dev -> class = controller_class ;
307+ cd -> class_dev -> class = & controller_class ;
305308 cd -> class_dev -> groups = controller_attribute_groups ;
306309 cd -> class_dev -> parent = dev ;
307310 cd -> class_dev -> id = id ;
@@ -351,20 +354,20 @@ static int __init controller_init(void)
351354{
352355 int err ;
353356
354- controller_class = class_create ( "arcx_anybus_controller" );
355- if (IS_ERR ( controller_class ) )
356- return PTR_ERR ( controller_class ) ;
357+ err = class_register ( & controller_class );
358+ if (err )
359+ return err ;
357360 err = platform_driver_register (& controller_driver );
358361 if (err )
359- class_destroy ( controller_class );
362+ class_unregister ( & controller_class );
360363
361364 return err ;
362365}
363366
364367static void __exit controller_exit (void )
365368{
366369 platform_driver_unregister (& controller_driver );
367- class_destroy ( controller_class );
370+ class_unregister ( & controller_class );
368371 ida_destroy (& controller_index_ida );
369372}
370373
0 commit comments