int mga_driver_load(struct drm_device *dev, unsigned long flags)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        drm_mga_private_t *dev_priv;
        int ret;
 
         * device is 0x0021 (HB6 Universal PCI-PCI bridge), we reject the
         * device.
         */
-       if ((dev->pdev->device == 0x0525) && dev->pdev->bus->self
-           && (dev->pdev->bus->self->vendor == 0x3388)
-           && (dev->pdev->bus->self->device == 0x0021)
+       if ((pdev->device == 0x0525) && pdev->bus->self
+           && (pdev->bus->self->vendor == 0x3388)
+           && (pdev->bus->self->device == 0x0021)
            && dev->agp) {
                /* FIXME: This should be quirked in the pci core, but oh well
                 * the hw probably stopped existing. */
        dev_priv->usec_timeout = MGA_DEFAULT_USEC_TIMEOUT;
        dev_priv->chipset = flags;
 
-       pci_set_master(dev->pdev);
+       pci_set_master(pdev);
 
-       dev_priv->mmio_base = pci_resource_start(dev->pdev, 1);
-       dev_priv->mmio_size = pci_resource_len(dev->pdev, 1);
+       dev_priv->mmio_base = pci_resource_start(pdev, 1);
+       dev_priv->mmio_size = pci_resource_len(pdev, 1);
 
        ret = drm_vblank_init(dev, 1);
 
 
 {
        drm_mga_private_t *dev_priv = dev->dev_private;
        drm_mga_getparam_t *param = data;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        int value;
 
        if (!dev_priv) {
 
        switch (param->param) {
        case MGA_PARAM_IRQ_NR:
-               value = dev->pdev->irq;
+               value = pdev->irq;
                break;
        case MGA_PARAM_CARD_TYPE:
                value = dev_priv->chipset;