diff options
author | Kevin Hilman | 2017-01-09 12:55:29 -0800 |
---|---|---|
committer | Sekhar Nori | 2017-01-23 20:52:38 +0530 |
commit | 9c9b1bc25291e275b04f758f2549c81e092954f5 (patch) | |
tree | 400948a52e54c71b83c8881a1e77f19b4d248e04 /arch/arm/mach-davinci/pdata-quirks.c | |
parent | 7ce7d89f48834cefece7804d38fc5d85382edf77 (diff) |
ARM: davinci: add skeleton for pdata-quirks
Add skeleton pdata-quirks for davinci.
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
[nsekhar@ti.com: move changes to build pdata-quirks.c and call
to pdata_quirks_init() to this patch]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Diffstat (limited to 'arch/arm/mach-davinci/pdata-quirks.c')
-rw-r--r-- | arch/arm/mach-davinci/pdata-quirks.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/pdata-quirks.c b/arch/arm/mach-davinci/pdata-quirks.c new file mode 100644 index 000000000000..5b57da475065 --- /dev/null +++ b/arch/arm/mach-davinci/pdata-quirks.c @@ -0,0 +1,39 @@ +/* + * Legacy platform_data quirks + * + * Copyright (C) 2016 BayLibre, Inc + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include <linux/kernel.h> +#include <linux/of_platform.h> + +#include <mach/common.h> + +struct pdata_init { + const char *compatible; + void (*fn)(void); +}; + +static void pdata_quirks_check(struct pdata_init *quirks) +{ + while (quirks->compatible) { + if (of_machine_is_compatible(quirks->compatible)) { + if (quirks->fn) + quirks->fn(); + break; + } + quirks++; + } +} + +static struct pdata_init pdata_quirks[] __initdata = { + { /* sentinel */ }, +}; + +void __init pdata_quirks_init(void) +{ + pdata_quirks_check(pdata_quirks); +} |