@@ -212,12 +212,12 @@ static ssize_t keep_cfg_store(struct device *dev, struct device_attribute *attr,
212
212
}
213
213
static DEVICE_ATTR_RW (keep_cfg );
214
214
215
- static struct attribute * attrs [] = {
215
+ static struct attribute * cp500_attrs [] = {
216
216
& dev_attr_version .attr ,
217
217
& dev_attr_keep_cfg .attr ,
218
218
NULL
219
219
};
220
- static const struct attribute_group attrs_group = { . attrs = attrs } ;
220
+ ATTRIBUTE_GROUPS ( cp500 ) ;
221
221
222
222
static void cp500_i2c_release (struct device * dev )
223
223
{
@@ -396,20 +396,15 @@ static int cp500_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
396
396
397
397
pci_set_drvdata (pci_dev , cp500 );
398
398
399
- ret = sysfs_create_group (& pci_dev -> dev .kobj , & attrs_group );
400
- if (ret != 0 )
401
- goto out_free_irq ;
402
399
403
400
ret = cp500_enable (cp500 );
404
401
if (ret != 0 )
405
- goto out_remove_group ;
402
+ goto out_free_irq ;
406
403
407
404
cp500_register_auxiliary_devs (cp500 );
408
405
409
406
return 0 ;
410
407
411
- out_remove_group :
412
- sysfs_remove_group (& pci_dev -> dev .kobj , & attrs_group );
413
408
out_free_irq :
414
409
pci_free_irq_vectors (pci_dev );
415
410
out_disable :
@@ -427,8 +422,6 @@ static void cp500_remove(struct pci_dev *pci_dev)
427
422
428
423
cp500_disable (cp500 );
429
424
430
- sysfs_remove_group (& pci_dev -> dev .kobj , & attrs_group );
431
-
432
425
pci_set_drvdata (pci_dev , 0 );
433
426
434
427
pci_free_irq_vectors (pci_dev );
@@ -450,6 +443,7 @@ static struct pci_driver cp500_driver = {
450
443
.id_table = cp500_ids ,
451
444
.probe = cp500_probe ,
452
445
.remove = cp500_remove ,
446
+ .dev_groups = cp500_groups ,
453
447
};
454
448
module_pci_driver (cp500_driver );
455
449
0 commit comments