The core intel_th driver allows subdevices to bring in their sysfs
attributes. Use this instead of taking care of them in probe and
remove.

Signed-off-by: Alexander Shishkin <[email protected]>
Reviewed-by: Laurent Fert <[email protected]>
---
 drivers/hwtracing/intel_th/pti.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/hwtracing/intel_th/pti.c b/drivers/hwtracing/intel_th/pti.c
index 2692cad4c3..35738b5bfc 100644
--- a/drivers/hwtracing/intel_th/pti.c
+++ b/drivers/hwtracing/intel_th/pti.c
@@ -200,7 +200,6 @@ static int intel_th_pti_probe(struct intel_th_device *thdev)
        struct resource *res;
        struct pti_device *pti;
        void __iomem *base;
-       int ret;
 
        res = intel_th_device_get_resource(thdev, IORESOURCE_MEM, 0);
        if (!res)
@@ -219,10 +218,6 @@ static int intel_th_pti_probe(struct intel_th_device 
*thdev)
 
        read_hw_config(pti);
 
-       ret = sysfs_create_group(&dev->kobj, &pti_output_group);
-       if (ret)
-               return ret;
-
        dev_set_drvdata(dev, pti);
 
        return 0;
@@ -230,7 +225,6 @@ static int intel_th_pti_probe(struct intel_th_device *thdev)
 
 static void intel_th_pti_remove(struct intel_th_device *thdev)
 {
-       sysfs_remove_group(&thdev->dev.kobj, &pti_output_group);
 }
 
 static struct intel_th_driver intel_th_pti_driver = {
@@ -238,6 +232,7 @@ static struct intel_th_driver intel_th_pti_driver = {
        .remove = intel_th_pti_remove,
        .activate       = intel_th_pti_activate,
        .deactivate     = intel_th_pti_deactivate,
+       .attr_group     = &pti_output_group,
        .driver = {
                .name   = "pti",
                .owner  = THIS_MODULE,
-- 
2.8.0.rc3

Reply via email to