public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH 04/10] drm/sysfs: Nuke TV/DVI property files
Date: Wed, 30 Mar 2016 17:30:13 +0200	[thread overview]
Message-ID: <20160330153013.GM2510@phenom.ffwll.local> (raw)
In-Reply-To: <CADnq5_ObtTfU8w5A76t9b0bcyqvT0Zh6bsLkBtm0PADQeOvESA@mail.gmail.com>

On Wed, Mar 30, 2016 at 09:49:26AM -0400, Alex Deucher wrote:
> On Wed, Mar 30, 2016 at 5:45 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > This goes all the way back to the original KMS commit aeons ago
> >
> > commit f453ba0460742ad027ae0c4c7d61e62817b3e7ef
> > Author: Dave Airlie <airlied@redhat.com>
> > Date:   Fri Nov 7 14:05:41 2008 -0800
> >
> >     DRM: add mode setting support
> >
> > But it seems to be completely unused. Only i915 and nouveau even
> > register these properties, and the corresponding DDX don't even look
> > at them. Also the sysfs files are read-only, so not useful to
> > configure anything.
> >
> > I suspect that this was added with the goal to have read-only access
> > to all properties in sysfs, but we never followed through on that.
> > Also, that should be done in a more generic fashion.
> >
> > Since it would be real work to fix up the locking (with atomic we're
> > now chasing pointers when reading properties) and it seems unused lets
> > just nuke this all. It's easier. Of course we'll keep the properties
> > themselves, those are still exposed through the KMS ioctls.
> >
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

Applied, thanks for the review.
-Daniel

