Hmm, Wasn't this at some point intended for server-free operation? Anyway, dri_library_name is misleading since there are other dri clients than OpenGL...
/Thomas Kristian Høgsberg wrote: > Hey; comments on this? Can we put it in one of the git tree so it > doesn't fall through the cracks? It's pretty harmless and could be > merged for the 2.6.29 kernel, or we could push it the the next merge > window if it's not suitable for the rc phase. Either way, we need to > squash this. > > cheers, > Kristian > > On Mon, Jan 5, 2009 at 4:10 PM, Kristian Høgsberg <k...@redhat.com> wrote: > >> The kernel shouldn't be in the business of telling user space which >> driver to load. The kernel defers mapping PCI IDs to module names >> to user space and we should do the same for DRI drivers. >> >> And in fact, that's how it does work today. Nothing uses the >> dri_library_name attribute, and the attribute is in fact broken. >> For intel devices, it falls back to the default behaviour of returning >> the kernel module name as the DRI driver name, which doesn't work for >> i965 devices. Nobody has ever hit this problem or filed a bug about this. >> >> Signed-off-by: Kristian Høgsberg <k...@redhat.com> >> --- >> drivers/gpu/drm/drm_sysfs.c | 29 ----------------------------- >> drivers/gpu/drm/radeon/radeon_drv.c | 12 ------------ >> drivers/gpu/drm/via/via_drv.c | 6 ------ >> include/drm/drmP.h | 1 - >> 4 files changed, 0 insertions(+), 48 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c >> index 65d72d0..f922c0b 100644 >> --- a/drivers/gpu/drm/drm_sysfs.c >> +++ b/drivers/gpu/drm/drm_sysfs.c >> @@ -118,20 +118,6 @@ void drm_sysfs_destroy(void) >> class_destroy(drm_class); >> } >> >> -static ssize_t show_dri(struct device *device, struct device_attribute >> *attr, >> - char *buf) >> -{ >> - struct drm_minor *drm_minor = to_drm_minor(device); >> - struct drm_device *drm_dev = drm_minor->dev; >> - if (drm_dev->driver->dri_library_name) >> - return drm_dev->driver->dri_library_name(drm_dev, buf); >> - return snprintf(buf, PAGE_SIZE, "%s\n", >> drm_dev->driver->pci_driver.name); >> -} >> - >> -static struct device_attribute device_attrs[] = { >> - __ATTR(dri_library_name, S_IRUGO, show_dri, NULL), >> -}; >> - >> /** >> * drm_sysfs_device_release - do nothing >> * @dev: Linux device >> @@ -474,7 +460,6 @@ void drm_sysfs_hotplug_event(struct drm_device *dev) >> int drm_sysfs_device_add(struct drm_minor *minor) >> { >> int err; >> - int i, j; >> char *minor_str; >> >> minor->kdev.parent = &minor->dev->pdev->dev; >> @@ -496,18 +481,8 @@ int drm_sysfs_device_add(struct drm_minor *minor) >> goto err_out; >> } >> >> - for (i = 0; i < ARRAY_SIZE(device_attrs); i++) { >> - err = device_create_file(&minor->kdev, &device_attrs[i]); >> - if (err) >> - goto err_out_files; >> - } >> - >> return 0; >> >> -err_out_files: >> - if (i > 0) >> - for (j = 0; j < i; j++) >> - device_remove_file(&minor->kdev, &device_attrs[j]); >> device_unregister(&minor->kdev); >> err_out: >> >> @@ -523,9 +498,5 @@ err_out: >> */ >> void drm_sysfs_device_remove(struct drm_minor *minor) >> { >> - int i; >> - >> - for (i = 0; i < ARRAY_SIZE(device_attrs); i++) >> - device_remove_file(&minor->kdev, &device_attrs[i]); >> device_unregister(&minor->kdev); >> } >> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c >> b/drivers/gpu/drm/radeon/radeon_drv.c >> index 71af746..971f380 100644 >> --- a/drivers/gpu/drm/radeon/radeon_drv.c >> +++ b/drivers/gpu/drm/radeon/radeon_drv.c >> @@ -41,17 +41,6 @@ int radeon_no_wb; >> MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); >> module_param_named(no_wb, radeon_no_wb, int, 0444); >> >> -static int dri_library_name(struct drm_device *dev, char *buf) >> -{ >> - drm_radeon_private_t *dev_priv = dev->dev_private; >> - int family = dev_priv->flags & RADEON_FAMILY_MASK; >> - >> - return snprintf(buf, PAGE_SIZE, "%s\n", >> - (family < CHIP_R200) ? "radeon" : >> - ((family < CHIP_R300) ? "r200" : >> - "r300")); >> -} >> - >> static int radeon_suspend(struct drm_device *dev, pm_message_t state) >> { >> drm_radeon_private_t *dev_priv = dev->dev_private; >> @@ -95,7 +84,6 @@ static struct drm_driver driver = { >> .get_vblank_counter = radeon_get_vblank_counter, >> .enable_vblank = radeon_enable_vblank, >> .disable_vblank = radeon_disable_vblank, >> - .dri_library_name = dri_library_name, >> .irq_preinstall = radeon_driver_irq_preinstall, >> .irq_postinstall = radeon_driver_irq_postinstall, >> .irq_uninstall = radeon_driver_irq_uninstall, >> diff --git a/drivers/gpu/drm/via/via_drv.c b/drivers/gpu/drm/via/via_drv.c >> index 0993b44..bc2f518 100644 >> --- a/drivers/gpu/drm/via/via_drv.c >> +++ b/drivers/gpu/drm/via/via_drv.c >> @@ -28,11 +28,6 @@ >> >> #include "drm_pciids.h" >> >> -static int dri_library_name(struct drm_device *dev, char *buf) >> -{ >> - return snprintf(buf, PAGE_SIZE, "unichrome"); >> -} >> - >> static struct pci_device_id pciidlist[] = { >> viadrv_PCI_IDS >> }; >> @@ -52,7 +47,6 @@ static struct drm_driver driver = { >> .irq_uninstall = via_driver_irq_uninstall, >> .irq_handler = via_driver_irq_handler, >> .dma_quiescent = via_driver_dma_quiescent, >> - .dri_library_name = dri_library_name, >> .reclaim_buffers = drm_core_reclaim_buffers, >> .reclaim_buffers_locked = NULL, >> .reclaim_buffers_idlelocked = via_reclaim_buffers_locked, >> diff --git a/include/drm/drmP.h b/include/drm/drmP.h >> index 7802c80..63a1bb3 100644 >> --- a/include/drm/drmP.h >> +++ b/include/drm/drmP.h >> @@ -682,7 +682,6 @@ struct drm_driver { >> int (*kernel_context_switch) (struct drm_device *dev, int old, >> int new); >> void (*kernel_context_switch_unlock) (struct drm_device *dev); >> - int (*dri_library_name) (struct drm_device *dev, char *buf); >> >> /** >> * get_vblank_counter - get raw hardware vblank counter >> -- >> 1.6.1 >> >> >> ------------------------------------------------------------------------------ >> -- >> _______________________________________________ >> Dri-devel mailing list >> Dri-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/dri-devel >> >> > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > -- > _______________________________________________ > Dri-devel mailing list > Dri-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dri-devel > ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel