ARM: OMAP2+: Add support for auxdata
For few things we're still going to be needing platform data for device tree based drivers. Let's set up auxdata handling and do it in pdata-quirks.c so we have all the legacy calls in one place. Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
f1ca221888
commit
8651bd8ce3
|
@ -35,10 +35,7 @@ static struct of_device_id omap_dt_match_table[] __initdata = {
|
||||||
|
|
||||||
static void __init omap_generic_init(void)
|
static void __init omap_generic_init(void)
|
||||||
{
|
{
|
||||||
omap_sdrc_init(NULL, NULL);
|
pdata_quirks_init(omap_dt_match_table);
|
||||||
|
|
||||||
of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
|
|
||||||
pdata_quirks_init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SOC_OMAP2420
|
#ifdef CONFIG_SOC_OMAP2420
|
||||||
|
|
|
@ -288,7 +288,8 @@ static inline void omap4_cpu_resume(void)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void pdata_quirks_init(void);
|
void pdata_quirks_init(struct of_device_id *);
|
||||||
|
void omap_pcs_legacy_init(int irq, void (*rearm)(void));
|
||||||
|
|
||||||
struct omap_sdrc_params;
|
struct omap_sdrc_params;
|
||||||
extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
|
extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/of_platform.h>
|
||||||
#include <linux/wl12xx.h>
|
#include <linux/wl12xx.h>
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
@ -104,6 +105,10 @@ static void __init omap5_uevm_legacy_init(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
|
||||||
|
{ /* sentinel */ },
|
||||||
|
};
|
||||||
|
|
||||||
static struct pdata_init pdata_quirks[] __initdata = {
|
static struct pdata_init pdata_quirks[] __initdata = {
|
||||||
#ifdef CONFIG_ARCH_OMAP3
|
#ifdef CONFIG_ARCH_OMAP3
|
||||||
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
|
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
|
||||||
|
@ -120,10 +125,14 @@ static struct pdata_init pdata_quirks[] __initdata = {
|
||||||
{ /* sentinel */ },
|
{ /* sentinel */ },
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init pdata_quirks_init(void)
|
void __init pdata_quirks_init(struct of_device_id *omap_dt_match_table)
|
||||||
{
|
{
|
||||||
struct pdata_init *quirks = pdata_quirks;
|
struct pdata_init *quirks = pdata_quirks;
|
||||||
|
|
||||||
|
omap_sdrc_init(NULL, NULL);
|
||||||
|
of_platform_populate(NULL, omap_dt_match_table,
|
||||||
|
omap_auxdata_lookup, NULL);
|
||||||
|
|
||||||
while (quirks->compatible) {
|
while (quirks->compatible) {
|
||||||
if (of_machine_is_compatible(quirks->compatible)) {
|
if (of_machine_is_compatible(quirks->compatible)) {
|
||||||
if (quirks->fn)
|
if (quirks->fn)
|
||||||
|
|
Loading…
Reference in New Issue