These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / spi / spi-dw-pci.c
index 6d331e0..332ccb0 100644 (file)
 
 #define DRIVER_NAME "dw_spi_pci"
 
-struct dw_spi_pci {
-       struct pci_dev  *pdev;
-       struct dw_spi   dws;
-};
-
 struct spi_pci_desc {
        int     (*setup)(struct dw_spi *);
        u16     num_cs;
@@ -48,7 +43,6 @@ static struct spi_pci_desc spi_pci_mid_desc_2 = {
 
 static int spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
-       struct dw_spi_pci *dwpci;
        struct dw_spi *dws;
        struct spi_pci_desc *desc = (struct spi_pci_desc *)ent->driver_data;
        int pci_bar = 0;
@@ -58,14 +52,10 @@ static int spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (ret)
                return ret;
 
-       dwpci = devm_kzalloc(&pdev->dev, sizeof(struct dw_spi_pci),
-                       GFP_KERNEL);
-       if (!dwpci)
+       dws = devm_kzalloc(&pdev->dev, sizeof(*dws), GFP_KERNEL);
+       if (!dws)
                return -ENOMEM;
 
-       dwpci->pdev = pdev;
-       dws = &dwpci->dws;
-
        /* Get basic io resource and map it */
        dws->paddr = pci_resource_start(pdev, pci_bar);
 
@@ -74,7 +64,6 @@ static int spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                return ret;
 
        dws->regs = pcim_iomap_table(pdev)[pci_bar];
-
        dws->irq = pdev->irq;
 
        /*
@@ -99,7 +88,7 @@ static int spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                return ret;
 
        /* PCI hook and SPI hook use the same drv data */
-       pci_set_drvdata(pdev, dwpci);
+       pci_set_drvdata(pdev, dws);
 
        dev_info(&pdev->dev, "found PCI SPI controller(ID: %04x:%04x)\n",
                pdev->vendor, pdev->device);
@@ -109,26 +98,26 @@ static int spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 static void spi_pci_remove(struct pci_dev *pdev)
 {
-       struct dw_spi_pci *dwpci = pci_get_drvdata(pdev);
+       struct dw_spi *dws = pci_get_drvdata(pdev);
 
-       dw_spi_remove_host(&dwpci->dws);
+       dw_spi_remove_host(dws);
 }
 
 #ifdef CONFIG_PM_SLEEP
 static int spi_suspend(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
-       struct dw_spi_pci *dwpci = pci_get_drvdata(pdev);
+       struct dw_spi *dws = pci_get_drvdata(pdev);
 
-       return dw_spi_suspend_host(&dwpci->dws);
+       return dw_spi_suspend_host(dws);
 }
 
 static int spi_resume(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
-       struct dw_spi_pci *dwpci = pci_get_drvdata(pdev);
+       struct dw_spi *dws = pci_get_drvdata(pdev);
 
-       return dw_spi_resume_host(&dwpci->dws);
+       return dw_spi_resume_host(dws);
 }
 #endif