remove_mdev_supported_type(type);
        }
 
-       sysfs_remove_groups(&parent->dev->kobj, parent->ops->dev_attr_groups);
        kset_unregister(parent->mdev_types_kset);
 }
 
 
        INIT_LIST_HEAD(&parent->type_list);
 
-       ret = sysfs_create_groups(&parent->dev->kobj,
-                                 parent->ops->dev_attr_groups);
-       if (ret)
-               goto create_err;
-
        ret = add_mdev_supported_type_groups(parent);
        if (ret)
-               sysfs_remove_groups(&parent->dev->kobj,
-                                   parent->ops->dev_attr_groups);
-       else
-               return ret;
+               goto create_err;
+       return 0;
 
 create_err:
        kset_unregister(parent->mdev_types_kset);
 
  *
  * @owner:             The module owner.
  * @device_driver:     Which device driver to probe() on newly created devices
- * @dev_attr_groups:   Attributes of the parent device.
  * @mdev_attr_groups:  Attributes of the mediated device.
  * @supported_type_groups: Attributes to define supported types. It is mandatory
  *                     to provide supported types.
 struct mdev_parent_ops {
        struct module   *owner;
        struct mdev_driver *device_driver;
-       const struct attribute_group **dev_attr_groups;
        const struct attribute_group **mdev_attr_groups;
        struct attribute_group **supported_type_groups;
 };
 
        return -ENOTTY;
 }
 
-static ssize_t
-sample_mtty_dev_show(struct device *dev, struct device_attribute *attr,
-                    char *buf)
-{
-       return sprintf(buf, "This is phy device\n");
-}
-
-static DEVICE_ATTR_RO(sample_mtty_dev);
-
-static struct attribute *mtty_dev_attrs[] = {
-       &dev_attr_sample_mtty_dev.attr,
-       NULL,
-};
-
-static const struct attribute_group mtty_dev_group = {
-       .name  = "mtty_dev",
-       .attrs = mtty_dev_attrs,
-};
-
-static const struct attribute_group *mtty_dev_groups[] = {
-       &mtty_dev_group,
-       NULL,
-};
-
 static ssize_t
 sample_mdev_dev_show(struct device *dev, struct device_attribute *attr,
                     char *buf)
 {
-       if (mdev_from_dev(dev))
-               return sprintf(buf, "This is MDEV %s\n", dev_name(dev));
-
-       return sprintf(buf, "\n");
+       return sprintf(buf, "This is MDEV %s\n", dev_name(dev));
 }
 
 static DEVICE_ATTR_RO(sample_mdev_dev);
 static const struct mdev_parent_ops mdev_fops = {
        .owner                  = THIS_MODULE,
        .device_driver          = &mtty_driver,
-       .dev_attr_groups        = mtty_dev_groups,
        .supported_type_groups  = mdev_type_groups,
 };