Re: [PATCH 10/10] fpga: fpga-mgr: altera-pr-ip: Simplify registration

From: Moritz Fischer
Date: Sun Oct 04 2020 - 19:39:25 EST


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@xxxxxxxxxx>
> > ---
> >
> > 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@xxxxxxxxxxxxxxx>");
> > 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