On Thu, Nov 21, 2013 at 7:49 PM, David Herrmann <dh.herrmann@xxxxxxxxx> wrote: > Hi > > On Thu, Nov 21, 2013 at 10:25 AM, Dave Airlie <airlied@xxxxxxxxx> wrote: >> On Thu, Nov 21, 2013 at 7:22 PM, Daniel Vetter <daniel@xxxxxxxx> wrote: >>> On Thu, Nov 21, 2013 at 11:51:04AM +1000, Dave Airlie wrote: >>>> 5bdebb183c9702a8c57a01dff09337be3de337a6 changed the lifetimes, but it >>>> also meant we no longer set the device_type field properly, so the >>>> hotplug events in userspace weren't fully formed enough for drivers to care. >>>> >>>> Reported-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> >>>> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> >>>> --- >>>> drivers/gpu/drm/drm_sysfs.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c >>>> index 1a35ea5..c6a3902 100644 >>>> --- a/drivers/gpu/drm/drm_sysfs.c >>>> +++ b/drivers/gpu/drm/drm_sysfs.c >>>> @@ -516,6 +516,7 @@ int drm_sysfs_device_add(struct drm_minor *minor) >>>> DRM_ERROR("device create failed %ld\n", PTR_ERR(minor->kdev)); >>>> return PTR_ERR(minor->kdev); >>>> } >>>> + minor->kdev->type = &drm_sysfs_device_minor; >>> >>> Isn't this one of the sysfs races Greg is fighting against? At least from >>> a cursor read through the driver core it looks like we'd better set the >>> dev->type before we set it up with device_create(). >> >> Possibly but how can we do that? since minor->kdev is something we >> just created 2 lines earlier >> unless there is another create function I should be calling, I don't >> see a device_create_with_type. > > See device_create_groups_vargs() in drivers/base/core.c. Just copy the > code from it and do device initialization yourself. device_create() is > only a wrapper around kzalloc()+device_register() anyway. > It does seem a bit like cut-n-paste magic to me to do that, It does however seem to be the accepted norm. Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel