[PATCH 01/12] drm: remove kdriver union from struct drm_driver
Sascha Hauer
s.hauer at pengutronix.de
Thu Feb 2 03:57:53 PST 2012
struct drm_driver has a union containing the different drivers.
This field is unused in case of a usb or platform device. For
pci devices it is only used in drm_pci_get_name() which uses
the pci_driver to return the pci driver name. For all existing
drm drivers this driver name matches the struct drm_device->name,
so return this name instead and remove the now unnecessary code.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/gpu/drm/drm_pci.c | 10 +++-------
drivers/gpu/drm/drm_platform.c | 1 -
drivers/gpu/drm/drm_usb.c | 1 -
include/drm/drmP.h | 5 -----
4 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c
index d4d10b7..1c06d3a 100644
--- a/drivers/gpu/drm/drm_pci.c
+++ b/drivers/gpu/drm/drm_pci.c
@@ -148,14 +148,12 @@ static int drm_pci_get_irq(struct drm_device *dev)
static const char *drm_pci_get_name(struct drm_device *dev)
{
- struct pci_driver *pdriver = dev->driver->kdriver.pci;
- return pdriver->name;
+ return dev->driver->name;
}
int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master)
{
int len, ret;
- struct pci_driver *pdriver = dev->driver->kdriver.pci;
master->unique_len = 40;
master->unique_size = master->unique_len;
master->unique = kmalloc(master->unique_size, GFP_KERNEL);
@@ -178,7 +176,7 @@ int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master)
master->unique_len = len;
dev->devname =
- kmalloc(strlen(pdriver->name) +
+ kmalloc(strlen(dev->driver->name) +
master->unique_len + 2, GFP_KERNEL);
if (dev->devname == NULL) {
@@ -186,8 +184,7 @@ int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master)
goto err;
}
- sprintf(dev->devname, "%s@%s", pdriver->name,
- master->unique);
+ sprintf(dev->devname, "%s@%s", dev->driver->name, master->unique);
return 0;
err:
@@ -410,7 +407,6 @@ int drm_pci_init(struct drm_driver *driver, struct pci_driver *pdriver)
DRM_DEBUG("\n");
INIT_LIST_HEAD(&driver->device_list);
- driver->kdriver.pci = pdriver;
driver->bus = &drm_pci_bus;
if (driver->driver_features & DRIVER_MODESET)
diff --git a/drivers/gpu/drm/drm_platform.c b/drivers/gpu/drm/drm_platform.c
index ae9db5e..f21243c 100644
--- a/drivers/gpu/drm/drm_platform.c
+++ b/drivers/gpu/drm/drm_platform.c
@@ -179,7 +179,6 @@ int drm_platform_init(struct drm_driver *driver, struct platform_device *platfor
{
DRM_DEBUG("\n");
- driver->kdriver.platform_device = platform_device;
driver->bus = &drm_platform_bus;
INIT_LIST_HEAD(&driver->device_list);
return drm_get_platform_dev(platform_device, driver);
diff --git a/drivers/gpu/drm/drm_usb.c b/drivers/gpu/drm/drm_usb.c
index 445003f..bd7fe72 100644
--- a/drivers/gpu/drm/drm_usb.c
+++ b/drivers/gpu/drm/drm_usb.c
@@ -101,7 +101,6 @@ int drm_usb_init(struct drm_driver *driver, struct usb_driver *udriver)
DRM_DEBUG("\n");
INIT_LIST_HEAD(&driver->device_list);
- driver->kdriver.usb = udriver;
driver->bus = &drm_usb_bus;
res = usb_register(udriver);
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 92f0981..38b95cb 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -919,11 +919,6 @@ struct drm_driver {
struct drm_ioctl_desc *ioctls;
int num_ioctls;
const struct file_operations *fops;
- union {
- struct pci_driver *pci;
- struct platform_device *platform_device;
- struct usb_driver *usb;
- } kdriver;
struct drm_bus *bus;
/* List of devices hanging off this driver */
--
1.7.8.3
More information about the dri-devel
mailing list