staging: sm750fb: Switch to using managed resources
Subsystems (2)
cover staging: sm750fb: Switch to using managed resources
This patchset uses devres API to switch to managed resources in the sm750fb driver.
Convert the driver to use devm_kzalloc and pcim_enable_device instead of kzalloc and pci_enable_device respectively.
Amitoj Kaur Chawla (2):
staging: sm750fb: Replace kzalloc with devm_kzalloc
staging: sm750fb: Use pcim_enable_device()
drivers/staging/sm750fb/sm750.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/2 staging: sm750fb: Replace kzalloc with devm_kzalloc
Devm_ functions allocate memory that is released when a driver detaches.
Replace kzalloc with devm_kzalloc and remove corresponding kfrees from probe and remove functions of a pci_dev.
Also, an unnecessary label has been removed by replacing it with a direct return statement.
--- drivers/staging/sm750fb/sm750.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
drivers/staging/sm750fb/sm750.c +2 -5
@@ -1058,7 +1058,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,return err; err = -ENOMEM ; - sm750_dev =kzalloc (sizeof (*sm750_dev),GFP_KERNEL ); + sm750_dev =devm_kzalloc (&pdev->dev,sizeof (*sm750_dev),GFP_KERNEL );if (!sm750_dev) goto disable_pci;
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,/* call chip specific mmap routine */ err =hw_sm750_map (sm750_dev, pdev);if (err) - goto free_sm750_dev; +return err;if (!sm750_dev->mtrr_off) sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
@@ -1115,8 +1115,6 @@ static int lynxfb_pci_probe(struct pci_dev *pdev, release_fb:sm750fb_frambuffer_release (sm750_dev); -free_sm750_dev: -kfree (sm750_dev); disable_pci:pci_disable_device (pdev);return err;
@@ -1134,7 +1132,6 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)iounmap (sm750_dev->pvReg);iounmap (sm750_dev->pvMem);kfree (g_settings); -kfree (sm750_dev); }static int __init lynxfb_setup (char *options)
Signature · 1 line
1.9.1
PATCH 2/2 staging: sm750fb: Use pcim_enable_device()
In reply to Amitoj Kaur ChawlaDevm_ functions allocate memory that is released when a driver detaches.
Replace pci_enable_device with the managed pcim_enable_device and remove corresponding pci_disable_device from probe and suspend functions of a pci_dev.
Also, an unnecessary label has been removed by replacing it with a direct return statement.
--- drivers/staging/sm750fb/sm750.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
drivers/staging/sm750fb/sm750.c +2 -5
@@ -422,7 +422,6 @@ static int lynxfb_suspend(struct pci_dev *pdev, pm_message_t mesg)return ret; } -pci_disable_device (pdev); ret =pci_set_power_state (pdev,pci_choose_state (pdev, mesg));if (ret) {pr_err ("error:%d occurred in pci_set_power_state\n" , ret);
@@ -1053,14 +1052,14 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,int err;/* enable device */ - err =pci_enable_device (pdev); + err =pcim_enable_device (pdev);if (err)return err; err = -ENOMEM ; sm750_dev =devm_kzalloc (&pdev->dev,sizeof (*sm750_dev),GFP_KERNEL );if (!sm750_dev) - goto disable_pci; +return err; sm750_dev->fbinfo[0 ] = sm750_dev->fbinfo[1 ] =NULL ; sm750_dev->devid = pdev->device;
@@ -1115,8 +1114,6 @@ static int lynxfb_pci_probe(struct pci_dev *pdev, release_fb:sm750fb_frambuffer_release (sm750_dev); -disable_pci: -pci_disable_device (pdev);return err; }
Signature · 1 line
1.9.1