summaryrefslogtreecommitdiff
path: root/drivers/staging/sm750fb
diff options
context:
space:
mode:
authorMike Rapoport <mike.rapoport@gmail.com>2015-10-26 09:06:03 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-27 17:04:57 +0900
commit083c2048f53b5373de0fc463d4ad0787b66c8167 (patch)
tree3768d4255be87a2b3320720405ac722b2626edbb /drivers/staging/sm750fb
parent4fd92f51daa5748eebc2793b8da4af1bb4d37d23 (diff)
staging: sm750fb: use sm750_dev with pci_{get, set}_drvdata
Use sm750_dev as private driver data for the PCI device Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/sm750fb')
-rw-r--r--drivers/staging/sm750fb/sm750.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index ac8e2a460ce8..707e91dbfc75 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -395,6 +395,7 @@ static inline unsigned int chan_to_field(unsigned int chan,
static int lynxfb_suspend(struct pci_dev *pdev, pm_message_t mesg)
{
struct fb_info *info;
+ struct sm750_dev *sm750_dev;
struct lynx_share *share;
int ret;
@@ -402,7 +403,8 @@ static int lynxfb_suspend(struct pci_dev *pdev, pm_message_t mesg)
return 0;
ret = 0;
- share = pci_get_drvdata(pdev);
+ sm750_dev = pci_get_drvdata(pdev);
+ share = &sm750_dev->share;
switch (mesg.event) {
case PM_EVENT_FREEZE:
case PM_EVENT_PRETHAW:
@@ -453,8 +455,8 @@ static int lynxfb_resume(struct pci_dev *pdev)
int ret;
ret = 0;
- share = pci_get_drvdata(pdev);
- sm750_dev = container_of(share, struct sm750_dev, share);
+ sm750_dev = pci_get_drvdata(pdev);
+ share = &sm750_dev->share;
console_lock();
@@ -1103,7 +1105,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
pr_info("sm%3x mmio address = %p\n", share->devid, share->pvReg);
- pci_set_drvdata(pdev, share);
+ pci_set_drvdata(pdev, sm750_dev);
/* call chipInit routine */
hw_sm750_inithw(sm750_dev, pdev);
@@ -1183,7 +1185,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
int cnt;
cnt = 2;
- share = pci_get_drvdata(pdev);
+ sm750_dev = pci_get_drvdata(pdev);
+ share = &sm750_dev->share;
while (cnt-- > 0) {
info = share->fbinfo[cnt];
@@ -1199,7 +1202,6 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
iounmap(share->pvReg);
iounmap(share->pvMem);
- sm750_dev = container_of(share, struct sm750_dev, share);
kfree(g_settings);
kfree(sm750_dev);
pci_set_drvdata(pdev, NULL);