> 
> > ---
> >  drivers/gpu/drm/drm_sysfs.c | 156 --------------------------------------------
> >  1 file changed, 156 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
> > index 43875cb35691..fa7fadce8063 100644
> > --- a/drivers/gpu/drm/drm_sysfs.c
> > +++ b/drivers/gpu/drm/drm_sysfs.c
> > @@ -292,102 +292,6 @@ static ssize_t modes_show(struct device *device,
> >         return written;
> >  }
> >
> > -static ssize_t tv_subconnector_show(struct device *device,
> > -                                   struct device_attribute *attr,
> > -                                   char *buf)
> > -{
> > -       struct drm_connector *connector = to_drm_connector(device);
> > -       struct drm_device *dev = connector->dev;
> > -       struct drm_property *prop;
> > -       uint64_t subconnector;
> > -       int ret;
> > -
> > -       prop = dev->mode_config.tv_subconnector_property;
> > -       if (!prop) {
> > -               DRM_ERROR("Unable to find subconnector property\n");
> > -               return 0;
> > -       }
> > -
> > -       ret = drm_object_property_get_value(&connector->base, prop, &subconnector);
> > -       if (ret)
> > -               return 0;
> > -
> > -       return snprintf(buf, PAGE_SIZE, "%s",
> > -                       drm_get_tv_subconnector_name((int)subconnector));
> > -}
> > -
> > -static ssize_t tv_select_subconnector_show(struct device *device,
> > -                                          struct device_attribute *attr,
> > -                                          char *buf)
> > -{
> > -       struct drm_connector *connector = to_drm_connector(device);
> > -       struct drm_device *dev = connector->dev;
> > -       struct drm_property *prop;
> > -       uint64_t subconnector;
> > -       int ret;
> > -
> > -       prop = dev->mode_config.tv_select_subconnector_property;
> > -       if (!prop) {
> > -               DRM_ERROR("Unable to find select subconnector property\n");
> > -               return 0;
> > -       }
> > -
> > -       ret = drm_object_property_get_value(&connector->base, prop, &subconnector);
> > -       if (ret)
> > -               return 0;
> > -
> > -       return snprintf(buf, PAGE_SIZE, "%s",
> > -                       drm_get_tv_select_name((int)subconnector));
> > -}
> > -
> > -static ssize_t dvii_subconnector_show(struct device *device,
> > -                                     struct device_attribute *attr,
> > -                                     char *buf)
> > -{
> > -       struct drm_connector *connector = to_drm_connector(device);
> > -       struct drm_device *dev = connector->dev;
> > -       struct drm_property *prop;
> > -       uint64_t subconnector;
> > -       int ret;
> > -
> > -       prop = dev->mode_config.dvi_i_subconnector_property;
> > -       if (!prop) {
> > -               DRM_ERROR("Unable to find subconnector property\n");
> > -               return 0;
> > -       }
> > -
> > -       ret = drm_object_property_get_value(&connector->base, prop, &subconnector);
> > -       if (ret)
> > -               return 0;
> > -
> > -       return snprintf(buf, PAGE_SIZE, "%s",
> > -                       drm_get_dvi_i_subconnector_name((int)subconnector));
> > -}
> > -
> > -static ssize_t dvii_select_subconnector_show(struct device *device,
> > -                                            struct device_attribute *attr,
> > -                                            char *buf)
> > -{
> > -       struct drm_connector *connector = to_drm_connector(device);
> > -       struct drm_device *dev = connector->dev;
> > -       struct drm_property *prop;
> > -       uint64_t subconnector;
> > -       int ret;
> > -
> > -       prop = dev->mode_config.dvi_i_select_subconnector_property;
> > -       if (!prop) {
> > -               DRM_ERROR("Unable to find select subconnector property\n");
> > -               return 0;
> > -       }
> > -
> > -       ret = drm_object_property_get_value(&connector->base, prop, &subconnector);
> > -       if (ret)
> > -               return 0;
> > -
> > -       return snprintf(buf, PAGE_SIZE, "%s",
> > -                       drm_get_dvi_i_select_name((int)subconnector));
> > -}
> > -
> >  static DEVICE_ATTR_RW(status);
> >  static DEVICE_ATTR_RO(enabled);
> >  static DEVICE_ATTR_RO(dpms);
> > @@ -401,54 +305,6 @@ static struct attribute *connector_dev_attrs[] = {
> >         NULL
> >  };
> >
> > -static DEVICE_ATTR_RO(tv_subconnector);
> > -static DEVICE_ATTR_RO(tv_select_subconnector);
> > -
> > -static struct attribute *connector_tv_dev_attrs[] = {
> > -       &dev_attr_tv_subconnector.attr,
> > -       &dev_attr_tv_select_subconnector.attr,
> > -       NULL
> > -};
> > -
> > -static DEVICE_ATTR_RO(dvii_subconnector);
> > -static DEVICE_ATTR_RO(dvii_select_subconnector);
> > -
> > -static struct attribute *connector_dvii_dev_attrs[] = {
> > -       &dev_attr_dvii_subconnector.attr,
> > -       &dev_attr_dvii_select_subconnector.attr,
> > -       NULL
> > -};
> > -
> > -/* Connector type related helpers */
> > -static int kobj_connector_type(struct kobject *kobj)
> > -{
> > -       struct device *dev = kobj_to_dev(kobj);
> > -       struct drm_connector *connector = to_drm_connector(dev);
> > -
> > -       return connector->connector_type;
> > -}
> > -
> > -static umode_t connector_is_dvii(struct kobject *kobj,
> > -                                struct attribute *attr, int idx)
> > -{
> > -       return kobj_connector_type(kobj) == DRM_MODE_CONNECTOR_DVII ?
> > -               attr->mode : 0;
> > -}
> > -
> > -static umode_t connector_is_tv(struct kobject *kobj,
> > -                              struct attribute *attr, int idx)
> > -{
> > -       switch (kobj_connector_type(kobj)) {
> > -       case DRM_MODE_CONNECTOR_Composite:
> > -       case DRM_MODE_CONNECTOR_SVIDEO:
> > -       case DRM_MODE_CONNECTOR_Component:
> > -       case DRM_MODE_CONNECTOR_TV:
> > -               return attr->mode;
> > -       }
> > -
> > -       return 0;
> > -}
> > -
> >  static struct bin_attribute edid_attr = {
> >         .attr.name = "edid",
> >         .attr.mode = 0444,
> > @@ -466,20 +322,8 @@ static const struct attribute_group connector_dev_group = {
> >         .bin_attrs = connector_bin_attrs,
> >  };
> >
> > -static const struct attribute_group connector_tv_dev_group = {
> > -       .attrs = connector_tv_dev_attrs,
> > -       .is_visible = connector_is_tv,
> > -};
> > -
> > -static const struct attribute_group connector_dvii_dev_group = {
> > -       .attrs = connector_dvii_dev_attrs,
> > -       .is_visible = connector_is_dvii,
> > -};
> > -
> >  static const struct attribute_group *connector_dev_groups[] = {
> >         &connector_dev_group,
> > -       &connector_tv_dev_group,
> > -       &connector_dvii_dev_group,
> >         NULL
> >  };
> >
> > --
> > 2.8.0.rc3
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2016-03-30 15:30 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-30  9:45 [PATCH 00/10] Another shot at cruft removal Daniel Vetter
2016-03-30  9:45 ` [PATCH 01/10] drm/ttm: Remove TTM_HAS_AGP Daniel Vetter
2016-03-30 10:48   ` Emil Velikov
2016-03-30 11:00   ` [Intel-gfx] " kbuild test robot
2016-03-30 11:07   ` [PATCH] " Daniel Vetter
2016-03-30 11:19     ` [Intel-gfx] " kbuild test robot
2016-03-30 11:24   ` Daniel Vetter
2016-03-30 12:53     ` Emil Velikov
2016-03-30 15:21       ` Daniel Vetter
2016-03-30  9:45 ` [PATCH 02/10] drm: Use dev->name as fallback for dev->unique Daniel Vetter
2016-03-30 10:43   ` Emil Velikov
2016-04-26 11:12     ` Daniel Vetter
2016-03-30  9:45 ` [PATCH 03/10] drm/sysfs: Annote lockless show functions with READ_ONCE Daniel Vetter
2016-04-26 11:24   ` Daniel Vetter
2016-03-30  9:45 ` [PATCH 04/10] drm/sysfs: Nuke TV/DVI property files Daniel Vetter
2016-03-30 13:49   ` Alex Deucher
2016-03-30 15:30     ` Daniel Vetter [this message]
2016-03-30  9:45 ` [PATCH 05/10] drm: Give drm_agp_clear drm_legacy_ prefix Daniel Vetter
2016-03-30 10:09   ` kbuild test robot
2016-03-30 12:59     ` [Intel-gfx] " Thierry Reding
2016-03-30  9:45 ` [PATCH 06/10] drm: Put legacy lastclose work into drm_legacy_dev_reinit Daniel Vetter
2016-03-30 13:01   ` Thierry Reding
2016-03-30  9:45 ` [PATCH 07/10] drm: Move drm_getmap into drm_bufs.c and give it a legacy prefix Daniel Vetter
2016-03-30  9:45 ` [PATCH 08/10] drm: Forbid legacy MAP functions for DRIVER_MODESET Daniel Vetter
2016-03-30 10:39   ` Emil Velikov
2016-04-14 10:06     ` Daniel Vetter
2016-04-14 13:57       ` Emil Velikov
2016-03-30  9:45 ` [PATCH 09/10] drm: Push struct_mutex into ->master_destroy Daniel Vetter
2016-03-30  9:45 ` [PATCH 10/10] drm: Hide master MAP cleanup in drm_bufs.c Daniel Vetter
2016-03-30 16:13 ` ✗ Fi.CI.BAT: failure for Another shot at cruft removal Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160330153013.GM2510@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=alexdeucher@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox