sh: Support early clkdev allocations.
early platform devices and the like may need to set up clock aliases, which require an allocation at a time well before the slab allocators are available. The clock framework comes up after bootmem, so using bootmem as a fallback should be sufficient. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
51a5006afc
commit
2e733b3f84
|
@ -20,6 +20,9 @@
|
|||
#include <linux/string.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/mm.h>
|
||||
#include <asm/clock.h>
|
||||
#include <asm/clkdev.h>
|
||||
|
||||
|
@ -103,12 +106,16 @@ struct clk_lookup_alloc {
|
|||
char con_id[MAX_CON_ID];
|
||||
};
|
||||
|
||||
struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
|
||||
const char *dev_fmt, ...)
|
||||
struct clk_lookup * __init_refok
|
||||
clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...)
|
||||
{
|
||||
struct clk_lookup_alloc *cla;
|
||||
|
||||
cla = kzalloc(sizeof(*cla), GFP_KERNEL);
|
||||
if (!slab_is_available())
|
||||
cla = alloc_bootmem_low_pages(sizeof(*cla));
|
||||
else
|
||||
cla = kzalloc(sizeof(*cla), GFP_KERNEL);
|
||||
|
||||
if (!cla)
|
||||
return NULL;
|
||||
|
||||
|
|
Loading…
Reference in New Issue