Message ID | 20201004051423.75879-11-mdf@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduce devm_fpga_mgr_register() | expand |
On 10/3/20 10:14 PM, Moritz Fischer wrote: > Simplify registration using new devm_fpga_mgr_register() API. > Remove the now obsolete altera_pr_unregister() function. > > Signed-off-by: Moritz Fischer <mdf@kernel.org> > --- > > We should take another look at this, IIRC correctly the point of > splitting this up into a separate driver was to make it useable by a > different (pci?) driver later on. > > It doesn't seem like this happened, and I think we should just make this > a platform driver? > > --- > drivers/fpga/altera-pr-ip-core-plat.c | 10 ---------- > drivers/fpga/altera-pr-ip-core.c | 14 +------------- > include/linux/fpga/altera-pr-ip-core.h | 1 - > 3 files changed, 1 insertion(+), 24 deletions(-) > > diff --git a/drivers/fpga/altera-pr-ip-core-plat.c b/drivers/fpga/altera-pr-ip-core-plat.c > index 99b9cc0e70f0..b008a6b8d2d3 100644 > --- a/drivers/fpga/altera-pr-ip-core-plat.c > +++ b/drivers/fpga/altera-pr-ip-core-plat.c > @@ -28,15 +28,6 @@ static int alt_pr_platform_probe(struct platform_device *pdev) > return alt_pr_register(dev, reg_base); > } > > -static int alt_pr_platform_remove(struct platform_device *pdev) > -{ > - struct device *dev = &pdev->dev; > - > - alt_pr_unregister(dev); > - > - return 0; > -} > - > static const struct of_device_id alt_pr_of_match[] = { > { .compatible = "altr,a10-pr-ip", }, > {}, > @@ -46,7 +37,6 @@ MODULE_DEVICE_TABLE(of, alt_pr_of_match); > > static struct platform_driver alt_pr_platform_driver = { > .probe = alt_pr_platform_probe, > - .remove = alt_pr_platform_remove, > .driver = { > .name = "alt_a10_pr_ip", > .of_match_table = alt_pr_of_match, > diff --git a/drivers/fpga/altera-pr-ip-core.c b/drivers/fpga/altera-pr-ip-core.c > index 2cf25fd5e897..dfdf21ed34c4 100644 > --- a/drivers/fpga/altera-pr-ip-core.c > +++ b/drivers/fpga/altera-pr-ip-core.c > @@ -195,22 +195,10 @@ int alt_pr_register(struct device *dev, void __iomem *reg_base) > if (!mgr) > return -ENOMEM; > > - dev_set_drvdata(dev, mgr); > - > - return fpga_mgr_register(mgr); > + return devm_fpga_mgr_register(dev, mgr); > } > EXPORT_SYMBOL_GPL(alt_pr_register); > > -void alt_pr_unregister(struct device *dev) > -{ > - struct fpga_manager *mgr = dev_get_drvdata(dev); > - > - dev_dbg(dev, "%s\n", __func__); > - > - fpga_mgr_unregister(mgr); > -} > -EXPORT_SYMBOL_GPL(alt_pr_unregister); Similar to the others, except for removing this symbol. A patch should do one logical thing. I'd rather this be split out of the patchset. Tom > - > MODULE_AUTHOR("Matthew Gerlach <matthew.gerlach@linux.intel.com>"); > MODULE_DESCRIPTION("Altera Partial Reconfiguration IP Core"); > MODULE_LICENSE("GPL v2"); > diff --git a/include/linux/fpga/altera-pr-ip-core.h b/include/linux/fpga/altera-pr-ip-core.h > index 0b08ac20ab16..a6b4c07858cc 100644 > --- a/include/linux/fpga/altera-pr-ip-core.h > +++ b/include/linux/fpga/altera-pr-ip-core.h > @@ -13,6 +13,5 @@ > #include <linux/io.h> > > int alt_pr_register(struct device *dev, void __iomem *reg_base); > -void alt_pr_unregister(struct device *dev); > > #endif /* _ALT_PR_IP_CORE_H */
On Sun, Oct 04, 2020 at 11:47:26AM -0700, Tom Rix wrote: > > On 10/3/20 10:14 PM, Moritz Fischer wrote: > > Simplify registration using new devm_fpga_mgr_register() API. > > Remove the now obsolete altera_pr_unregister() function. > > > > Signed-off-by: Moritz Fischer <mdf@kernel.org> > > --- > > > > We should take another look at this, IIRC correctly the point of > > splitting this up into a separate driver was to make it useable by a > > different (pci?) driver later on. > > > > It doesn't seem like this happened, and I think we should just make this > > a platform driver? > > > > --- > > drivers/fpga/altera-pr-ip-core-plat.c | 10 ---------- > > drivers/fpga/altera-pr-ip-core.c | 14 +------------- > > include/linux/fpga/altera-pr-ip-core.h | 1 - > > 3 files changed, 1 insertion(+), 24 deletions(-) > > > > diff --git a/drivers/fpga/altera-pr-ip-core-plat.c b/drivers/fpga/altera-pr-ip-core-plat.c > > index 99b9cc0e70f0..b008a6b8d2d3 100644 > > --- a/drivers/fpga/altera-pr-ip-core-plat.c > > +++ b/drivers/fpga/altera-pr-ip-core-plat.c > > @@ -28,15 +28,6 @@ static int alt_pr_platform_probe(struct platform_device *pdev) > > return alt_pr_register(dev, reg_base); > > } > > > > -static int alt_pr_platform_remove(struct platform_device *pdev) > > -{ > > - struct device *dev = &pdev->dev; > > - > > - alt_pr_unregister(dev); > > - > > - return 0; > > -} > > - > > static const struct of_device_id alt_pr_of_match[] = { > > { .compatible = "altr,a10-pr-ip", }, > > {}, > > @@ -46,7 +37,6 @@ MODULE_DEVICE_TABLE(of, alt_pr_of_match); > > > > static struct platform_driver alt_pr_platform_driver = { > > .probe = alt_pr_platform_probe, > > - .remove = alt_pr_platform_remove, > > .driver = { > > .name = "alt_a10_pr_ip", > > .of_match_table = alt_pr_of_match, > > diff --git a/drivers/fpga/altera-pr-ip-core.c b/drivers/fpga/altera-pr-ip-core.c > > index 2cf25fd5e897..dfdf21ed34c4 100644 > > --- a/drivers/fpga/altera-pr-ip-core.c > > +++ b/drivers/fpga/altera-pr-ip-core.c > > @@ -195,22 +195,10 @@ int alt_pr_register(struct device *dev, void __iomem *reg_base) > > if (!mgr) > > return -ENOMEM; > > > > - dev_set_drvdata(dev, mgr); > > - > > - return fpga_mgr_register(mgr); > > + return devm_fpga_mgr_register(dev, mgr); > > } > > EXPORT_SYMBOL_GPL(alt_pr_register); > > > > -void alt_pr_unregister(struct device *dev) > > -{ > > - struct fpga_manager *mgr = dev_get_drvdata(dev); > > - > > - dev_dbg(dev, "%s\n", __func__); > > - > > - fpga_mgr_unregister(mgr); > > -} > > -EXPORT_SYMBOL_GPL(alt_pr_unregister); > > Similar to the others, except for removing this symbol. > > A patch should do one logical thing. I was on the fence with this. Tbh, this driver should be a platform driver. I'll create a separate series for that. > > I'd rather this be split out of the patchset. > > Tom > > > - > > MODULE_AUTHOR("Matthew Gerlach <matthew.gerlach@linux.intel.com>"); > > MODULE_DESCRIPTION("Altera Partial Reconfiguration IP Core"); > > MODULE_LICENSE("GPL v2"); > > diff --git a/include/linux/fpga/altera-pr-ip-core.h b/include/linux/fpga/altera-pr-ip-core.h > > index 0b08ac20ab16..a6b4c07858cc 100644 > > --- a/include/linux/fpga/altera-pr-ip-core.h > > +++ b/include/linux/fpga/altera-pr-ip-core.h > > @@ -13,6 +13,5 @@ > > #include <linux/io.h> > > > > int alt_pr_register(struct device *dev, void __iomem *reg_base); > > -void alt_pr_unregister(struct device *dev); > > > > #endif /* _ALT_PR_IP_CORE_H */ > Cheers, Moritz
diff --git a/drivers/fpga/altera-pr-ip-core-plat.c b/drivers/fpga/altera-pr-ip-core-plat.c index 99b9cc0e70f0..b008a6b8d2d3 100644 --- a/drivers/fpga/altera-pr-ip-core-plat.c +++ b/drivers/fpga/altera-pr-ip-core-plat.c @@ -28,15 +28,6 @@ static int alt_pr_platform_probe(struct platform_device *pdev) return alt_pr_register(dev, reg_base); } -static int alt_pr_platform_remove(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - - alt_pr_unregister(dev); - - return 0; -} - static const struct of_device_id alt_pr_of_match[] = { { .compatible = "altr,a10-pr-ip", }, {}, @@ -46,7 +37,6 @@ MODULE_DEVICE_TABLE(of, alt_pr_of_match); static struct platform_driver alt_pr_platform_driver = { .probe = alt_pr_platform_probe, - .remove = alt_pr_platform_remove, .driver = { .name = "alt_a10_pr_ip", .of_match_table = alt_pr_of_match, diff --git a/drivers/fpga/altera-pr-ip-core.c b/drivers/fpga/altera-pr-ip-core.c index 2cf25fd5e897..dfdf21ed34c4 100644 --- a/drivers/fpga/altera-pr-ip-core.c +++ b/drivers/fpga/altera-pr-ip-core.c @@ -195,22 +195,10 @@ int alt_pr_register(struct device *dev, void __iomem *reg_base) if (!mgr) return -ENOMEM; - dev_set_drvdata(dev, mgr); - - return fpga_mgr_register(mgr); + return devm_fpga_mgr_register(dev, mgr); } EXPORT_SYMBOL_GPL(alt_pr_register); -void alt_pr_unregister(struct device *dev) -{ - struct fpga_manager *mgr = dev_get_drvdata(dev); - - dev_dbg(dev, "%s\n", __func__); - - fpga_mgr_unregister(mgr); -} -EXPORT_SYMBOL_GPL(alt_pr_unregister); - MODULE_AUTHOR("Matthew Gerlach <matthew.gerlach@linux.intel.com>"); MODULE_DESCRIPTION("Altera Partial Reconfiguration IP Core"); MODULE_LICENSE("GPL v2"); diff --git a/include/linux/fpga/altera-pr-ip-core.h b/include/linux/fpga/altera-pr-ip-core.h index 0b08ac20ab16..a6b4c07858cc 100644 --- a/include/linux/fpga/altera-pr-ip-core.h +++ b/include/linux/fpga/altera-pr-ip-core.h @@ -13,6 +13,5 @@ #include <linux/io.h> int alt_pr_register(struct device *dev, void __iomem *reg_base); -void alt_pr_unregister(struct device *dev); #endif /* _ALT_PR_IP_CORE_H */
Simplify registration using new devm_fpga_mgr_register() API. Remove the now obsolete altera_pr_unregister() function. Signed-off-by: Moritz Fischer <mdf@kernel.org> --- We should take another look at this, IIRC correctly the point of splitting this up into a separate driver was to make it useable by a different (pci?) driver later on. It doesn't seem like this happened, and I think we should just make this a platform driver? --- drivers/fpga/altera-pr-ip-core-plat.c | 10 ---------- drivers/fpga/altera-pr-ip-core.c | 14 +------------- include/linux/fpga/altera-pr-ip-core.h | 1 - 3 files changed, 1 insertion(+), 24 deletions(-)