aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOhad Ben-Cohen <ohad@wizery.com>2012-07-04 09:25:06 -0400
committerOhad Ben-Cohen <ohad@wizery.com>2012-07-05 17:53:27 -0400
commit160e7c840fe85836040c43e0058d5afced470c85 (patch)
tree65e91c7aae75ce16fa10dcdd015e664503dec1d5
parent40e575b1d0b34b38519d361c10bdf8e0c688957b (diff)
remoteproc: adopt the driver core's alloc/add/del/put naming
To make remoteproc's API more intuitive for developers, we adopt the driver core's naming, i.e. alloc -> add -> del -> put. We'll also add register/unregister when their first user shows up. Otherwise - there's no functional change here. Suggested by Russell King <linux@arm.linux.org.uk>. Cc: Russell King <linux@arm.linux.org.uk> Cc: Fernando Guzman Lugo <fernando.lugo@ti.com> Cc: Sjur Brændeland <sjur.brandeland@stericsson.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
-rw-r--r--Documentation/remoteproc.txt18
-rw-r--r--drivers/remoteproc/omap_remoteproc.c8
-rw-r--r--drivers/remoteproc/remoteproc_core.c32
-rw-r--r--include/linux/remoteproc.h6
4 files changed, 32 insertions, 32 deletions
diff --git a/Documentation/remoteproc.txt b/Documentation/remoteproc.txt
index f33c3bbbc867..23a09b884bc7 100644
--- a/Documentation/remoteproc.txt
+++ b/Documentation/remoteproc.txt
@@ -90,21 +90,21 @@ int dummy_rproc_example(struct rproc *my_rproc)
90 This function should be used by rproc implementations during 90 This function should be used by rproc implementations during
91 initialization of the remote processor. 91 initialization of the remote processor.
92 After creating an rproc handle using this function, and when ready, 92 After creating an rproc handle using this function, and when ready,
93 implementations should then call rproc_register() to complete 93 implementations should then call rproc_add() to complete
94 the registration of the remote processor. 94 the registration of the remote processor.
95 On success, the new rproc is returned, and on failure, NULL. 95 On success, the new rproc is returned, and on failure, NULL.
96 96
97 Note: _never_ directly deallocate @rproc, even if it was not registered 97 Note: _never_ directly deallocate @rproc, even if it was not registered
98 yet. Instead, when you need to unroll rproc_alloc(), use rproc_free(). 98 yet. Instead, when you need to unroll rproc_alloc(), use rproc_put().
99 99
100 void rproc_free(struct rproc *rproc) 100 void rproc_put(struct rproc *rproc)
101 - Free an rproc handle that was allocated by rproc_alloc. 101 - Free an rproc handle that was allocated by rproc_alloc.
102 This function essentially unrolls rproc_alloc(), by decrementing the 102 This function essentially unrolls rproc_alloc(), by decrementing the
103 rproc's refcount. It doesn't directly free rproc; that would happen 103 rproc's refcount. It doesn't directly free rproc; that would happen
104 only if there are no other references to rproc and its refcount now 104 only if there are no other references to rproc and its refcount now
105 dropped to zero. 105 dropped to zero.
106 106
107 int rproc_register(struct rproc *rproc) 107 int rproc_add(struct rproc *rproc)
108 - Register @rproc with the remoteproc framework, after it has been 108 - Register @rproc with the remoteproc framework, after it has been
109 allocated with rproc_alloc(). 109 allocated with rproc_alloc().
110 This is called by the platform-specific rproc implementation, whenever 110 This is called by the platform-specific rproc implementation, whenever
@@ -117,15 +117,15 @@ int dummy_rproc_example(struct rproc *my_rproc)
117 of registering this remote processor, additional virtio drivers might get 117 of registering this remote processor, additional virtio drivers might get
118 probed. 118 probed.
119 119
120 int rproc_unregister(struct rproc *rproc) 120 int rproc_del(struct rproc *rproc)
121 - Unroll rproc_register(). 121 - Unroll rproc_add().
122 This function should be called when the platform specific rproc 122 This function should be called when the platform specific rproc
123 implementation decides to remove the rproc device. it should 123 implementation decides to remove the rproc device. it should
124 _only_ be called if a previous invocation of rproc_register() 124 _only_ be called if a previous invocation of rproc_add()
125 has completed successfully. 125 has completed successfully.
126 126
127 After rproc_unregister() returns, @rproc is still valid, and its 127 After rproc_del() returns, @rproc is still valid, and its
128 last refcount should be decremented by calling rproc_free(). 128 last refcount should be decremented by calling rproc_put().
129 129
130 Returns 0 on success and -EINVAL if @rproc isn't valid. 130 Returns 0 on success and -EINVAL if @rproc isn't valid.
131 131
diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c
index 4f2fe8fd7fe6..02bae3a5264f 100644
--- a/drivers/remoteproc/omap_remoteproc.c
+++ b/drivers/remoteproc/omap_remoteproc.c
@@ -199,14 +199,14 @@ static int __devinit omap_rproc_probe(struct platform_device *pdev)
199 199
200 platform_set_drvdata(pdev, rproc); 200 platform_set_drvdata(pdev, rproc);
201 201
202 ret = rproc_register(rproc); 202 ret = rproc_add(rproc);
203 if (ret) 203 if (ret)
204 goto free_rproc; 204 goto free_rproc;
205 205
206 return 0; 206 return 0;
207 207
208free_rproc: 208free_rproc:
209 rproc_free(rproc); 209 rproc_put(rproc);
210 return ret; 210 return ret;
211} 211}
212 212
@@ -214,8 +214,8 @@ static int __devexit omap_rproc_remove(struct platform_device *pdev)
214{ 214{
215 struct rproc *rproc = platform_get_drvdata(pdev); 215 struct rproc *rproc = platform_get_drvdata(pdev);
216 216
217 rproc_unregister(rproc); 217 rproc_del(rproc);
218 rproc_free(rproc); 218 rproc_put(rproc);
219 219
220 return 0; 220 return 0;
221} 221}
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 0c77c4fcf436..25fd9733d5df 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -1101,7 +1101,7 @@ static void rproc_fw_config_virtio(const struct firmware *fw, void *context)
1101 1101
1102out: 1102out:
1103 release_firmware(fw); 1103 release_firmware(fw);
1104 /* allow rproc_unregister() contexts, if any, to proceed */ 1104 /* allow rproc_del() contexts, if any, to proceed */
1105 complete_all(&rproc->firmware_loading_complete); 1105 complete_all(&rproc->firmware_loading_complete);
1106} 1106}
1107 1107
@@ -1238,7 +1238,7 @@ out:
1238EXPORT_SYMBOL(rproc_shutdown); 1238EXPORT_SYMBOL(rproc_shutdown);
1239 1239
1240/** 1240/**
1241 * rproc_register() - register a remote processor 1241 * rproc_add() - register a remote processor
1242 * @rproc: the remote processor handle to register 1242 * @rproc: the remote processor handle to register
1243 * 1243 *
1244 * Registers @rproc with the remoteproc framework, after it has been 1244 * Registers @rproc with the remoteproc framework, after it has been
@@ -1257,7 +1257,7 @@ EXPORT_SYMBOL(rproc_shutdown);
1257 * of registering this remote processor, additional virtio drivers might be 1257 * of registering this remote processor, additional virtio drivers might be
1258 * probed. 1258 * probed.
1259 */ 1259 */
1260int rproc_register(struct rproc *rproc) 1260int rproc_add(struct rproc *rproc)
1261{ 1261{
1262 struct device *dev = &rproc->dev; 1262 struct device *dev = &rproc->dev;
1263 int ret = 0; 1263 int ret = 0;
@@ -1274,7 +1274,7 @@ int rproc_register(struct rproc *rproc)
1274 /* create debugfs entries */ 1274 /* create debugfs entries */
1275 rproc_create_debug_dir(rproc); 1275 rproc_create_debug_dir(rproc);
1276 1276
1277 /* rproc_unregister() calls must wait until async loader completes */ 1277 /* rproc_del() calls must wait until async loader completes */
1278 init_completion(&rproc->firmware_loading_complete); 1278 init_completion(&rproc->firmware_loading_complete);
1279 1279
1280 /* 1280 /*
@@ -1295,7 +1295,7 @@ int rproc_register(struct rproc *rproc)
1295 1295
1296 return ret; 1296 return ret;
1297} 1297}
1298EXPORT_SYMBOL(rproc_register); 1298EXPORT_SYMBOL(rproc_add);
1299 1299
1300/** 1300/**
1301 * rproc_type_release() - release a remote processor instance 1301 * rproc_type_release() - release a remote processor instance
@@ -1343,13 +1343,13 @@ static struct device_type rproc_type = {
1343 * of the remote processor. 1343 * of the remote processor.
1344 * 1344 *
1345 * After creating an rproc handle using this function, and when ready, 1345 * After creating an rproc handle using this function, and when ready,
1346 * implementations should then call rproc_register() to complete 1346 * implementations should then call rproc_add() to complete
1347 * the registration of the remote processor. 1347 * the registration of the remote processor.
1348 * 1348 *
1349 * On success the new rproc is returned, and on failure, NULL. 1349 * On success the new rproc is returned, and on failure, NULL.
1350 * 1350 *
1351 * Note: _never_ directly deallocate @rproc, even if it was not registered 1351 * Note: _never_ directly deallocate @rproc, even if it was not registered
1352 * yet. Instead, when you need to unroll rproc_alloc(), use rproc_free(). 1352 * yet. Instead, when you need to unroll rproc_alloc(), use rproc_put().
1353 */ 1353 */
1354struct rproc *rproc_alloc(struct device *dev, const char *name, 1354struct rproc *rproc_alloc(struct device *dev, const char *name,
1355 const struct rproc_ops *ops, 1355 const struct rproc_ops *ops,
@@ -1403,7 +1403,7 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
1403EXPORT_SYMBOL(rproc_alloc); 1403EXPORT_SYMBOL(rproc_alloc);
1404 1404
1405/** 1405/**
1406 * rproc_free() - unroll rproc_alloc() 1406 * rproc_put() - unroll rproc_alloc()
1407 * @rproc: the remote processor handle 1407 * @rproc: the remote processor handle
1408 * 1408 *
1409 * This function decrements the rproc dev refcount. 1409 * This function decrements the rproc dev refcount.
@@ -1411,28 +1411,28 @@ EXPORT_SYMBOL(rproc_alloc);
1411 * If no one holds any reference to rproc anymore, then its refcount would 1411 * If no one holds any reference to rproc anymore, then its refcount would
1412 * now drop to zero, and it would be freed. 1412 * now drop to zero, and it would be freed.
1413 */ 1413 */
1414void rproc_free(struct rproc *rproc) 1414void rproc_put(struct rproc *rproc)
1415{ 1415{
1416 put_device(&rproc->dev); 1416 put_device(&rproc->dev);
1417} 1417}
1418EXPORT_SYMBOL(rproc_free); 1418EXPORT_SYMBOL(rproc_put);
1419 1419
1420/** 1420/**
1421 * rproc_unregister() - unregister a remote processor 1421 * rproc_del() - unregister a remote processor
1422 * @rproc: rproc handle to unregister 1422 * @rproc: rproc handle to unregister
1423 * 1423 *
1424 * This function should be called when the platform specific rproc 1424 * This function should be called when the platform specific rproc
1425 * implementation decides to remove the rproc device. it should 1425 * implementation decides to remove the rproc device. it should
1426 * _only_ be called if a previous invocation of rproc_register() 1426 * _only_ be called if a previous invocation of rproc_add()
1427 * has completed successfully. 1427 * has completed successfully.
1428 * 1428 *
1429 * After rproc_unregister() returns, @rproc isn't freed yet, because 1429 * After rproc_del() returns, @rproc isn't freed yet, because
1430 * of the outstanding reference created by rproc_alloc. To decrement that 1430 * of the outstanding reference created by rproc_alloc. To decrement that
1431 * one last refcount, one still needs to call rproc_free(). 1431 * one last refcount, one still needs to call rproc_put().
1432 * 1432 *
1433 * Returns 0 on success and -EINVAL if @rproc isn't valid. 1433 * Returns 0 on success and -EINVAL if @rproc isn't valid.
1434 */ 1434 */
1435int rproc_unregister(struct rproc *rproc) 1435int rproc_del(struct rproc *rproc)
1436{ 1436{
1437 struct rproc_vdev *rvdev, *tmp; 1437 struct rproc_vdev *rvdev, *tmp;
1438 1438
@@ -1450,7 +1450,7 @@ int rproc_unregister(struct rproc *rproc)
1450 1450
1451 return 0; 1451 return 0;
1452} 1452}
1453EXPORT_SYMBOL(rproc_unregister); 1453EXPORT_SYMBOL(rproc_del);
1454 1454
1455static int __init remoteproc_init(void) 1455static int __init remoteproc_init(void)
1456{ 1456{
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h
index b88d6af5ba52..eea3ac86b2b7 100644
--- a/include/linux/remoteproc.h
+++ b/include/linux/remoteproc.h
@@ -452,9 +452,9 @@ struct rproc_vdev {
452struct rproc *rproc_alloc(struct device *dev, const char *name, 452struct rproc *rproc_alloc(struct device *dev, const char *name,
453 const struct rproc_ops *ops, 453 const struct rproc_ops *ops,
454 const char *firmware, int len); 454 const char *firmware, int len);
455void rproc_free(struct rproc *rproc); 455void rproc_put(struct rproc *rproc);
456int rproc_register(struct rproc *rproc); 456int rproc_add(struct rproc *rproc);
457int rproc_unregister(struct rproc *rproc); 457int rproc_del(struct rproc *rproc);
458 458
459int rproc_boot(struct rproc *rproc); 459int rproc_boot(struct rproc *rproc);
460void rproc_shutdown(struct rproc *rproc); 460void rproc_shutdown(struct rproc *rproc);