mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[ARM] 5536/1: Move clk_add_alias() to arch/arm/common/clkdev.c
This can be used for other arm platforms too as discussed on the linux-arm-kernel list. Also check the return value with IS_ERR and return PTR_ERR as suggested by Russell King. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
5926a295bb
commit
c068303920
3 changed files with 31 additions and 17 deletions
|
@ -135,6 +135,24 @@ struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(clkdev_alloc);
|
EXPORT_SYMBOL(clkdev_alloc);
|
||||||
|
|
||||||
|
int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
|
||||||
|
struct device *dev)
|
||||||
|
{
|
||||||
|
struct clk *r = clk_get(dev, id);
|
||||||
|
struct clk_lookup *l;
|
||||||
|
|
||||||
|
if (IS_ERR(r))
|
||||||
|
return PTR_ERR(r);
|
||||||
|
|
||||||
|
l = clkdev_alloc(r, alias, alias_dev_name);
|
||||||
|
clk_put(r);
|
||||||
|
if (!l)
|
||||||
|
return -ENODEV;
|
||||||
|
clkdev_add(l);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(clk_add_alias);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* clkdev_drop - remove a clock dynamically allocated
|
* clkdev_drop - remove a clock dynamically allocated
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -86,20 +86,3 @@ void clks_register(struct clk_lookup *clks, size_t num)
|
||||||
for (i = 0; i < num; i++)
|
for (i = 0; i < num; i++)
|
||||||
clkdev_add(&clks[i]);
|
clkdev_add(&clks[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
|
|
||||||
struct device *dev)
|
|
||||||
{
|
|
||||||
struct clk *r = clk_get(dev, id);
|
|
||||||
struct clk_lookup *l;
|
|
||||||
|
|
||||||
if (!r)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
l = clkdev_alloc(r, alias, alias_dev_name);
|
|
||||||
clk_put(r);
|
|
||||||
if (!l)
|
|
||||||
return -ENODEV;
|
|
||||||
clkdev_add(l);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
|
@ -142,4 +142,17 @@ struct clk *clk_get_parent(struct clk *clk);
|
||||||
*/
|
*/
|
||||||
struct clk *clk_get_sys(const char *dev_id, const char *con_id);
|
struct clk *clk_get_sys(const char *dev_id, const char *con_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clk_add_alias - add a new clock alias
|
||||||
|
* @alias: name for clock alias
|
||||||
|
* @alias_dev_name: device name
|
||||||
|
* @id: platform specific clock name
|
||||||
|
* @dev: device
|
||||||
|
*
|
||||||
|
* Allows using generic clock names for drivers by adding a new alias.
|
||||||
|
* Assumes clkdev, see clkdev.h for more info.
|
||||||
|
*/
|
||||||
|
int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
|
||||||
|
struct device *dev);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue