]> Git Repo - J-linux.git/blobdiff - drivers/fpga/fpga-mgr.c
Merge 5.19-rc4 into char-misc-next
[J-linux.git] / drivers / fpga / fpga-mgr.c
index d49a9ce345688ebc7404c7a9060769daaf00b47e..08dc85fcd511213bffa1a178b3594497c045b6d8 100644 (file)
@@ -148,11 +148,12 @@ static int fpga_mgr_write_init_buf(struct fpga_manager *mgr,
        int ret;
 
        mgr->state = FPGA_MGR_STATE_WRITE_INIT;
-       if (!mgr->mops->initial_header_size)
+       if (!mgr->mops->initial_header_size) {
                ret = fpga_mgr_write_init(mgr, info, NULL, 0);
-       else
-               ret = fpga_mgr_write_init(
-                   mgr, info, buf, min(mgr->mops->initial_header_size, count));
+       } else {
+               count = min(mgr->mops->initial_header_size, count);
+               ret = fpga_mgr_write_init(mgr, info, buf, count);
+       }
 
        if (ret) {
                dev_err(&mgr->dev, "Error preparing FPGA for writing\n");
@@ -622,7 +623,7 @@ fpga_mgr_register_full(struct device *parent, const struct fpga_manager_info *in
        if (!mgr)
                return ERR_PTR(-ENOMEM);
 
-       id = ida_simple_get(&fpga_mgr_ida, 0, 0, GFP_KERNEL);
+       id = ida_alloc(&fpga_mgr_ida, GFP_KERNEL);
        if (id < 0) {
                ret = id;
                goto error_kfree;
@@ -661,7 +662,7 @@ fpga_mgr_register_full(struct device *parent, const struct fpga_manager_info *in
        return mgr;
 
 error_device:
-       ida_simple_remove(&fpga_mgr_ida, id);
+       ida_free(&fpga_mgr_ida, id);
 error_kfree:
        kfree(mgr);
 
@@ -730,6 +731,8 @@ static void devm_fpga_mgr_unregister(struct device *dev, void *res)
  * @parent:    fpga manager device from pdev
  * @info:      parameters for fpga manager
  *
+ * Return:  fpga manager pointer on success, negative error code otherwise.
+ *
  * This is the devres variant of fpga_mgr_register_full() for which the unregister
  * function will be called automatically when the managing device is detached.
  */
@@ -763,6 +766,8 @@ EXPORT_SYMBOL_GPL(devm_fpga_mgr_register_full);
  * @mops:      pointer to structure of fpga manager ops
  * @priv:      fpga manager private data
  *
+ * Return:  fpga manager pointer on success, negative error code otherwise.
+ *
  * This is the devres variant of fpga_mgr_register() for which the
  * unregister function will be called automatically when the managing
  * device is detached.
@@ -785,7 +790,7 @@ static void fpga_mgr_dev_release(struct device *dev)
 {
        struct fpga_manager *mgr = to_fpga_manager(dev);
 
-       ida_simple_remove(&fpga_mgr_ida, mgr->dev.id);
+       ida_free(&fpga_mgr_ida, mgr->dev.id);
        kfree(mgr);
 }
 
This page took 0.034975 seconds and 4 git commands to generate.